13
13
* See the License for the specific language governing permissions and
14
14
* limitations under the License.
15
15
***************************************************************************/
16
- package org .oceandsl .architecture .model ;
16
+ package org .oceandsl .analysis . architecture .model ;
17
17
18
18
import java .io .File ;
19
19
import java .io .IOException ;
56
56
import kieker .model .analysismodel .type .TypePackage ;
57
57
58
58
/**
59
+ * Reading and storing model repositories.
60
+ *
61
+ * Note: This should be merged with the repository class.
62
+ *
59
63
* @author Reiner Jung
60
64
* @since 1.1
61
65
*/
62
- public final class ArchitectureModelManagementFactory {
66
+ public final class ArchitectureModelManagementUtils {
63
67
64
- private static final Logger LOGGER = LoggerFactory .getLogger (ArchitectureModelManagementFactory .class );
68
+ private static final Logger LOGGER = LoggerFactory .getLogger (ArchitectureModelManagementUtils .class );
65
69
66
70
public static final String TYPE_MODEL_NAME = "type-model.xmi" ;
67
71
@@ -75,12 +79,12 @@ public final class ArchitectureModelManagementFactory {
75
79
76
80
public static final String SOURCES_MODEL_NAME = "sources-model.xmi" ;
77
81
78
- private ArchitectureModelManagementFactory () {
82
+ private ArchitectureModelManagementUtils () {
79
83
// TODO Auto-generated constructor stub
80
84
}
81
85
82
86
public static ModelRepository createModelRepository (final String experimentName , final boolean mapFile ) {
83
- return ArchitectureModelManagementFactory
87
+ return ArchitectureModelManagementUtils
84
88
.createModelRepository (String .format ("%s-%s" , experimentName , mapFile ? "map" : "file" ));
85
89
}
86
90
@@ -110,37 +114,37 @@ public static ModelRepository loadModelRepository(final Path path) throws Config
110
114
packageRegistry .put (AssemblyPackage .eNS_URI , AssemblyPackage .eINSTANCE );
111
115
packageRegistry .put (DeploymentPackage .eNS_URI , DeploymentPackage .eINSTANCE );
112
116
packageRegistry .put (ExecutionPackage .eNS_URI , ExecutionPackage .eINSTANCE );
113
- packageRegistry .put (StatisticsPackage .eNS_URI , ArchitectureModelManagementFactory .STATISTICS_MODEL_NAME );
114
- packageRegistry .put (SourcesPackage .eNS_URI , ArchitectureModelManagementFactory .SOURCES_MODEL_NAME );
115
-
116
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , TypeModel .class , path ,
117
- ArchitectureModelManagementFactory .TYPE_MODEL_NAME );
118
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , AssemblyModel .class , path ,
119
- ArchitectureModelManagementFactory .ASSEMBLY_MODEL_NAME );
120
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , DeploymentModel .class , path ,
121
- ArchitectureModelManagementFactory .DEPLOYMENT_MODEL_NAME );
122
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , ExecutionModel .class , path ,
123
- ArchitectureModelManagementFactory .EXECUTION_MODEL_NAME );
124
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , StatisticsModel .class , path ,
125
- ArchitectureModelManagementFactory .STATISTICS_MODEL_NAME );
126
- ArchitectureModelManagementFactory .readModel (resourceSet , repository , SourceModel .class , path ,
127
- ArchitectureModelManagementFactory .SOURCES_MODEL_NAME );
117
+ packageRegistry .put (StatisticsPackage .eNS_URI , ArchitectureModelManagementUtils .STATISTICS_MODEL_NAME );
118
+ packageRegistry .put (SourcesPackage .eNS_URI , ArchitectureModelManagementUtils .SOURCES_MODEL_NAME );
119
+
120
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , TypeModel .class , path ,
121
+ ArchitectureModelManagementUtils .TYPE_MODEL_NAME );
122
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , AssemblyModel .class , path ,
123
+ ArchitectureModelManagementUtils .ASSEMBLY_MODEL_NAME );
124
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , DeploymentModel .class , path ,
125
+ ArchitectureModelManagementUtils .DEPLOYMENT_MODEL_NAME );
126
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , ExecutionModel .class , path ,
127
+ ArchitectureModelManagementUtils .EXECUTION_MODEL_NAME );
128
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , StatisticsModel .class , path ,
129
+ ArchitectureModelManagementUtils .STATISTICS_MODEL_NAME );
130
+ ArchitectureModelManagementUtils .readModel (resourceSet , repository , SourceModel .class , path ,
131
+ ArchitectureModelManagementUtils .SOURCES_MODEL_NAME );
128
132
129
133
return repository ;
130
134
}
131
135
132
136
private static <T extends EObject > void readModel (final ResourceSet resourceSet , final ModelRepository repository ,
133
137
final Class <T > type , final Path path , final String filename ) throws ConfigurationException {
134
- ArchitectureModelManagementFactory .LOGGER .info ("Loading model {}" , filename );
135
- final File modelFile = ArchitectureModelManagementFactory .createReadModelFileHandle (path , filename );
138
+ ArchitectureModelManagementUtils .LOGGER .info ("Loading model {}" , filename );
139
+ final File modelFile = ArchitectureModelManagementUtils .createReadModelFileHandle (path , filename );
136
140
if (modelFile .exists ()) {
137
141
final Resource resource = resourceSet .getResource (URI .createFileURI (modelFile .getAbsolutePath ()), true );
138
142
for (final Diagnostic error : resource .getErrors ()) {
139
- ArchitectureModelManagementFactory .LOGGER .error ("Error loading '{}' of {}:{} {}" , filename ,
143
+ ArchitectureModelManagementUtils .LOGGER .error ("Error loading '{}' of {}:{} {}" , filename ,
140
144
error .getLocation (), error .getLine (), error .getMessage ());
141
145
}
142
146
for (final Diagnostic error : resource .getWarnings ()) {
143
- ArchitectureModelManagementFactory .LOGGER .error ("Warning loading '{}' of {}:{} {}" , filename ,
147
+ ArchitectureModelManagementUtils .LOGGER .error ("Warning loading '{}' of {}:{} {}" , filename ,
144
148
error .getLocation (), error .getLine (), error .getMessage ());
145
149
}
146
150
repository .register (type , resource .getContents ().get (0 ));
@@ -149,7 +153,7 @@ private static <T extends EObject> void readModel(final ResourceSet resourceSet,
149
153
i .next ().eCrossReferences ();
150
154
}
151
155
} else {
152
- ArchitectureModelManagementFactory .LOGGER .error ("Error reading model file {}. File does not exist." ,
156
+ ArchitectureModelManagementUtils .LOGGER .error ("Error reading model file {}. File does not exist." ,
153
157
modelFile .getAbsoluteFile ());
154
158
throw new ConfigurationException (
155
159
String .format ("Error reading model file %s. File does not exist." , modelFile .getAbsoluteFile ()));
@@ -170,33 +174,33 @@ public static void writeModelRepository(final Path outputDirectory, final ModelR
170
174
Files .createDirectory (outputDirectory );
171
175
}
172
176
173
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
174
- ArchitectureModelManagementFactory .TYPE_MODEL_NAME , repository .getModel (TypeModel .class ));
175
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
176
- ArchitectureModelManagementFactory .ASSEMBLY_MODEL_NAME , repository .getModel (AssemblyModel .class ));
177
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
178
- ArchitectureModelManagementFactory .DEPLOYMENT_MODEL_NAME , repository .getModel (DeploymentModel .class ));
179
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
180
- ArchitectureModelManagementFactory .EXECUTION_MODEL_NAME , repository .getModel (ExecutionModel .class ));
181
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
182
- ArchitectureModelManagementFactory .STATISTICS_MODEL_NAME , repository .getModel (StatisticsModel .class ));
183
- ArchitectureModelManagementFactory .writeModel (resourceSet , outputDirectory ,
184
- ArchitectureModelManagementFactory .SOURCES_MODEL_NAME , repository .getModel (SourceModel .class ));
177
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
178
+ ArchitectureModelManagementUtils .TYPE_MODEL_NAME , repository .getModel (TypeModel .class ));
179
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
180
+ ArchitectureModelManagementUtils .ASSEMBLY_MODEL_NAME , repository .getModel (AssemblyModel .class ));
181
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
182
+ ArchitectureModelManagementUtils .DEPLOYMENT_MODEL_NAME , repository .getModel (DeploymentModel .class ));
183
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
184
+ ArchitectureModelManagementUtils .EXECUTION_MODEL_NAME , repository .getModel (ExecutionModel .class ));
185
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
186
+ ArchitectureModelManagementUtils .STATISTICS_MODEL_NAME , repository .getModel (StatisticsModel .class ));
187
+ ArchitectureModelManagementUtils .writeModel (resourceSet , outputDirectory ,
188
+ ArchitectureModelManagementUtils .SOURCES_MODEL_NAME , repository .getModel (SourceModel .class ));
185
189
}
186
190
187
191
private static <T extends EObject > void writeModel (final ResourceSet resourceSet , final Path outputDirectory ,
188
192
final String filename , final T model ) {
189
- ArchitectureModelManagementFactory .LOGGER .info ("Saving model {}" , filename );
193
+ ArchitectureModelManagementUtils .LOGGER .info ("Saving model {}" , filename );
190
194
191
- final File modelFile = ArchitectureModelManagementFactory .createWriteModelFileHandle (outputDirectory , filename );
195
+ final File modelFile = ArchitectureModelManagementUtils .createWriteModelFileHandle (outputDirectory , filename );
192
196
193
197
final Resource resource = resourceSet .createResource (URI .createURI (modelFile .getAbsolutePath ()));
194
198
resource .getContents ().add (model );
195
199
196
200
try {
197
201
resource .save (Collections .EMPTY_MAP );
198
202
} catch (final IOException e ) {
199
- ArchitectureModelManagementFactory .LOGGER .error ("Cannot write {} model to storage. Cause: {}" ,
203
+ ArchitectureModelManagementUtils .LOGGER .error ("Cannot write {} model to storage. Cause: {}" ,
200
204
modelFile .getAbsoluteFile (), e .getLocalizedMessage ());
201
205
}
202
206
}
0 commit comments