Refactoring Consolidation Service
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / auditing / impl / AuditResourceEventFactoryMananger.java
1 package org.openecomp.sdc.be.auditing.impl;
2
3 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditArtifactResourceAdminEventFactory;
4 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditCertificationResourceAdminEventFactory;
5 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditCreateUpdateResourceAdminEventFactory;
6 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditDistStateChangeRequestResourceAdminEventFactory;
7 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditDistStateChangeResourceAdminEventFactory;
8 import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditImportResourceAdminEventFactory;
9 import org.openecomp.sdc.be.model.User;
10 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
11 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
12 import org.openecomp.sdc.be.resources.data.auditing.model.ResourceAuditData;
13
14 public class AuditResourceEventFactoryMananger {
15
16
17     public static AuditBaseEventFactory createResourceEventFactory(AuditingActionEnum action, CommonAuditData commonFields, ResourceAuditData prevParams,
18                                                                    ResourceAuditData currParams, String resourceType, String resourceName, String invariantUuid,
19                                                                    User modifier, String artifactData, String comment, String did, String toscaNodeType) {
20         AuditBaseEventFactory factory = null;
21
22         switch (action) {
23             case IMPORT_RESOURCE:
24                 factory = new AuditImportResourceAdminEventFactory(commonFields, prevParams, currParams,
25                         resourceType, resourceName, invariantUuid,
26                         modifier, artifactData, comment, did, toscaNodeType);
27                 break;
28             case CREATE_RESOURCE:
29             case UPDATE_RESOURCE_METADATA:
30                 factory = new AuditCreateUpdateResourceAdminEventFactory(action, commonFields, prevParams, currParams,
31                         resourceType, resourceName, invariantUuid,
32                         modifier, artifactData, comment, did, org.openecomp.sdc.common.api.Constants.EMPTY_STRING);
33                 break;
34             case CHECKIN_RESOURCE:
35             case CHECKOUT_RESOURCE:
36             case UNDO_CHECKOUT_RESOURCE:
37             case CERTIFICATION_REQUEST_RESOURCE:
38             case START_CERTIFICATION_RESOURCE:
39             case CERTIFICATION_SUCCESS_RESOURCE:
40             case FAIL_CERTIFICATION_RESOURCE:
41             case CANCEL_CERTIFICATION_RESOURCE:
42                 factory = new AuditCertificationResourceAdminEventFactory(action, commonFields, prevParams, currParams,
43                         resourceType, resourceName, invariantUuid,
44                         modifier, artifactData, comment, did);
45                 break;
46             case ARTIFACT_UPLOAD:
47             case ARTIFACT_DELETE:
48             case ARTIFACT_METADATA_UPDATE:
49             case ARTIFACT_PAYLOAD_UPDATE:
50             case ARTIFACT_DOWNLOAD:
51                 factory = new AuditArtifactResourceAdminEventFactory(action, commonFields, prevParams, currParams,
52                         resourceType, resourceName, invariantUuid,
53                         modifier, artifactData, comment, did);
54                 break;
55             case DISTRIBUTION_STATE_CHANGE_REQUEST:
56                 factory = new AuditDistStateChangeRequestResourceAdminEventFactory(commonFields, prevParams, currParams,
57                         resourceType, resourceName, invariantUuid,
58                         modifier, artifactData, comment, did);
59                 break;
60             case DISTRIBUTION_STATE_CHANGE_APPROV:
61             case DISTRIBUTION_STATE_CHANGE_REJECT:
62                 factory = new AuditDistStateChangeResourceAdminEventFactory(action, commonFields, prevParams, currParams,
63                         resourceType, resourceName, invariantUuid,
64                         modifier, artifactData, comment, did);
65                 break;
66             default:
67                 throw new UnsupportedOperationException();
68         }
69         return factory;
70     }
71 }