cdbe6235193b9187636f0226f2f346d16965397e
[policy/apex-pdp.git] / model / model-api / src / main / java / org / onap / policy / apex / model / modelapi / impl / ApexModelImpl.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  *  Modifications Copyright (C) 2019 Samsung Electronics Co., Ltd.
5  *  Modifications Copyright (C) 2019 Nordix Foundation.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.policy.apex.model.modelapi.impl;
24
25 import java.util.Properties;
26
27 import org.onap.policy.apex.model.basicmodel.dao.DaoParameters;
28 import org.onap.policy.apex.model.modelapi.ApexApiResult;
29 import org.onap.policy.apex.model.modelapi.ApexModel;
30 import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
31
32 /**
33  * This class is an implementation of a facade on an Apex model for editors of Apex models.
34  *
35  * @author Liam Fallon (liam.fallon@ericsson.com)
36  */
37 public final class ApexModelImpl implements ApexModel {
38     // The policy model being acted upon
39     private AxPolicyModel policyModel = new AxPolicyModel();
40
41     // The file name for the loaded file
42     private String fileName = null;
43
44     // @formatter:off
45     private ModelFacade modelFacade;
46     private KeyInformationFacade keyInformationFacade;
47     private ContextSchemaFacade contextSchemaFacade;
48     private EventFacade eventFacade;
49     private ContextAlbumFacade contextAlbumFacade;
50     private TaskFacade taskFacade;
51     private PolicyFacade policyFacade;
52     private ModelHandlerFacade modelHandlerFacade;
53     // @formatter:on
54
55     private Properties apexProperties;
56     private boolean jsonMode;
57
58     /**
59      * Create an implementation of the Apex editor and model APIs.
60      *
61      * @param apexProperties The properties to use for the model
62      * @param jsonMode set to true to return JSON strings in list and delete operations, otherwise set to false
63      */
64     public ApexModelImpl(final Properties apexProperties, final boolean jsonMode) {
65         this.apexProperties = apexProperties;
66         this.jsonMode = jsonMode;
67
68         // @formatter:off
69         this.modelFacade          = new ModelFacade(this, apexProperties, jsonMode);
70         this.keyInformationFacade = new KeyInformationFacade(this, apexProperties, jsonMode);
71         this.contextSchemaFacade  = new ContextSchemaFacade(this, apexProperties, jsonMode);
72         this.eventFacade          = new EventFacade(this, apexProperties, jsonMode);
73         this.contextAlbumFacade   = new ContextAlbumFacade(this, apexProperties, jsonMode);
74         this.taskFacade           = new TaskFacade(this, apexProperties, jsonMode);
75         this.policyFacade         = new PolicyFacade(this, apexProperties, jsonMode);
76         this.modelHandlerFacade   = new ModelHandlerFacade(this, apexProperties, jsonMode);
77         // @formatter:on
78     }
79
80     /**
81      * Constructor, prevents this class being sub-classed.
82      */
83     private ApexModelImpl() {
84         // Private constructor to block subclassing
85     }
86
87     /**
88      * {@inheritDoc}.
89      */
90     @Override
91     public ApexModel clone() {
92         ApexModelImpl ret = new ApexModelImpl();
93         // @formatter:off
94         ret.policyModel          = new AxPolicyModel(policyModel);
95         ret.fileName             = this.fileName;
96         ret.apexProperties       = this.apexProperties;
97         ret.jsonMode             = this.jsonMode;
98         ret.modelFacade          = new ModelFacade(ret, this.apexProperties, this.jsonMode);
99         ret.keyInformationFacade = new KeyInformationFacade(ret, this.apexProperties, this.jsonMode);
100         ret.contextSchemaFacade  = new ContextSchemaFacade(ret, this.apexProperties, this.jsonMode);
101         ret.eventFacade          = new EventFacade(ret, this.apexProperties, this.jsonMode);
102         ret.contextAlbumFacade   = new ContextAlbumFacade(ret, this.apexProperties, this.jsonMode);
103         ret.taskFacade           = new TaskFacade(ret, this.apexProperties, this.jsonMode);
104         ret.policyFacade         = new PolicyFacade(ret, this.apexProperties, this.jsonMode);
105         ret.modelHandlerFacade   = new ModelHandlerFacade(ret, this.apexProperties, this.jsonMode);
106         // @formatter:on
107
108         return ret;
109     }
110
111     /**
112      * {@inheritDoc}.
113      */
114     @Override
115     public ApexApiResult createModel(final String name, final String version, final String uuid,
116             final String description) {
117         return modelFacade.createModel(name, version, uuid, description);
118     }
119
120     /**
121      * {@inheritDoc}.
122      */
123     @Override
124     public ApexApiResult updateModel(final String name, final String version, final String uuid,
125             final String description) {
126         return modelFacade.updateModel(name, version, uuid, description);
127     }
128
129     /**
130      * {@inheritDoc}.
131      */
132     @Override
133     public ApexApiResult getModelKey() {
134         return modelFacade.getModelKey();
135     }
136
137     /**
138      * {@inheritDoc}.
139      */
140     @Override
141     public ApexApiResult listModel() {
142         return modelFacade.listModel();
143     }
144
145     /**
146      * {@inheritDoc}.
147      */
148     @Override
149     public ApexApiResult deleteModel() {
150         return modelFacade.deleteModel();
151     }
152
153     /**
154      * {@inheritDoc}.
155      */
156     @Override
157     public ApexApiResult createKeyInformation(final String name, final String version, final String uuid,
158             final String description) {
159         return keyInformationFacade.createKeyInformation(name, version, uuid, description);
160     }
161
162     /**
163      * {@inheritDoc}.
164      */
165     @Override
166     public ApexApiResult updateKeyInformation(final String name, final String version, final String uuid,
167             final String description) {
168         return keyInformationFacade.updateKeyInformation(name, version, uuid, description);
169     }
170
171     /**
172      * {@inheritDoc}.
173      */
174     @Override
175     public ApexApiResult listKeyInformation(final String name, final String version) {
176         return keyInformationFacade.listKeyInformation(name, version);
177     }
178
179     /**
180      * {@inheritDoc}.
181      */
182     @Override
183     public ApexApiResult deleteKeyInformation(final String name, final String version) {
184         return keyInformationFacade.deleteKeyInformation(name, version);
185     }
186
187     /**
188      * {@inheritDoc}.
189      */
190     @Override
191     public ApexApiResult validateKeyInformation(final String name, final String version) {
192         return keyInformationFacade.validateKeyInformation(name, version);
193     }
194
195     /**
196      * {@inheritDoc}.
197      */
198     @Override
199     public ApexApiResult createContextSchema(final String name, final String version, final String schemaFlavour,
200             final String schemaDefinition, final String uuid, final String description) {
201         return contextSchemaFacade.createContextSchema(name, version, schemaFlavour, schemaDefinition, uuid,
202                 description);
203     }
204
205     /**
206      * {@inheritDoc}.
207      */
208     @Override
209     public ApexApiResult updateContextSchema(final String name, final String version, final String schemaFlavour,
210             final String schemaDefinition, final String uuid, final String description) {
211         return contextSchemaFacade.updateContextSchema(name, version, schemaFlavour, schemaDefinition, uuid,
212                 description);
213     }
214
215     /**
216      * {@inheritDoc}.
217      */
218     @Override
219     public ApexApiResult listContextSchemas(final String name, final String version) {
220         return contextSchemaFacade.listContextSchemas(name, version);
221     }
222
223     /**
224      * {@inheritDoc}.
225      */
226     @Override
227     public ApexApiResult deleteContextSchema(final String name, final String version) {
228         return contextSchemaFacade.deleteContextSchema(name, version);
229     }
230
231     /**
232      * {@inheritDoc}.
233      */
234     @Override
235     public ApexApiResult validateContextSchemas(final String name, final String version) {
236         return contextSchemaFacade.validateContextSchemas(name, version);
237     }
238
239     /**
240      * {@inheritDoc}.
241      */
242     @Override
243     public ApexApiResult createEvent(final String name, final String version, final String nameSpace,
244             final String source, final String target, final String uuid, final String description) {
245         return eventFacade.createEvent(name, version, nameSpace, source, target, uuid, description);
246     }
247
248     /**
249      * {@inheritDoc}.
250      */
251     @Override
252     public ApexApiResult updateEvent(final String name, final String version, final String nameSpace,
253             final String source, final String target, final String uuid, final String description) {
254         return eventFacade.updateEvent(name, version, nameSpace, source, target, uuid, description);
255     }
256
257     /**
258      * {@inheritDoc}.
259      */
260     @Override
261     public ApexApiResult listEvent(final String name, final String version) {
262         return eventFacade.listEvent(name, version);
263     }
264
265     /**
266      * {@inheritDoc}.
267      */
268     @Override
269     public ApexApiResult deleteEvent(final String name, final String version) {
270         return eventFacade.deleteEvent(name, version);
271     }
272
273     /**
274      * {@inheritDoc}.
275      */
276     @Override
277     public ApexApiResult validateEvent(final String name, final String version) {
278         return eventFacade.validateEvent(name, version);
279     }
280
281     /**
282      * {@inheritDoc}.
283      */
284     @Override
285     public ApexApiResult createEventPar(final String name, final String version, final String parName,
286             final String contextSchemaName, final String contextSchemaVersion, final boolean optional) {
287         return eventFacade.createEventPar(name, version, parName, contextSchemaName, contextSchemaVersion, optional);
288     }
289
290     /**
291      * {@inheritDoc}.
292      */
293     @Override
294     public ApexApiResult listEventPar(final String name, final String version, final String parName) {
295         return eventFacade.listEventPar(name, version, parName);
296     }
297
298     /**
299      * {@inheritDoc}.
300      */
301     @Override
302     public ApexApiResult deleteEventPar(final String name, final String version, final String parName) {
303         return eventFacade.deleteEventPar(name, version, parName);
304     }
305
306     /**
307      * {@inheritDoc}.
308      */
309     @Override
310     // CHECKSTYLE:OFF: checkstyle:parameterNumber
311     public ApexApiResult createContextAlbum(final String name, final String version, final String scope,
312             final String writable, final String contextSchemaName, final String contextSchemaVersion, final String uuid,
313             final String description) {
314         return contextAlbumFacade.createContextAlbum(new ContextAlbumBuilder().setName(name).setVersion(version)
315                 .setScope(scope).setWritable(writable).setContextSchemaName(contextSchemaName)
316                 .setContextSchemaVersion(contextSchemaVersion).setUuid(uuid).setDescription(description));
317     }
318     // CHECKSTYLE:ON: checkstyle:parameterNumber
319
320     /**
321      * {@inheritDoc}.
322      */
323     // CHECKSTYLE:OFF: checkstyle:parameterNumber
324     @Override
325     public ApexApiResult updateContextAlbum(final String name, final String version, final String scope,
326             final String writable, final String contextSchemaName, final String contextSchemaVersion, final String uuid,
327             final String description) {
328         return contextAlbumFacade.updateContextAlbum(new ContextAlbumBuilder().setName(name).setVersion(version)
329                 .setScope(scope).setWritable(writable).setContextSchemaName(contextSchemaName)
330                 .setContextSchemaVersion(contextSchemaVersion).setUuid(uuid).setDescription(description));
331     }
332     // CHECKSTYLE:ON: checkstyle:parameterNumber
333
334     /**
335      * {@inheritDoc}.
336      */
337     @Override
338     public ApexApiResult listContextAlbum(final String name, final String version) {
339         return contextAlbumFacade.listContextAlbum(name, version);
340     }
341
342     /**
343      * {@inheritDoc}.
344      */
345     @Override
346     public ApexApiResult deleteContextAlbum(final String name, final String version) {
347         return contextAlbumFacade.deleteContextAlbum(name, version);
348     }
349
350     /**
351      * {@inheritDoc}.
352      */
353     @Override
354     public ApexApiResult validateContextAlbum(final String name, final String version) {
355         return contextAlbumFacade.validateContextAlbum(name, version);
356     }
357
358     /**
359      * {@inheritDoc}.
360      */
361     @Override
362     public ApexApiResult createTask(final String name, final String version, final String uuid,
363             final String description) {
364         return taskFacade.createTask(name, version, uuid, description);
365     }
366
367     /**
368      * {@inheritDoc}.
369      */
370     @Override
371     public ApexApiResult updateTask(final String name, final String version, final String uuid,
372             final String description) {
373         return taskFacade.updateTask(name, version, uuid, description);
374     }
375
376     /**
377      * {@inheritDoc}.
378      */
379     @Override
380     public ApexApiResult listTask(final String name, final String version) {
381         return taskFacade.listTask(name, version);
382     }
383
384     /**
385      * {@inheritDoc}.
386      */
387     @Override
388     public ApexApiResult deleteTask(final String name, final String version) {
389         return taskFacade.deleteTask(name, version);
390     }
391
392     /**
393      * {@inheritDoc}.
394      */
395     @Override
396     public ApexApiResult validateTask(final String name, final String version) {
397         return taskFacade.validateTask(name, version);
398     }
399
400     /**
401      * {@inheritDoc}.
402      */
403     @Override
404     public ApexApiResult createTaskLogic(final String name, final String version, final String logicFlavour,
405             final String logic) {
406         return taskFacade.createTaskLogic(name, version, logicFlavour, logic);
407     }
408
409     /**
410      * {@inheritDoc}.
411      */
412     @Override
413     public ApexApiResult updateTaskLogic(final String name, final String version, final String logicFlavour,
414             final String logic) {
415         return taskFacade.updateTaskLogic(name, version, logicFlavour, logic);
416     }
417
418     /**
419      * {@inheritDoc}.
420      */
421     @Override
422     public ApexApiResult listTaskLogic(final String name, final String version) {
423         return taskFacade.listTaskLogic(name, version);
424     }
425
426     /**
427      * {@inheritDoc}.
428      */
429     @Override
430     public ApexApiResult deleteTaskLogic(final String name, final String version) {
431         return taskFacade.deleteTaskLogic(name, version);
432     }
433
434     /**
435      * {@inheritDoc}.
436      */
437     @Override
438     public ApexApiResult createTaskInputField(final String name, final String version, final String fieldName,
439             final String dataTypeName, final String dataTypeVersion, final boolean optional) {
440         return taskFacade.createTaskInputField(name, version, fieldName, dataTypeName, dataTypeVersion, optional);
441     }
442
443     /**
444      * {@inheritDoc}.
445      */
446     @Override
447     public ApexApiResult listTaskInputField(final String name, final String version, final String fieldName) {
448         return taskFacade.listTaskInputField(name, version, fieldName);
449     }
450
451     /**
452      * {@inheritDoc}.
453      */
454     @Override
455     public ApexApiResult deleteTaskInputField(final String name, final String version, final String fieldName) {
456         return taskFacade.deleteTaskInputField(name, version, fieldName);
457     }
458
459     /**
460      * {@inheritDoc}.
461      */
462     @Override
463     public ApexApiResult createTaskOutputField(final String name, final String version, final String fieldName,
464             final String dataTypeName, final String dataTypeVersion, final boolean optional) {
465         return taskFacade.createTaskOutputField(name, version, fieldName, dataTypeName, dataTypeVersion, optional);
466     }
467
468     /**
469      * {@inheritDoc}.
470      */
471     @Override
472     public ApexApiResult listTaskOutputField(final String name, final String version, final String fieldName) {
473         return taskFacade.listTaskOutputField(name, version, fieldName);
474     }
475
476     /**
477      * {@inheritDoc}.
478      */
479     @Override
480     public ApexApiResult deleteTaskOutputField(final String name, final String version, final String fieldName) {
481         return taskFacade.deleteTaskOutputField(name, version, fieldName);
482     }
483
484     /**
485      * {@inheritDoc}.
486      */
487     @Override
488     public ApexApiResult createTaskParameter(final String name, final String version, final String parName,
489             final String defaultValue) {
490         return taskFacade.createTaskParameter(name, version, parName, defaultValue);
491     }
492
493     /**
494      * {@inheritDoc}.
495      */
496     @Override
497     public ApexApiResult listTaskParameter(final String name, final String version, final String parName) {
498         return taskFacade.listTaskParameter(name, version, parName);
499     }
500
501     /**
502      * {@inheritDoc}.
503      */
504     @Override
505     public ApexApiResult deleteTaskParameter(final String name, final String version, final String parName) {
506         return taskFacade.deleteTaskParameter(name, version, parName);
507     }
508
509     /**
510      * {@inheritDoc}.
511      */
512     @Override
513     public ApexApiResult createTaskContextRef(final String name, final String version, final String contextAlbumName,
514             final String contextAlbumVersion) {
515         return taskFacade.createTaskContextRef(name, version, contextAlbumName, contextAlbumVersion);
516     }
517
518     /**
519      * {@inheritDoc}.
520      */
521     @Override
522     public ApexApiResult listTaskContextRef(final String name, final String version, final String contextAlbumName,
523             final String contextAlbumVersion) {
524         return taskFacade.listTaskContextRef(name, version, contextAlbumName, contextAlbumVersion);
525     }
526
527     /**
528      * {@inheritDoc}.
529      */
530     @Override
531     public ApexApiResult deleteTaskContextRef(final String name, final String version, final String contextAlbumName,
532             final String contextAlbumVersion) {
533         return taskFacade.deleteTaskContextRef(name, version, contextAlbumName, contextAlbumVersion);
534     }
535
536     /**
537      * {@inheritDoc}.
538      */
539     @Override
540     public ApexApiResult createPolicy(final String name, final String version, final String template,
541             final String firstState, final String uuid, final String description) {
542         return policyFacade.createPolicy(name, version, template, firstState, uuid, description);
543     }
544
545     /**
546      * {@inheritDoc}.
547      */
548     @Override
549     public ApexApiResult updatePolicy(final String name, final String version, final String template,
550             final String firstState, final String uuid, final String description) {
551         return policyFacade.updatePolicy(name, version, template, firstState, uuid, description);
552     }
553
554     /**
555      * {@inheritDoc}.
556      */
557     @Override
558     public ApexApiResult listPolicy(final String name, final String version) {
559         return policyFacade.listPolicy(name, version);
560     }
561
562     /**
563      * {@inheritDoc}.
564      */
565     @Override
566     public ApexApiResult deletePolicy(final String name, final String version) {
567         return policyFacade.deletePolicy(name, version);
568     }
569
570     /**
571      * {@inheritDoc}.
572      */
573     @Override
574     public ApexApiResult validatePolicy(final String name, final String version) {
575         return policyFacade.validatePolicy(name, version);
576     }
577
578     /**
579      * {@inheritDoc}.
580      */
581     @Override
582     public ApexApiResult createPolicyState(final String name, final String version, final String stateName,
583             final String triggerName, final String triggerVersion, final String defaultTaskName,
584             final String defaltTaskVersion) {
585         return policyFacade.createPolicyState(name, version, stateName, triggerName, triggerVersion, defaultTaskName,
586                 defaltTaskVersion);
587     }
588
589     /**
590      * {@inheritDoc}.
591      */
592     @Override
593     public ApexApiResult updatePolicyState(final String name, final String version, final String stateName,
594             final String triggerName, final String triggerVersion, final String defaultTaskName,
595             final String defaltTaskVersion) {
596         return policyFacade.updatePolicyState(name, version, stateName, triggerName, triggerVersion, defaultTaskName,
597                 defaltTaskVersion);
598     }
599
600     /**
601      * {@inheritDoc}.
602      */
603     @Override
604     public ApexApiResult listPolicyState(final String name, final String version, final String stateName) {
605         return policyFacade.listPolicyState(name, version, stateName);
606     }
607
608     /**
609      * {@inheritDoc}.
610      */
611     @Override
612     public ApexApiResult deletePolicyState(final String name, final String version, final String stateName) {
613         return policyFacade.deletePolicyState(name, version, stateName);
614     }
615
616     /**
617      * {@inheritDoc}.
618      */
619     @Override
620     public ApexApiResult createPolicyStateTaskSelectionLogic(final String name, final String version,
621             final String stateName, final String logicFlavour, final String logic) {
622         return policyFacade.createPolicyStateTaskSelectionLogic(name, version, stateName, logicFlavour, logic);
623     }
624
625     /**
626      * {@inheritDoc}.
627      */
628     @Override
629     public ApexApiResult updatePolicyStateTaskSelectionLogic(final String name, final String version,
630             final String stateName, final String logicFlavour, final String logic) {
631         return policyFacade.updatePolicyStateTaskSelectionLogic(name, version, stateName, logicFlavour, logic);
632     }
633
634     /**
635      * {@inheritDoc}.
636      */
637     @Override
638     public ApexApiResult listPolicyStateTaskSelectionLogic(final String name, final String version,
639             final String stateName) {
640         return policyFacade.listPolicyStateTaskSelectionLogic(name, version, stateName);
641     }
642
643     /**
644      * {@inheritDoc}.
645      */
646     @Override
647     public ApexApiResult deletePolicyStateTaskSelectionLogic(final String name, final String version,
648             final String stateName) {
649         return policyFacade.deletePolicyStateTaskSelectionLogic(name, version, stateName);
650     }
651
652     /**
653      * {@inheritDoc}.
654      */
655     @Override
656     public ApexApiResult createPolicyStateOutput(final String name, final String version, final String stateName,
657             final String outputName, final String eventName, final String eventVersion, final String nextState) {
658         return policyFacade.createPolicyStateOutput(name, version, stateName, outputName, eventName, eventVersion,
659                 nextState);
660     }
661
662     /**
663      * {@inheritDoc}.
664      */
665     @Override
666     public ApexApiResult listPolicyStateOutput(final String name, final String version, final String stateName,
667             final String outputName) {
668         return policyFacade.listPolicyStateOutput(name, version, stateName, outputName);
669     }
670
671     /**
672      * {@inheritDoc}.
673      */
674     @Override
675     public ApexApiResult deletePolicyStateOutput(final String name, final String version, final String stateName,
676             final String outputName) {
677         return policyFacade.deletePolicyStateOutput(name, version, stateName, outputName);
678     }
679
680     /**
681      * {@inheritDoc}.
682      */
683     @Override
684     public ApexApiResult createPolicyStateFinalizerLogic(final String name, final String version,
685             final String stateName, final String finalizerLogicName, final String logicFlavour, final String logic) {
686         return policyFacade.createPolicyStateFinalizerLogic(name, version, stateName, finalizerLogicName, logicFlavour,
687                 logic);
688     }
689
690     /**
691      * {@inheritDoc}.
692      */
693     @Override
694     public ApexApiResult updatePolicyStateFinalizerLogic(final String name, final String version,
695             final String stateName, final String finalizerLogicName, final String logicFlavour, final String logic) {
696         return policyFacade.updatePolicyStateFinalizerLogic(name, version, stateName, finalizerLogicName, logicFlavour,
697                 logic);
698     }
699
700     /**
701      * {@inheritDoc}.
702      */
703     @Override
704     public ApexApiResult listPolicyStateFinalizerLogic(final String name, final String version, final String stateName,
705             final String finalizerLogicName) {
706         return policyFacade.listPolicyStateFinalizerLogic(name, version, stateName, finalizerLogicName);
707     }
708
709     /**
710      * {@inheritDoc}.
711      */
712     @Override
713     public ApexApiResult deletePolicyStateFinalizerLogic(final String name, final String version,
714             final String stateName, final String finalizerLogicName) {
715         return policyFacade.deletePolicyStateFinalizerLogic(name, version, stateName, finalizerLogicName);
716     }
717
718     /**
719      * {@inheritDoc}.
720      */
721     @Override
722     // CHECKSTYLE:OFF: checkstyle:parameterNumber
723     public ApexApiResult createPolicyStateTaskRef(final String name, final String version, final String stateName,
724             final String taskLocalName, final String taskName, final String taskVersion, final String outputType,
725             final String outputName) {
726         return policyFacade.createPolicyStateTaskRef(new CreatePolicyStateTaskRefBuilder().setName(name)
727                 .setVersion(version).setStateName(stateName).setTaskLocalName(taskLocalName).setTaskName(taskName)
728                 .setTaskVersion(taskVersion).setOutputType(outputType).setOutputName(outputName));
729     }
730     // CHECKSTYLE:ON: checkstyle:parameterNumber
731
732     /**
733      * {@inheritDoc}.
734      */
735     @Override
736     public ApexApiResult listPolicyStateTaskRef(final String name, final String version, final String stateName,
737             final String taskName, final String taskVersion) {
738         return policyFacade.listPolicyStateTaskRef(name, version, stateName, taskName, taskVersion);
739     }
740
741     /**
742      * {@inheritDoc}.
743      */
744     @Override
745     public ApexApiResult deletePolicyStateTaskRef(final String name, final String version, final String stateName,
746             final String taskName, final String taskVersion) {
747         return policyFacade.deletePolicyStateTaskRef(name, version, stateName, taskName, taskVersion);
748     }
749
750     /**
751      * {@inheritDoc}.
752      */
753     @Override
754     public ApexApiResult createPolicyStateContextRef(final String name, final String version, final String stateName,
755             final String contextAlbumName, final String contextAlbumVersion) {
756         return policyFacade.createPolicyStateContextRef(name, version, stateName, contextAlbumName,
757                 contextAlbumVersion);
758     }
759
760     /**
761      * {@inheritDoc}.
762      */
763     @Override
764     public ApexApiResult listPolicyStateContextRef(final String name, final String version, final String stateName,
765             final String contextAlbumName, final String contextAlbumVersion) {
766         return policyFacade.listPolicyStateContextRef(name, version, stateName, contextAlbumName, contextAlbumVersion);
767     }
768
769     /**
770      * {@inheritDoc}.
771      */
772     @Override
773     public ApexApiResult deletePolicyStateContextRef(final String name, final String version, final String stateName,
774             final String contextAlbumName, final String contextAlbumVersion) {
775         return policyFacade.deletePolicyStateContextRef(name, version, stateName, contextAlbumName,
776                 contextAlbumVersion);
777     }
778
779     /**
780      * {@inheritDoc}.
781      */
782     @Override
783     public ApexApiResult loadFromString(final String modelString) {
784         return modelHandlerFacade.loadFromString(modelString);
785     }
786
787     /**
788      * {@inheritDoc}.
789      */
790     @Override
791     // CHECKSTYLE:OFF: checkstyle:HiddenField
792     public ApexApiResult loadFromFile(final String fileName) {
793         this.fileName = fileName;
794         return modelHandlerFacade.loadFromFile(fileName);
795     }
796     // CHECKSTYLE:ON: checkstyle:HiddenField
797
798     /**
799      * {@inheritDoc}.
800      */
801     @Override
802     public ApexApiResult saveToFile(final String saveFileName, final boolean xmlFlag) {
803         if (saveFileName == null) {
804             return modelHandlerFacade.saveToFile(fileName, xmlFlag);
805         } else {
806             return modelHandlerFacade.saveToFile(saveFileName, xmlFlag);
807         }
808     }
809
810     /**
811      * {@inheritDoc}.
812      */
813     @Override
814     public ApexApiResult loadFromDatabase(final String modelName, final String modelVersion,
815             final DaoParameters daoParameters) {
816         return modelHandlerFacade.loadFromDatabase(modelName, modelVersion, daoParameters);
817     }
818
819     /**
820      * {@inheritDoc}.
821      */
822     @Override
823     public ApexApiResult saveToDatabase(final DaoParameters daoParameters) {
824         return modelHandlerFacade.saveToDatabase(daoParameters);
825     }
826
827     /**
828      * {@inheritDoc}.
829      */
830     @Override
831     public ApexApiResult readFromUrl(final String urlString) {
832         return modelHandlerFacade.readFromUrl(urlString);
833     }
834
835     /**
836      * {@inheritDoc}.
837      */
838     @Override
839     public ApexApiResult writeToUrl(final String urlString, final boolean xmlFlag) {
840         return modelHandlerFacade.writeToUrl(urlString, xmlFlag);
841     }
842
843     /**
844      * {@inheritDoc}.
845      */
846     @Override
847     public ApexApiResult analyse() {
848         return modelHandlerFacade.analyse();
849     }
850
851     /**
852      * {@inheritDoc}.
853      */
854     @Override
855     public ApexApiResult validate() {
856         return modelHandlerFacade.validate();
857     }
858
859     /**
860      * {@inheritDoc}.
861      */
862     @Override
863     public ApexApiResult compare(final String otherModelFileName, final boolean diffsOnly, final boolean keysOnly) {
864         return modelHandlerFacade.compare(otherModelFileName, diffsOnly, keysOnly);
865     }
866
867     /**
868      * {@inheritDoc}.
869      */
870     @Override
871     public ApexApiResult compareWithString(final String otherModelString, final boolean diffsOnly,
872             final boolean keysOnly) {
873         return modelHandlerFacade.compareWithString(otherModelString, diffsOnly, keysOnly);
874     }
875
876     /**
877      * {@inheritDoc}.
878      */
879     @Override
880     public ApexApiResult split(final String targetModelFileName, final String splitOutPolicies) {
881         return modelHandlerFacade.split(targetModelFileName, splitOutPolicies);
882     }
883
884     /**
885      * {@inheritDoc}.
886      */
887     @Override
888     public ApexApiResult split(final String splitOutPolicies) {
889         return modelHandlerFacade.split(splitOutPolicies);
890     }
891
892     /**
893      * {@inheritDoc}.
894      */
895     @Override
896     public ApexApiResult merge(final String mergeInModelFileName, final boolean keepOriginal) {
897         return modelHandlerFacade.merge(mergeInModelFileName, keepOriginal);
898     }
899
900     /**
901      * {@inheritDoc}.
902      */
903     @Override
904     public ApexApiResult mergeWithString(final String otherModelString, final boolean keepOriginal) {
905         return modelHandlerFacade.mergeWithString(otherModelString, keepOriginal);
906     }
907
908     /**
909      * {@inheritDoc}.
910      */
911     @Override
912     public AxPolicyModel getPolicyModel() {
913         return policyModel;
914     }
915
916     /**
917      * {@inheritDoc}.
918      */
919     @Override
920     public void setPolicyModel(final AxPolicyModel policyModel) {
921         this.policyModel = policyModel;
922     }
923
924     /**
925      * {@inheritDoc}.
926      */
927     @Override
928     public AxPolicyModel build() {
929         return policyModel;
930     }
931
932 }