1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.managewferror.business.service;
35
36 import fr.paris.lutece.plugins.managewferror.business.Config;
37 import fr.paris.lutece.plugins.managewferror.business.ConfigHome;
38 import fr.paris.lutece.plugins.managewferror.business.MappingAction;
39 import fr.paris.lutece.portal.service.plugin.Plugin;
40 import fr.paris.lutece.portal.service.plugin.PluginService;
41 import fr.paris.lutece.portal.service.util.AppException;
42 import fr.paris.lutece.util.sql.TransactionManager;
43
44 public class ConfigService
45 {
46
47 private static ConfigService _configService;
48
49
50 public static ConfigService getService( )
51 {
52 if ( _configService == null )
53 {
54
55 _configService = new ConfigService( );
56
57 }
58
59 return _configService;
60 }
61
62 public Config createConfig( Config config )
63 {
64
65 Plugin plugin = PluginService.getPlugin( ConfigResourceIdService.PLUGIN_NAME );
66 TransactionManager.beginTransaction( plugin );
67 Config conf = null;
68 try
69 {
70 conf = ConfigHome.create( config );
71 for ( MappingAction mapping : config.getListActionMapping( ) )
72 {
73 mapping.setIdConfig( config.getId( ) );
74 ConfigHome.createMapping( mapping );
75 }
76 TransactionManager.commitTransaction( plugin );
77
78 }
79 catch( Exception e )
80 {
81 TransactionManager.rollBack( plugin );
82 throw new AppException( e.getMessage( ), e );
83 }
84
85 return conf;
86 }
87
88 public void removeConfig( int nKey )
89 {
90
91 Plugin plugin = PluginService.getPlugin( ConfigResourceIdService.PLUGIN_NAME );
92 TransactionManager.beginTransaction( plugin );
93
94 try
95 {
96 ConfigHome.removeMappingByIdForm( nKey );
97 ConfigHome.remove( nKey );
98
99 TransactionManager.commitTransaction( plugin );
100
101 }
102 catch( Exception e )
103 {
104 TransactionManager.rollBack( plugin );
105 throw new AppException( e.getMessage( ), e );
106 }
107
108 }
109
110 public void updateConfig( Config config )
111 {
112
113 Plugin plugin = PluginService.getPlugin( ConfigResourceIdService.PLUGIN_NAME );
114 TransactionManager.beginTransaction( plugin );
115
116 try
117 {
118 ConfigHome.update( config );
119 ConfigHome.removeMappingByIdForm( config.getId( ) );
120
121 for ( MappingAction mapping : config.getListActionMapping( ) )
122 {
123
124 mapping.setIdConfig( config.getId( ) );
125 ConfigHome.createMapping( mapping );
126
127 }
128 TransactionManager.commitTransaction( plugin );
129
130 }
131 catch( Exception e )
132 {
133 TransactionManager.rollBack( plugin );
134 throw new AppException( e.getMessage( ), e );
135 }
136
137 }
138
139 public Config findConfigByID( int nId )
140 {
141
142 Config conf = ConfigHome.findByPrimaryKey( nId );
143 conf.setListActionMapping( ConfigHome.getConfigsList( nId ) );
144 return conf;
145 }
146
147 }