Sync Integ to Master
[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 DOWNLOAD_ARTIFACT:
56 //                factory = new AuditDownloadArtifactExternalApiEventFactory(commonFields, String resourceType, String resourceName,
57 //                    String consumerId, String resourceUrl, ResourceAuditData prevParams, ResourceAuditData currParams,
58 //                    String invariantUuid, User modifier, String artifactData);
59 //                break;
60             case DISTRIBUTION_STATE_CHANGE_REQUEST:
61                 factory = new AuditDistStateChangeRequestResourceAdminEventFactory(commonFields, prevParams, currParams,
62                         resourceType, resourceName, invariantUuid,
63                         modifier, artifactData, comment, did);
64                 break;
65             case DISTRIBUTION_STATE_CHANGE_APPROV:
66             case DISTRIBUTION_STATE_CHANGE_REJECT:
67                 factory = new AuditDistStateChangeResourceAdminEventFactory(action, commonFields, prevParams, currParams,
68                         resourceType, resourceName, invariantUuid,
69                         modifier, artifactData, comment, did);
70                 break;
71             default:
72                 throw new UnsupportedOperationException();
73         }
74         return factory;
75     }
76 }