aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/auditing/impl/resourceadmin/AuditResourceEventFactoryManager.java
blob: 690a0464df830ccdc9f7488361c4a2f81caca7f1 (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package org.openecomp.sdc.be.auditing.impl.resourceadmin;

import org.openecomp.sdc.be.auditing.api.AuditEventFactory;
import org.openecomp.sdc.be.auditing.impl.AuditBaseEventFactory;
import org.openecomp.sdc.be.model.User;
import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
import org.openecomp.sdc.be.resources.data.auditing.model.ResourceCommonInfo;
import org.openecomp.sdc.be.resources.data.auditing.model.ResourceVersionInfo;

public class AuditResourceEventFactoryManager {


    public static AuditEventFactory createResourceEventFactory(AuditingActionEnum action, CommonAuditData commonFields, ResourceCommonInfo resourceCommonInfo,
                                                               ResourceVersionInfo prevParams, ResourceVersionInfo currParams, String invariantUuid,
                                                               User modifier, String artifactData, String comment, String did, String toscaNodeType) {
        AuditBaseEventFactory factory = null;

        switch (action) {
            case IMPORT_RESOURCE:
                factory = new AuditImportResourceAdminEventFactory(commonFields, resourceCommonInfo, prevParams, currParams,
                        invariantUuid, modifier, artifactData, comment, did, toscaNodeType);
                break;
            case CREATE_RESOURCE:
            case CREATE_SERVICE:
            case UPDATE_RESOURCE_METADATA:
            case ARCHIVE_COMPONENT:
            case RESTORE_COMPONENT:
            case UPDATE_SERVICE_METADATA:
                factory = new AuditCreateUpdateResourceAdminEventFactory(action, commonFields, resourceCommonInfo, prevParams, currParams,
                        invariantUuid, modifier, artifactData, comment, did, org.openecomp.sdc.common.api.Constants.EMPTY_STRING);
                break;
            case CHECKIN_RESOURCE:
            case CHECKOUT_RESOURCE:
            case UNDO_CHECKOUT_RESOURCE:
            case CERTIFICATION_REQUEST_RESOURCE:
            case START_CERTIFICATION_RESOURCE:
            case CERTIFICATION_SUCCESS_RESOURCE:
            case FAIL_CERTIFICATION_RESOURCE:
            case CANCEL_CERTIFICATION_RESOURCE:
            case UPDATE_SERVICE_REFERENCE:
            case VF_UPGRADE_SERVICES:
                factory = new AuditCertificationResourceAdminEventFactory(action, commonFields, resourceCommonInfo, prevParams, currParams,
                        invariantUuid, modifier, artifactData, comment, did);
                break;
            case ARTIFACT_UPLOAD:
            case ARTIFACT_DELETE:
            case ARTIFACT_METADATA_UPDATE:
            case ARTIFACT_PAYLOAD_UPDATE:
            case ARTIFACT_DOWNLOAD:
                factory = new AuditArtifactResourceAdminEventFactory(action, commonFields, resourceCommonInfo, prevParams, currParams,
                        invariantUuid, modifier, artifactData, comment, did);
                break;
            case DISTRIBUTION_STATE_CHANGE_REQUEST:
                factory = new AuditDistStateChangeRequestResourceAdminEventFactory(commonFields, resourceCommonInfo, prevParams, currParams,
                         invariantUuid, modifier, artifactData, comment, did);
                break;
            case DISTRIBUTION_STATE_CHANGE_APPROV:
            case DISTRIBUTION_STATE_CHANGE_REJECT:
                factory = new AuditDistStateChangeResourceAdminEventFactory(action, commonFields, resourceCommonInfo, prevParams, currParams,
                         invariantUuid, modifier, artifactData, comment, did);
                break;
            default:
                throw new UnsupportedOperationException();
        }
        return factory;
    }

}