aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java853
1 files changed, 458 insertions, 395 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java
index 41681a7c4f..909d4da994 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ComponentsUtils.java
@@ -20,26 +20,28 @@
package org.openecomp.sdc.be.impl;
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
+import fj.data.Either;
import org.apache.commons.lang3.StringUtils;
import org.openecomp.sdc.be.auditing.api.AuditEventFactory;
-import org.openecomp.sdc.be.auditing.impl.AuditAuthRequestEventFactory;
-import org.openecomp.sdc.be.auditing.impl.AuditBaseEventFactory;
-import org.openecomp.sdc.be.auditing.impl.AuditConsumerEventFactory;
-import org.openecomp.sdc.be.auditing.impl.AuditEcompOpEnvEventFactory;
-import org.openecomp.sdc.be.auditing.impl.AuditResourceEventFactoryMananger;
-import org.openecomp.sdc.be.auditing.impl.AuditingManager;
-import org.openecomp.sdc.be.auditing.impl.distribution.AuditDistribDownloadEventFactory;
+import org.openecomp.sdc.be.auditing.impl.*;
+import org.openecomp.sdc.be.auditing.impl.category.AuditCategoryEventFactory;
+import org.openecomp.sdc.be.auditing.impl.category.AuditGetCategoryHierarchyEventFactory;
+import org.openecomp.sdc.be.auditing.impl.distribution.*;
+import org.openecomp.sdc.be.auditing.impl.externalapi.*;
+import org.openecomp.sdc.be.auditing.impl.resourceadmin.AuditResourceEventFactoryManager;
+import org.openecomp.sdc.be.auditing.impl.usersadmin.AuditGetUsersListEventFactory;
import org.openecomp.sdc.be.auditing.impl.usersadmin.AuditUserAccessEventFactory;
import org.openecomp.sdc.be.auditing.impl.usersadmin.AuditUserAdminEventFactory;
+import org.openecomp.sdc.be.components.impl.ImportUtils;
import org.openecomp.sdc.be.components.impl.ImportUtils.ResultStatusEnum;
import org.openecomp.sdc.be.components.impl.ResponseFormatManager;
+import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
import org.openecomp.sdc.be.config.BeEcompErrorManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
@@ -48,45 +50,33 @@ import org.openecomp.sdc.be.datatypes.elements.AdditionalInfoParameterInfo;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
-import org.openecomp.sdc.be.model.CapabilityTypeDefinition;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ConsumerDefinition;
-import org.openecomp.sdc.be.model.DataTypeDefinition;
-import org.openecomp.sdc.be.model.GroupTypeDefinition;
-import org.openecomp.sdc.be.model.PolicyTypeDefinition;
-import org.openecomp.sdc.be.model.PropertyConstraint;
-import org.openecomp.sdc.be.model.RequirementDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.*;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.PropertyOperation.PropertyConstraintDeserialiser;
import org.openecomp.sdc.be.model.operations.impl.PropertyOperation.PropertyConstraintJacksonDeserializer;
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.DistributionData;
-import org.openecomp.sdc.be.resources.data.auditing.model.ResourceAuditData;
+import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
+import org.openecomp.sdc.be.resources.data.auditing.model.*;
import org.openecomp.sdc.be.tosca.ToscaError;
import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
+import org.openecomp.sdc.common.log.wrappers.Logger;
import org.openecomp.sdc.common.util.ThreadLocalsHolder;
import org.openecomp.sdc.common.util.ValidationUtils;
import org.openecomp.sdc.exception.ResponseFormat;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.reflect.TypeToken;
-import fj.data.Either;
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.List;
@org.springframework.stereotype.Component("componentUtils")
public class ComponentsUtils {
- private static final Logger log = LoggerFactory.getLogger(ComponentsUtils.class);
+ private static final String CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE = "convert storage response {} to action response {}";
+ private static final String INSIDE_AUDITING_FOR_AUDIT_ACTION = "Inside auditing for audit action {}";
+ private static final String AUDIT_BEFORE_SENDING_RESPONSE = "audit before sending response";
+ private static final String CONVERT_JSON_TO_OBJECT = "convertJsonToObject";
+ private static final Logger log = Logger.getLogger(ComponentsUtils.class);
private final AuditingManager auditingManager;
private final ResponseFormatManager responseFormatManager;
@@ -101,7 +91,7 @@ public class ComponentsUtils {
public <T> Either<T, ResponseFormat> convertJsonToObject(String data, User user, Class<T> clazz, AuditingActionEnum actionEnum) {
if (data == null) {
- BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
+ BeEcompErrorManager.getInstance().logBeInvalidJsonInput(CONVERT_JSON_TO_OBJECT);
log.debug("object is null after converting from json");
ResponseFormat responseFormat = getInvalidContentErrorAndAudit(user, actionEnum);
return Either.right(responseFormat);
@@ -111,7 +101,7 @@ public class ComponentsUtils {
return Either.left(obj);
} catch (Exception e) {
// INVALID JSON
- BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
+ BeEcompErrorManager.getInstance().logBeInvalidJsonInput(CONVERT_JSON_TO_OBJECT);
log.debug("failed to convert from json {}", data, e);
ResponseFormat responseFormat = getInvalidContentErrorAndAudit(user, actionEnum);
return Either.right(responseFormat);
@@ -138,13 +128,13 @@ public class ComponentsUtils {
component = mapper.readValue(data, clazz);
if (component == null) {
- BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
+ BeEcompErrorManager.getInstance().logBeInvalidJsonInput(CONVERT_JSON_TO_OBJECT);
log.debug("object is null after converting from json");
ResponseFormat responseFormat = getInvalidContentErrorAndAuditComponent(user, actionEnum, typeEnum);
return Either.right(responseFormat);
}
} catch (Exception e) {
- BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
+ BeEcompErrorManager.getInstance().logBeInvalidJsonInput(CONVERT_JSON_TO_OBJECT);
log.debug("failed to convert from json {}", data, e);
ResponseFormat responseFormat = getInvalidContentErrorAndAuditComponent(user, actionEnum, typeEnum);
return Either.right(responseFormat);
@@ -155,7 +145,7 @@ public class ComponentsUtils {
public ResponseFormat getResponseFormat(ActionStatus actionStatus, String... params) {
return responseFormatManager.getResponseFormat(actionStatus, params);
}
-
+
public ResponseFormat getResponseFormat(StorageOperationStatus storageStatus, String... params) {
return responseFormatManager.getResponseFormat(this.convertFromStorageResponse(storageStatus), params);
}
@@ -205,15 +195,13 @@ public class ComponentsUtils {
if (resourceName == null) {
return getResponseFormat(actionStatus);
}
- ResponseFormat responseFormat;
- switch (actionStatus) {
- case RESOURCE_NOT_FOUND:
- responseFormat = getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceName);
- break;
- default:
- responseFormat = getResponseFormat(actionStatus);
- break;
+ ResponseFormat responseFormat;
+ if (actionStatus == ActionStatus.RESOURCE_NOT_FOUND) {
+ responseFormat = getResponseFormat(ActionStatus.RESOURCE_NOT_FOUND, resourceName);
+ }
+ else {
+ responseFormat = getResponseFormat(actionStatus);
}
return responseFormat;
}
@@ -222,15 +210,13 @@ public class ComponentsUtils {
if (capabilityType == null) {
return getResponseFormat(actionStatus);
}
- ResponseFormat responseFormat;
- switch (actionStatus) {
- case CAPABILITY_TYPE_ALREADY_EXIST:
- responseFormat = getResponseFormat(ActionStatus.CAPABILITY_TYPE_ALREADY_EXIST, capabilityType.getType());
- break;
- default:
- responseFormat = getResponseFormat(actionStatus);
- break;
+ ResponseFormat responseFormat;
+ if (actionStatus == ActionStatus.CAPABILITY_TYPE_ALREADY_EXIST) {
+ responseFormat = getResponseFormat(ActionStatus.CAPABILITY_TYPE_ALREADY_EXIST, capabilityType.getType());
+ }
+ else {
+ responseFormat = getResponseFormat(actionStatus);
}
return responseFormat;
}
@@ -239,22 +225,21 @@ public class ComponentsUtils {
if (obj == null) {
return getResponseFormat(actionStatus);
}
- ResponseFormat responseFormat = null;
- switch (actionStatus) {
- case MISSING_CAPABILITY_TYPE:
- if (obj instanceof List && org.apache.commons.collections.CollectionUtils.isNotEmpty((List) obj)) {
- List list = (List) obj;
- if (list.get(0) instanceof RequirementDefinition) {
- responseFormat = getResponseFormat(ActionStatus.MISSING_CAPABILITY_TYPE, ((RequirementDefinition) list.get(0)).getName()); //Arbitray index, all we need is single object
- return responseFormat;
- }
+ ResponseFormat responseFormat = null;
+ if (actionStatus == ActionStatus.MISSING_CAPABILITY_TYPE) {
+ if (obj instanceof List && org.apache.commons.collections.CollectionUtils.isNotEmpty((List) obj)) {
+ List list = (List) obj;
+ if (list.get(0) instanceof RequirementDefinition) {
+ responseFormat = getResponseFormat(ActionStatus.MISSING_CAPABILITY_TYPE, ((RequirementDefinition) list
+ .get(0)).getName()); //Arbitray index, all we need is single object
+ return responseFormat;
}
- log.debug("UNKNOWN TYPE : expecting obj as a non empty List<RequirmentsDefinitions>");
- break;
- default:
- responseFormat = getResponseFormat(actionStatus);
- break;
+ }
+ log.debug("UNKNOWN TYPE : expecting obj as a non empty List<RequirmentsDefinitions>");
+ }
+ else {
+ responseFormat = getResponseFormat(actionStatus);
}
return responseFormat;
}
@@ -301,7 +286,7 @@ public class ComponentsUtils {
return getResponseFormatByUser(actionStatus, user);
}
- public ResponseFormat getResponseFormatByDE(ActionStatus actionStatus, String serviceId, String envName) {
+ public ResponseFormat getResponseFormatByDE(ActionStatus actionStatus, String envName) {
ResponseFormat responseFormat;
switch (actionStatus) {
@@ -311,9 +296,6 @@ public class ComponentsUtils {
case DISTRIBUTION_ENVIRONMENT_NOT_FOUND:
responseFormat = getResponseFormat(ActionStatus.DISTRIBUTION_ENVIRONMENT_NOT_FOUND, envName);
break;
- case DISTRIBUTION_ARTIFACT_NOT_FOUND:
- responseFormat = getResponseFormat(ActionStatus.DISTRIBUTION_ARTIFACT_NOT_FOUND, serviceId);
- break;
default:
responseFormat = getResponseFormat(actionStatus);
break;
@@ -338,26 +320,33 @@ public class ComponentsUtils {
public ResponseFormat getInvalidContentErrorAndAudit(User user, String resourceName, AuditingActionEnum actionEnum) {
ResponseFormat responseFormat = responseFormatManager.getResponseFormat(ActionStatus.INVALID_CONTENT);
- log.debug("audit before sending response");
+ log.debug(AUDIT_BEFORE_SENDING_RESPONSE);
auditResource(responseFormat, user, resourceName, actionEnum);
return responseFormat;
}
+ public ResponseFormat getInvalidContentErrorForConsumerAndAudit(User user, ConsumerDefinition consumer, AuditingActionEnum actionEnum) {
+ ResponseFormat responseFormat = responseFormatManager.getResponseFormat(ActionStatus.INVALID_CONTENT);
+ log.debug(AUDIT_BEFORE_SENDING_RESPONSE);
+ auditConsumerCredentialsEvent(actionEnum, consumer, responseFormat, user);
+ return responseFormat;
+ }
+
public ResponseFormat getInvalidContentErrorAndAudit(User user, AuditingActionEnum actionEnum) {
ResponseFormat responseFormat = responseFormatManager.getResponseFormat(ActionStatus.INVALID_CONTENT);
- log.debug("audit before sending response");
+ log.debug(AUDIT_BEFORE_SENDING_RESPONSE);
auditAdminUserAction(actionEnum, user, null, null, responseFormat);
return responseFormat;
}
public ResponseFormat getInvalidContentErrorAndAuditComponent(User user, AuditingActionEnum actionEnum, ComponentTypeEnum typeEnum) {
ResponseFormat responseFormat = responseFormatManager.getResponseFormat(ActionStatus.INVALID_CONTENT);
- log.debug("audit before sending response");
+ log.debug(AUDIT_BEFORE_SENDING_RESPONSE);
auditComponentAdmin(responseFormat, user, null, actionEnum, typeEnum);
return responseFormat;
}
- public void auditResource(ResponseFormat responseFormat, User modifier, Resource resource, AuditingActionEnum actionEnum, ResourceAuditData prevResFields) {
+ public void auditResource(ResponseFormat responseFormat, User modifier, Resource resource, AuditingActionEnum actionEnum, ResourceVersionInfo prevResFields) {
auditResource(responseFormat, modifier, resource, resource.getName(), actionEnum, prevResFields, null, null);
}
@@ -370,14 +359,14 @@ public class ComponentsUtils {
}
public void auditResource(ResponseFormat responseFormat, User modifier, Resource resource, String resourceName, AuditingActionEnum actionEnum) {
- auditResource(responseFormat, modifier, resource, resourceName, actionEnum, ResourceAuditData.newBuilder().build(), null, null);
+ auditResource(responseFormat, modifier, resource, resourceName, actionEnum, ResourceVersionInfo.newBuilder().build(), null, null);
}
public void auditResource(ResponseFormat responseFormat, User modifier, Resource resource, String resourceName, AuditingActionEnum actionEnum,
- ResourceAuditData prevResFields, String currentArtifactUuid, String artifactData) {
+ ResourceVersionInfo prevResFields, String currentArtifactUuid, ArtifactDefinition artifactDefinition) {
if (actionEnum != null) {
int status = responseFormat.getStatus();
- String message = "";
+
String uuid = null;
String resourceCurrVersion = null;
String resourceCurrState = null;
@@ -385,12 +374,11 @@ public class ComponentsUtils {
String resourceType = ComponentTypeEnum.RESOURCE.getValue();
String toscaNodeType = null;
- log.trace("Inside auditing for audit action {}", actionEnum);
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
+ String message = getMessageString(responseFormat);
+
+ String artifactData = buildAuditingArtifactData(artifactDefinition);
if (resource != null) {
resourceName = resource.getName();
@@ -406,7 +394,7 @@ public class ComponentsUtils {
toscaNodeType = resource.getToscaResourceName();
}
- AuditBaseEventFactory factory = AuditResourceEventFactoryMananger.createResourceEventFactory(
+ AuditEventFactory factory = AuditResourceEventFactoryManager.createResourceEventFactory(
actionEnum,
CommonAuditData.newBuilder()
.status(status)
@@ -414,149 +402,279 @@ public class ComponentsUtils {
.requestId(ThreadLocalsHolder.getUuid())
.serviceInstanceId(uuid)
.build(),
+ new ResourceCommonInfo(resourceName, resourceType),
prevResFields,
- ResourceAuditData.newBuilder()
+ ResourceVersionInfo.newBuilder()
.artifactUuid(currentArtifactUuid)
.state(resourceCurrState)
.version(resourceCurrVersion)
.build(),
- resourceType, resourceName, invariantUUID,
- modifier, artifactData, null, null, toscaNodeType);
+ invariantUUID,
+ modifier,
+ artifactData, null, null, toscaNodeType);
getAuditingManager().auditEvent(factory);
}
}
- private void updateUserFields(User modifier, EnumMap<AuditingFieldsKeysEnum, Object> auditingFields) {
- if (modifier != null) {
- String firstName = modifier.getFirstName();
- String lastName = modifier.getLastName();
- if (firstName != null || lastName != null) {// to prevent "null
- // null" names
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, firstName + " " + lastName);
- }
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
+ private String getMessageString(ResponseFormat responseFormat) {
+ String message = "";
+ if (responseFormat.getMessageId() != null) {
+ message = responseFormat.getMessageId() + ": ";
}
+ message += responseFormat.getFormattedMessage();
+ return message;
}
public void auditDistributionDownload(ResponseFormat responseFormat, DistributionData distributionData) {
log.trace("Inside auditing");
int status = responseFormat.getStatus();
- String message = "";
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
- getAuditingManager().auditEvent(auditingFields);
- AuditDistribDownloadEventFactory factory = new AuditDistribDownloadEventFactory(
+ String message = getMessageString(responseFormat);
+
+ AuditDistributionDownloadEventFactory factory = new AuditDistributionDownloadEventFactory(
CommonAuditData.newBuilder()
.status(status)
.description(message)
.requestId(ThreadLocalsHolder.getUuid())
.build(),
distributionData);
+ getAuditingManager().auditEvent(factory);
+ }
+
+ public void auditExternalGetAsset(ResponseFormat responseFormat, AuditingActionEnum actionEnum, DistributionData distributionData,
+ ResourceCommonInfo resourceCommonInfo, String requestId, String serviceInstanceId) {
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
+
+ AuditEventFactory factory = new AuditAssetExternalApiEventFactory(actionEnum,
+ CommonAuditData.newBuilder()
+ .status(responseFormat.getStatus())
+ .description(getMessageString(responseFormat))
+ .requestId(requestId)
+ .serviceInstanceId(serviceInstanceId)
+ .build(),
+ resourceCommonInfo, distributionData);
+
getAuditingManager().auditEvent(factory);
}
- public void auditExternalGetAsset(ResponseFormat responseFormat, AuditingActionEnum actionEnum, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- log.trace("Inside auditing for audit action {}", actionEnum);
- int status = responseFormat.getStatus();
- String message = "";
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
+ public void auditExternalGetAssetList(ResponseFormat responseFormat, AuditingActionEnum actionEnum, DistributionData distributionData, String requestId) {
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
+
+ AuditEventFactory factory = new AuditAssetListExternalApiEventFactory(actionEnum,
+ CommonAuditData.newBuilder()
+ .status(responseFormat.getStatus())
+ .description(getMessageString(responseFormat))
+ .requestId(requestId)
+ .build(),
+ distributionData);
+
+ getAuditingManager().auditEvent(factory);
+ }
+
+ public void auditChangeLifecycleAction(ResponseFormat responseFormat, ComponentTypeEnum componentType, String requestId,
+ Component component, Component responseObject, DistributionData distributionData, User modifier) {
+
+ String invariantUuid = "";
+ String serviceInstanceId = "";
+ ResourceVersionInfo currResourceVersionInfo = null;
+ ResourceVersionInfo prevResourceVersionInfo = null;
+ ResourceCommonInfo resourceCommonInfo = new ResourceCommonInfo(componentType.getValue());
+
+ if (component != null) {
+ prevResourceVersionInfo = buildResourceVersionInfoFromComponent(component);
+ resourceCommonInfo.setResourceName(component.getName());
}
- message += responseFormat.getFormattedMessage();
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, message);
- if (additionalParams != null) {
- auditingFields.putAll(additionalParams);
+ if (responseObject != null){
+ currResourceVersionInfo = buildResourceVersionInfoFromComponent(responseObject);
+ invariantUuid = responseObject.getInvariantUUID();
+ serviceInstanceId = responseObject.getUUID();
+ }
+ else if (component != null){
+ currResourceVersionInfo = buildResourceVersionInfoFromComponent(component);
+ invariantUuid = component.getInvariantUUID();
+ serviceInstanceId = component.getUUID();
}
- getAuditingManager().auditEvent(auditingFields);
+ if (prevResourceVersionInfo == null) {
+ prevResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .build();
+ }
+ if (currResourceVersionInfo == null) {
+ currResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .build();
+ }
+ AuditEventFactory factory = new AuditChangeLifecycleExternalApiEventFactory(
+ CommonAuditData.newBuilder()
+ .serviceInstanceId(serviceInstanceId)
+ .requestId(requestId)
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .build(),
+ resourceCommonInfo, distributionData,
+ prevResourceVersionInfo, currResourceVersionInfo,
+ invariantUuid, modifier);
+
+ getAuditingManager().auditEvent(factory);
}
- public void auditExternalCrudApi(ResponseFormat responseFormat, String componentType, String actionEnum, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- log.trace("Inside auditing for audit action {}", actionEnum);
- String instanceIdHeader = request.getHeader(Constants.X_ECOMP_INSTANCE_ID_HEADER);
- String requestURI = request.getRequestURI();
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- int status = 0;
- String message = "";
- if (responseFormat != null) {
- status = responseFormat.getStatus();
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
+ private ResourceVersionInfo buildResourceVersionInfoFromComponent(Component component) {
+ return ResourceVersionInfo.newBuilder()
+ .version(component.getVersion())
+ .state(component.getLifecycleState().name())
+ .build();
+ }
+
+ public void auditExternalCrudApi(ResponseFormat responseFormat, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, HttpServletRequest request,
+ ArtifactDefinition artifactDefinition, String artifactUuid) {
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
+
+ ResourceVersionInfo currResourceVersionInfo;
+ User modifier = new User();
+ modifier.setUserId(request.getHeader(Constants.USER_ID_HEADER));
+ String artifactData = "";
+ DistributionData distributionData = new DistributionData(request.getHeader(Constants.X_ECOMP_INSTANCE_ID_HEADER), request.getRequestURI());
+ String requestId = request.getHeader(Constants.X_ECOMP_REQUEST_ID_HEADER);
+
+
+ if (artifactDefinition == null) {
+ currResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .artifactUuid(artifactUuid)
+ .build();
}
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, instanceIdHeader);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL, requestURI);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE, componentType);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, message);
-
- if (additionalParams != null) {
- auditingFields.putAll(additionalParams);
- if (!additionalParams.containsKey(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME)) {
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, "");
- }
+ else {
+ currResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .artifactUuid(artifactDefinition.getArtifactUUID())
+ .version(artifactDefinition.getArtifactVersion())
+ .build();
+ artifactData = buildAuditingArtifactData(artifactDefinition);
+ modifier.setUserId(artifactDefinition.getUserIdLastUpdater());
}
+ AuditEventFactory factory = new AuditCrudExternalApiArtifactEventFactory(actionEnum,
+ CommonAuditData.newBuilder()
+ .status(responseFormat.getStatus())
+ .description(getMessageString(responseFormat))
+ .requestId(requestId)
+ .build(),
+ resourceCommonInfo, distributionData, ResourceVersionInfo.newBuilder().build(), currResourceVersionInfo,
+ null, modifier, artifactData);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
- public void auditExternalActivateService(ResponseFormat responseFormat, String componentType, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- auditExternalCrudApi(responseFormat, componentType, AuditingActionEnum.ACTIVATE_SERVICE_BY_API.getName(), request, additionalParams);
- }public void auditExternalDownloadArtifact(ResponseFormat responseFormat, String componentType, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- auditExternalCrudApi(responseFormat, componentType, AuditingActionEnum.DOWNLOAD_ARTIFACT.getName(), request, additionalParams);
+ public boolean isExternalApiEvent(AuditingActionEnum auditingActionEnum){
+ return auditingActionEnum != null && auditingActionEnum.getAuditingEsType().equals(AuditingTypesConstants.EXTERNAL_API_EVENT_TYPE);
}
- public void auditExternalUploadArtifact(ResponseFormat responseFormat, String componentType, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, request.getHeader(Constants.USER_ID_HEADER));
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID, "");
- auditExternalCrudApi(responseFormat, componentType, AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), request, additionalParams);
- }
+ public void auditCreateResourceExternalApi(ResponseFormat responseFormat, ResourceCommonInfo resourceCommonInfo, HttpServletRequest request,
+ Resource resource) {
+
+ String invariantUuid = null;
+ String serviceInstanceId = null;
+
+ User modifier = new User();
+ modifier.setUserId(request.getHeader(Constants.USER_ID_HEADER));
+ DistributionData distributionData = new DistributionData(request.getHeader(Constants.X_ECOMP_INSTANCE_ID_HEADER), request.getRequestURI());
+ String requestId = request.getHeader(Constants.X_ECOMP_REQUEST_ID_HEADER);
+
+ ResourceVersionInfo currResourceVersionInfo;
+
+ if( resource != null ){
+ currResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .state(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name())
+ .version(ImportUtils.Constants.FIRST_NON_CERTIFIED_VERSION)
+ .build();
+ resourceCommonInfo.setResourceName(resource.getName());
+ invariantUuid = resource.getInvariantUUID();
+ serviceInstanceId = resource.getUUID();
+ }
+ else {
+ currResourceVersionInfo = ResourceVersionInfo.newBuilder()
+ .build();
+ }
+
+ AuditEventFactory factory = new AuditCreateResourceExternalApiEventFactory(
+ CommonAuditData.newBuilder()
+ .status(responseFormat.getStatus())
+ .description(getMessageString(responseFormat))
+ .requestId(requestId)
+ .serviceInstanceId(serviceInstanceId)
+ .build(),
+ resourceCommonInfo, distributionData,
+ currResourceVersionInfo, invariantUuid, modifier);
- public void auditExternalUpdateArtifact(ResponseFormat responseFormat, String componentType, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, request.getHeader(Constants.USER_ID_HEADER));
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID, "");
- auditExternalCrudApi(responseFormat, componentType, AuditingActionEnum.ARTIFACT_UPDATE_BY_API.getName(), request, additionalParams);
+ getAuditingManager().auditEvent(factory);
}
- public void auditExternalDeleteArtifact(ResponseFormat responseFormat, String componentType, HttpServletRequest request, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, request.getHeader(Constants.USER_ID_HEADER));
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_PREV_ARTIFACT_UUID, "");
- auditExternalCrudApi(responseFormat, componentType, AuditingActionEnum.ARTIFACT_DELETE_BY_API.getName(), request, additionalParams);
+ public void auditExternalActivateService(ResponseFormat responseFormat, DistributionData distributionData, String requestId, String serviceInstanceUuid, User modifier) {
+ AuditEventFactory factory = new AuditActivateServiceExternalApiEventFactory(
+ CommonAuditData.newBuilder()
+ .serviceInstanceId(serviceInstanceUuid)
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .requestId(requestId)
+ .build(),
+ new ResourceCommonInfo(ComponentTypeEnum.SERVICE.name()), distributionData, "", modifier);
+ getAuditingManager().auditEvent(factory);
}
- public void auditCategory(ResponseFormat responseFormat, User modifier, String categoryName, String subCategoryName, String groupingName, AuditingActionEnum actionEnum, String componentType) {
- log.trace("Inside auditing for audit action {}", actionEnum);
- int status = responseFormat.getStatus();
- String message = "";
+ public void auditExternalDownloadArtifact(ResponseFormat responseFormat, ResourceCommonInfo resourceCommonInfo,
+ DistributionData distributionData, String requestId, String currArtifactUuid, String userId) {
+ User modifier = new User();
+ modifier.setUserId(userId);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
+ AuditEventFactory factory = new AuditDownloadArtifactExternalApiEventFactory(
+ CommonAuditData.newBuilder()
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .requestId(requestId)
+ .build(),
+ resourceCommonInfo, distributionData,
+ ResourceVersionInfo.newBuilder()
+ .artifactUuid(currArtifactUuid)
+ .build(),
+ modifier);
+ getAuditingManager().auditEvent(factory);
+ }
+
+ private String buildAuditingArtifactData(ArtifactDefinition artifactDefinition) {
+ StringBuilder sb = new StringBuilder();
+ if (artifactDefinition != null) {
+ sb.append(artifactDefinition.getArtifactGroupType().getType())
+ .append(",")
+ .append("'")
+ .append(artifactDefinition.getArtifactLabel())
+ .append("'")
+ .append(",")
+ .append(artifactDefinition.getArtifactType())
+ .append(",")
+ .append(artifactDefinition.getArtifactName())
+ .append(",")
+ .append(artifactDefinition.getTimeout())
+ .append(",")
+ .append(artifactDefinition.getEsId());
+
+ sb.append(",");
+ sb.append(artifactDefinition.getArtifactVersion() != null ? artifactDefinition.getArtifactVersion() : " ");
+ sb.append(",");
+ sb.append(artifactDefinition.getArtifactUUID() != null ? artifactDefinition.getArtifactUUID() : " ");
}
- message += responseFormat.getFormattedMessage();
+ return sb.toString();
+ }
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- updateUserFields(modifier, auditingFields);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE, componentType);
+ public void auditCategory(ResponseFormat responseFormat, User modifier, String categoryName, String subCategoryName, String groupingName, AuditingActionEnum actionEnum, String componentType) {
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, message);
+ AuditEventFactory factory = new AuditCategoryEventFactory(actionEnum,
+ CommonAuditData.newBuilder()
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .requestId(ThreadLocalsHolder.getUuid())
+ .build(),
+ modifier, categoryName, subCategoryName, groupingName, componentType);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_CATEGORY_NAME, categoryName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_SUB_CATEGORY_NAME, subCategoryName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_GROUPING_NAME, groupingName);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
public ActionStatus convertFromStorageResponse(StorageOperationStatus storageResponse) {
@@ -614,9 +732,6 @@ public class ComponentsUtils {
case DISTR_ENVIRONMENT_SENT_IS_INVALID:
responseEnum = ActionStatus.DISTRIBUTION_ENVIRONMENT_INVALID;
break;
- case DISTR_ARTIFACT_NOT_FOUND:
- responseEnum = ActionStatus.DISTRIBUTION_ARTIFACT_NOT_FOUND;
- break;
case INVALID_TYPE:
responseEnum = ActionStatus.INVALID_CONTENT;
break;
@@ -638,11 +753,14 @@ public class ComponentsUtils {
case INVALID_PROPERTY:
responseEnum = ActionStatus.INVALID_PROPERTY;
break;
- default:
+ case COMPONENT_IS_ARCHIVED:
+ responseEnum = ActionStatus.COMPONENT_IS_ARCHIVED;
+ break;
+ default:
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -688,7 +806,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -716,7 +834,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -756,7 +874,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -812,36 +930,41 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
- public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type, ResourceAuditData prevComponent, String comment) {
- auditComponent(responseFormat, modifier, component, actionEnum, type, prevComponent, null, null, comment, null, null);
+ public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, ResourceVersionInfo prevComponent, String comment) {
+ auditComponent(responseFormat, modifier, component, actionEnum, resourceCommonInfo, prevComponent, null, comment, null, null);
}
- public void auditComponentAdmin(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type) {
- auditComponent(responseFormat, modifier, component, actionEnum, type, ResourceAuditData.newBuilder().build());
+ public void auditComponentAdmin(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum typeEnum) {
+ auditComponent(responseFormat, modifier, component, actionEnum, new ResourceCommonInfo(typeEnum.getValue()), ResourceVersionInfo.newBuilder().build());
}
- public void auditComponentAdmin(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type, ResourceAuditData prevComponent) {
- auditComponent(responseFormat, modifier, component, actionEnum, type, prevComponent);
+ public void auditComponentAdmin(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum typeEnum, String comment) {
+ auditComponent(responseFormat, modifier, component, actionEnum, new ResourceCommonInfo(typeEnum.getValue()), ResourceVersionInfo.newBuilder().build(), null,
+ comment, null, null);
}
- public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type, ResourceAuditData prevComponent) {
- auditComponent(responseFormat, modifier, component, actionEnum, type, prevComponent, null, null, null, null, null);
+ public void auditComponentAdmin(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum typeEnum, ResourceVersionInfo prevComponent) {
+ auditComponent(responseFormat, modifier, component, actionEnum, new ResourceCommonInfo(typeEnum.getValue()), prevComponent);
}
+ public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, ResourceVersionInfo prevComponent) {
+ auditComponent(responseFormat, modifier, component, actionEnum, resourceCommonInfo, prevComponent, null, null, null, null);
+ }
- public void auditComponent(ResponseFormat responseFormat, User modifier, AuditingActionEnum actionEnum, String compName, ComponentTypeEnum type, String comment) {
- auditComponent(responseFormat, modifier, null, actionEnum, type, ResourceAuditData.newBuilder().build(), null, compName, comment, null, null);
+ public void auditComponent(ResponseFormat responseFormat, User modifier, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, String comment) {
+ auditComponent(responseFormat, modifier, null, actionEnum, resourceCommonInfo, ResourceVersionInfo.newBuilder().build(), null, comment, null, null);
}
- public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type, ResourceAuditData prevComponent, ResourceAuditData currComponent) {
- auditComponent(responseFormat, modifier, component, actionEnum, type, prevComponent, currComponent, null, null, null, null);
+ public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, ResourceVersionInfo prevComponent, ResourceVersionInfo currComponent) {
+ auditComponent(responseFormat, modifier, component, actionEnum, resourceCommonInfo, prevComponent, currComponent, null, null, null);
}
- public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ComponentTypeEnum type, ResourceAuditData prevComponent, ResourceAuditData currComponent, String compName, String comment, String artifactData, String did) {
+ public void auditComponent(ResponseFormat responseFormat, User modifier, Component component, AuditingActionEnum actionEnum, ResourceCommonInfo resourceCommonInfo, ResourceVersionInfo prevComponent, ResourceVersionInfo currComponent,
+ String comment, ArtifactDefinition artifactDefinition, String did) {
if (actionEnum != null) {
String uuid = null;
String currState = null;
@@ -849,17 +972,12 @@ public class ComponentsUtils {
String currArtifactUid = null;
String currVersion = null;
String dcurrStatus = null;
- String message = "";
-
- int status = responseFormat.getStatus();
-
- log.trace("Inside auditing for audit action {}", actionEnum);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
+ log.trace(INSIDE_AUDITING_FOR_AUDIT_ACTION, actionEnum);
+ String message = getMessageString(responseFormat);
+ int status = responseFormat.getStatus();
+ String artifactData = buildAuditingArtifactData(artifactDefinition);
if (component != null) {
// fields that are filled during creation and might still be empty
@@ -869,8 +987,8 @@ public class ComponentsUtils {
uuid = component.getUUID();
invariantUUID = component.getInvariantUUID();
currVersion = component.getVersion();
- if (StringUtils.isEmpty(compName)) {
- compName = component.getComponentMetadataDefinition().getMetadataDataDefinition().getName();
+ if (StringUtils.isEmpty(resourceCommonInfo.getResourceName())) {
+ resourceCommonInfo.setResourceName(component.getComponentMetadataDefinition().getMetadataDataDefinition().getName());
}
}
if (currComponent != null) {
@@ -883,7 +1001,7 @@ public class ComponentsUtils {
currVersion = currComponent.getVersion();
}
}
- AuditBaseEventFactory factory = AuditResourceEventFactoryMananger.createResourceEventFactory(
+ AuditEventFactory factory = AuditResourceEventFactoryManager.createResourceEventFactory(
actionEnum,
CommonAuditData.newBuilder()
.status(status)
@@ -891,174 +1009,145 @@ public class ComponentsUtils {
.requestId(ThreadLocalsHolder.getUuid())
.serviceInstanceId(uuid)
.build(),
- prevComponent,
- ResourceAuditData.newBuilder()
+ resourceCommonInfo, prevComponent,
+ ResourceVersionInfo.newBuilder()
.artifactUuid(currArtifactUid)
.state(currState)
.version(currVersion)
.distributionStatus(dcurrStatus)
.build(),
- type.getValue().replace(" ", ""), compName, invariantUUID,
+ invariantUUID,
modifier, artifactData, comment, did, null);
getAuditingManager().auditEvent(factory);
}
}
- public void auditDistributionEngine(AuditingActionEnum actionEnum, String environmentName, String topicName, String role, String apiKey, String status) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
+ public void auditDistributionEngine(AuditingActionEnum action, String environmentName, DistributionTopicData distributionTopicData, String status) {
+ auditDistributionEngine(action, environmentName, distributionTopicData, null, null, status);
+ }
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVRIONMENT_NAME, environmentName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME, topicName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ROLE, role);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_API_KEY, apiKey);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- getAuditingManager().auditEvent(auditingFields);
+ public void auditDistributionEngine(AuditingActionEnum action, String environmentName, DistributionTopicData distributionTopicData, String role, String apiKey, String status) {
+ AuditEventFactory factory = AuditDistributionEngineEventFactoryManager.createDistributionEngineEventFactory(action,
+ environmentName, distributionTopicData, role, apiKey, status);
+ getAuditingManager().auditEvent(factory);
}
public void auditEnvironmentEngine(AuditingActionEnum actionEnum, String environmentID,
String environmentType, String action, String environmentName, String tenantContext) {
- getAuditingManager().auditEvent(new AuditEcompOpEnvEventFactory(actionEnum, environmentID, environmentName,
- environmentType, action, tenantContext));
+ AuditEventFactory factory = new AuditEcompOpEnvEventFactory(actionEnum, environmentID, environmentName,
+ environmentType, action, tenantContext);
+ getAuditingManager().auditEvent(factory);
}
- public void auditDistributionNotification(AuditingActionEnum actionEnum, String serviceUUID, String resourceName, String resourceType, String currVersion, String modifierUid, String modifierName, String environmentName, String currState,
- String topicName, String distributionId, String description, String status, String workloadContext, String tenant) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, serviceUUID);
-
+ public void auditDistributionNotification(String serviceUUID, String resourceName, String resourceType, String currVersion, User modifier, String environmentName, String currState,
+ String topicName, String distributionId, String description, String status, String workloadContext, String tenant) {
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME, topicName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID, distributionId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, currVersion);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE, currState);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE, resourceType);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, description);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifierUid);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifierName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TENANT, tenant);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_VNF_WORKLOAD_CONTEXT, workloadContext);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVIRONMENT_ID, environmentName);
+ AuditEventFactory factory = new AuditDistributionNotificationEventFactory(
+ CommonAuditData.newBuilder()
+ .serviceInstanceId(serviceUUID)
+ .status(status)
+ .description(description)
+ .requestId(ThreadLocalsHolder.getUuid())
+ .build(),
+ new ResourceCommonInfo(resourceName, resourceType),
+ ResourceVersionInfo.newBuilder()
+ .state(currState)
+ .version(currVersion)
+ .build(),
+ distributionId, modifier, topicName,
+ new OperationalEnvAuditData(environmentName, workloadContext, tenant));
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
public void auditAuthEvent(String url, String user, String authStatus, String realm) {
- getAuditingManager().auditEvent(new AuditAuthRequestEventFactory(
+ AuditEventFactory factory = new AuditAuthRequestEventFactory(
CommonAuditData.newBuilder()
.requestId(ThreadLocalsHolder.getUuid())
.build(),
- user, url, realm, authStatus));
+ user, url, realm, authStatus);
+ getAuditingManager().auditEvent(factory);
}
- public void auditDistributionStatusNotification(AuditingActionEnum actionEnum, String distributionId, String consumerId, String topicName, String resourceUrl, String statusTime, String status, String errorReason) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_REQUEST_ID, distributionId);
+ public void auditDistributionStatusNotification(String distributionId, String consumerId, String topicName, String resourceUrl, String statusTime, String status, String errorReason) {
ThreadLocalsHolder.setUuid(distributionId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID, distributionId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, consumerId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME, topicName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL, resourceUrl);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TIME, statusTime);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, errorReason);
+ AuditEventFactory factory = new AuditDistributionStatusEventFactory(
+ CommonAuditData.newBuilder()
+ .description(errorReason)
+ .status(status)
+ .requestId(distributionId)
+ .build(),
+ new DistributionData(consumerId, resourceUrl),
+ distributionId, topicName, statusTime);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
- public void auditGetUebCluster(AuditingActionEnum actionEnum, String consumerId, String statusTime, String status, String description) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, consumerId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TIME, statusTime);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_DESC, description);
+ public void auditGetUebCluster(String consumerId, String status, String description) {
+ AuditEventFactory factory = new AuditGetUebClusterEventFactory(
+ CommonAuditData.newBuilder()
+ .description(description)
+ .status(status)
+ .requestId(ThreadLocalsHolder.getUuid())
+ .build(),
+ consumerId);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
- public void auditMissingInstanceId(AuditingActionEnum actionEnum, String status, String description) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, null);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_TIMESTAMP, null);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, description);
-
- getAuditingManager().auditEvent(auditingFields);
+ public void auditMissingInstanceIdAsDistributionEngineEvent(AuditingActionEnum actionEnum, String status) {
+ AuditEventFactory factory = AuditDistributionEngineEventFactoryManager.createDistributionEngineEventFactory(
+ actionEnum, "",
+ DistributionTopicData.newBuilder()
+ .build(), null, null, status);
+ getAuditingManager().auditEvent(factory);
}
- public void auditTopicACLKeys(AuditingActionEnum actionEnum, String envName, String topicName, String role, String apiPublicKey, String status) {
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVRIONMENT_NAME, envName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_TOPIC_NAME, topicName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ROLE, role);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_API_KEY, apiPublicKey);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
+ public void auditRegisterOrUnRegisterEvent(AuditingActionEnum action, String consumerId, String apiPublicKey, String envName, String status, String distributionStatus, String notifTopicName, String statusTopicName) {
+ String appliedStatus = !StringUtils.isEmpty(status) ? status : distributionStatus;
- getAuditingManager().auditEvent(auditingFields);
- }
+ AuditEventFactory factory = new AuditRegUnregDistributionEngineEventFactory(action,
+ CommonAuditData.newBuilder()
+ .requestId(ThreadLocalsHolder.getUuid())
+ .status(appliedStatus)
+ .build(),
+ DistributionTopicData.newBuilder()
+ .statusTopic(statusTopicName)
+ .notificationTopic(notifTopicName)
+ .build(),
+ consumerId, apiPublicKey, envName);
- public void auditRegisterOrUnRegisterEvent(AuditingActionEnum actionEnum, String consumerId, String apiPublicKey, String envName, String status, String statusDesc, String notifTopicName, String statusTopicName) {
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, consumerId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_API_KEY, apiPublicKey);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ENVRIONMENT_NAME, envName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_DESC, statusDesc);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_NOTIFICATION_TOPIC_NAME, notifTopicName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_STATUS_TOPIC_NAME, statusTopicName);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
- public void auditServiceDistributionDeployed(AuditingActionEnum actionEnum, String serviceName, String serviceVersion, String serviceUUID, String distributionId, String status, String desc, User modifier) {
+ public void auditServiceDistributionDeployed(String serviceName, String serviceVersion, String serviceUUID, String distributionId, String status, String desc, User modifier) {
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, serviceUUID);
-
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifier.getFirstName() + " " + modifier.getLastName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_TYPE, "Service");
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, serviceName);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, serviceVersion);
+ AuditEventFactory factory = new AuditDistributionDeployEventFactory(
+ CommonAuditData.newBuilder()
+ .requestId(ThreadLocalsHolder.getUuid())
+ .serviceInstanceId(serviceUUID)
+ .status(status)
+ .description(desc)
+ .build(),
+ new ResourceCommonInfo(serviceName, "Service"),
+ distributionId,
+ modifier,
+ serviceVersion);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_ID, distributionId);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, desc);
+ getAuditingManager().auditEvent(factory);
- getAuditingManager().auditEvent(auditingFields);
}
public void auditConsumerCredentialsEvent(AuditingActionEnum actionEnum, ConsumerDefinition consumer, ResponseFormat responseFormat, User modifier) {
- int status = responseFormat.getStatus();
- String message = "";
-
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
-
AuditEventFactory factory = new AuditConsumerEventFactory(actionEnum,
CommonAuditData.newBuilder()
- .description(message)
- .status(status)
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
.requestId(ThreadLocalsHolder.getUuid())
.build(),
modifier, consumer);
@@ -1066,41 +1155,24 @@ public class ComponentsUtils {
getAuditingManager().auditEvent(factory);
}
- public void auditGetUsersList(AuditingActionEnum actionEnum, User modifier, String details, ResponseFormat responseFormat) {
-
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- if (modifier != null) {
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifier.getFirstName() + " " + modifier.getLastName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
- }
-
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_USER_DETAILS, details);
- int status = responseFormat.getStatus();
- String message = "";
+ public void auditGetUsersList(User user, String details, ResponseFormat responseFormat) {
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, message);
- getAuditingManager().auditEvent(auditingFields);
+ AuditEventFactory factory = new AuditGetUsersListEventFactory(
+ CommonAuditData.newBuilder()
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .requestId(ThreadLocalsHolder.getUuid())
+ .build(),
+ user, details);
+ getAuditingManager().auditEvent(factory);
}
public void auditAdminUserAction(AuditingActionEnum actionEnum, User modifier, User userBefore, User userAfter, ResponseFormat responseFormat) {
- int status = responseFormat.getStatus();
- String message = "";
-
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
AuditEventFactory factory = new AuditUserAdminEventFactory(actionEnum,
CommonAuditData.newBuilder()
- .description(message)
- .status(status)
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
.requestId(ThreadLocalsHolder.getUuid())
.build(),
modifier, userBefore, userAfter);
@@ -1108,19 +1180,11 @@ public class ComponentsUtils {
getAuditingManager().auditEvent(factory);
}
- public void auditUserAccess(AuditingActionEnum actionEnum, User user, ResponseFormat responseFormat) {
-
- int status = responseFormat.getStatus();
- String message = "";
-
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
+ public void auditUserAccess(User user, ResponseFormat responseFormat) {
AuditEventFactory factory = new AuditUserAccessEventFactory(CommonAuditData.newBuilder()
- .description(message)
- .status(status)
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
.requestId(ThreadLocalsHolder.getUuid())
.build(),
user);
@@ -1128,25 +1192,16 @@ public class ComponentsUtils {
getAuditingManager().auditEvent(factory);
}
- public void auditGetCategoryHierarchy(AuditingActionEnum actionEnum, User modifier, String details, ResponseFormat responseFormat) {
+ public void auditGetCategoryHierarchy(User user, String details, ResponseFormat responseFormat) {
- EnumMap<AuditingFieldsKeysEnum, Object> auditingFields = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_ACTION, actionEnum.getName());
- if (modifier != null) {
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifier.getFirstName() + " " + modifier.getLastName());
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
- }
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DETAILS, details);
- int status = responseFormat.getStatus();
- String message = "";
+ AuditEventFactory factory = new AuditGetCategoryHierarchyEventFactory(CommonAuditData.newBuilder()
+ .description(getMessageString(responseFormat))
+ .status(responseFormat.getStatus())
+ .requestId(ThreadLocalsHolder.getUuid())
+ .build(),
+ user, details);
- if (responseFormat.getMessageId() != null) {
- message = responseFormat.getMessageId() + ": ";
- }
- message += responseFormat.getFormattedMessage();
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_STATUS, status);
- auditingFields.put(AuditingFieldsKeysEnum.AUDIT_DESC, message);
- getAuditingManager().auditEvent(auditingFields);
+ getAuditingManager().auditEvent(factory);
}
public ResponseFormat getResponseFormatByComponent(ActionStatus actionStatus, Component component, ComponentTypeEnum type) {
@@ -1199,7 +1254,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -1299,7 +1354,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -1327,7 +1382,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -1358,7 +1413,7 @@ public class ComponentsUtils {
responseEnum = ActionStatus.GENERAL_ERROR;
break;
}
- log.debug("convert storage response {} to action response {}", storageResponse, responseEnum);
+ log.debug(CONVERT_STORAGE_RESPONSE_TO_ACTION_RESPONSE, storageResponse, responseEnum);
return responseEnum;
}
@@ -1458,6 +1513,14 @@ public class ComponentsUtils {
}
return result;
}
-
+
+
+ public ResponseFormat getResponseFormat(ComponentException exception) {
+ ResponseFormat responseFormat = exception.getResponseFormat();
+ if (responseFormat != null) {
+ return responseFormat;
+ }
+ return getResponseFormat(exception.getActionStatus(), exception.getParams());
+ }
}