import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
-import java.io.IOException;
import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Date;
import org.yaml.snakeyaml.Yaml;
/**
- * Closed loop operations
+ * Closed loop operations.
*/
@Component
public class LoopOperation {
this.loopService = loopService;
this.dcaeDispatcherServices = dcaeDispatcherServices;
}
-
+
/**
* Deploy the closed loop.
*
* @param loopName
* the loop name
* @return the updated loop
- * @throws Exceptions
- * during the operation
+ * @throws OperationException
+ * Exception during the operation
*/
public Loop deployLoop(Exchange camelExchange, String loopName) throws OperationException {
util.entering(request, "CldsService: Deploy model");
return loop;
}
- private JsonElement wrapSnakeObject(Object o) {
+ private JsonElement wrapSnakeObject(Object obj) {
// NULL => JsonNull
- if (o == null)
+ if (obj == null) {
return JsonNull.INSTANCE;
+ }
// Collection => JsonArray
- if (o instanceof Collection) {
+ if (obj instanceof Collection) {
JsonArray array = new JsonArray();
- for (Object childObj : (Collection<?>) o)
+ for (Object childObj : (Collection<?>) obj) {
array.add(wrapSnakeObject(childObj));
+ }
return array;
}
// Array => JsonArray
- if (o.getClass().isArray()) {
+ if (obj.getClass().isArray()) {
JsonArray array = new JsonArray();
int length = Array.getLength(array);
- for (int i = 0; i < length; i++)
+ for (int i = 0; i < length; i++) {
array.add(wrapSnakeObject(Array.get(array, i)));
+ }
return array;
}
// Map => JsonObject
- if (o instanceof Map) {
- Map<?, ?> map = (Map<?, ?>) o;
+ if (obj instanceof Map) {
+ Map<?, ?> map = (Map<?, ?>) obj;
JsonObject jsonObject = new JsonObject();
for (final Map.Entry<?, ?> entry : map.entrySet()) {
}
// otherwise take it as a string
- return new JsonPrimitive(String.valueOf(o));
- }
-
- /**
- * Submit the Ms policies.
- *
- * @param loopName
- * the loop name
- * @return the updated loop
- * @throws IOException
- * IO exception
- * @throws Exceptions
- * during the operation
- */
- public Loop submitMsPolicies(String loopName) throws OperationException, IOException {
- util.entering(request, "LoopOperation: delete microservice policies");
- Date startTime = new Date();
- Loop loop = loopService.getLoop(loopName);
-
- if (loop == null) {
- String msg = "Submit MS policies exception: Not able to find closed loop:" + loopName;
- util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), msg, Level.INFO,
- ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // verify the current closed loop state
- if (loop.getLastComputedState() != LoopState.SUBMITTED && loop.getLastComputedState() != LoopState.DESIGN) {
- String msg = "Submit MS policies exception: This closed loop is in state:" + loop.getLastComputedState()
- + ". It could be deleted only when it is in SUBMITTED state.";
- util.exiting(HttpStatus.CONFLICT.toString(), msg, Level.INFO, ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // Establish the api call to Policy to create the ms services
- // policyOp.createMsPolicy(loop.getMicroServicePolicies());
-
- // audit log
- LoggingUtils.setTimeContext(startTime, new Date());
- auditLogger.info("Deletion of MS policies completed");
- util.exiting(HttpStatus.OK.toString(), "Successful", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
- return loop;
- }
-
- /**
- * Delete the Ms policies.
- *
- * @param loopName
- * the loop name
- * @return the updated loop
- * @throws IOException
- * IO exception
- * @throws Exceptions
- * during the operation
- */
- public Loop deleteMsPolicies(Exchange camelExchange, String loopName) throws OperationException, IOException {
- util.entering(request, "LoopOperation: delete microservice policies");
- Date startTime = new Date();
- Loop loop = loopService.getLoop(loopName);
-
- if (loop == null) {
- String msg = "Delete MS policies exception: Not able to find closed loop:" + loopName;
- util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), msg, Level.INFO,
- ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // verify the current closed loop state
- if (loop.getLastComputedState() != LoopState.SUBMITTED) {
- String msg = "Delete MS policies exception: This closed loop is in state:" + loop.getLastComputedState()
- + ". It could be deleted only when it is in SUBMITTED state.";
- util.exiting(HttpStatus.CONFLICT.toString(), msg, Level.INFO, ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // Establish the api call to Policy to create the ms services
- // policyOp.deleteMsPolicy(loop.getMicroServicePolicies());
-
- // audit log
- LoggingUtils.setTimeContext(startTime, new Date());
- auditLogger.info("Deletion of MS policies completed");
- util.exiting(HttpStatus.OK.toString(), "Successful", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
- return loop;
+ return new JsonPrimitive(String.valueOf(obj));
}
- /**
- * Delete the operational policy.
- *
- * @param loopName
- * the loop name
- * @return the updated loop
- * @throws Exceptions
- * during the operation
- */
- public Loop deleteOpPolicy(Exchange camelExchange, String loopName) throws OperationException {
- util.entering(request, "LoopOperation: delete guard policy");
- Date startTime = new Date();
- Loop loop = loopService.getLoop(loopName);
-
- if (loop == null) {
- String msg = "Delete guard policy exception: Not able to find closed loop:" + loopName;
- util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), msg, Level.INFO,
- ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // verify the current closed loop state
- if (loop.getLastComputedState() != LoopState.SUBMITTED) {
- String msg = "Delete MS policies exception: This closed loop is in state:" + loop.getLastComputedState()
- + ". It could be deleted only when it is in SUBMITTED state.";
- util.exiting(HttpStatus.CONFLICT.toString(), msg, Level.INFO, ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // Establish the api call to Policy to delete operational policy
- // client.deleteOpPolicy();
-
- // audit log
- LoggingUtils.setTimeContext(startTime, new Date());
- auditLogger.info("Deletion of Guard policy completed");
- util.exiting(HttpStatus.OK.toString(), "Successful", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
- return loop;
- }
-
- /**
- * Delete the Guard policy.
- *
- * @param loopName
- * the loop name
- * @return the updated loop
- * @throws Exceptions
- * during the operation
- */
- public Loop deleteGuardPolicy(Exchange camelExchange, String loopName) throws OperationException {
- util.entering(request, "LoopOperation: delete operational policy");
- Date startTime = new Date();
- Loop loop = loopService.getLoop(loopName);
-
- if (loop == null) {
- String msg = "Delete operational policy exception: Not able to find closed loop:" + loopName;
- util.exiting(HttpStatus.INTERNAL_SERVER_ERROR.toString(), msg, Level.INFO,
- ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // verify the current closed loop state
- if (loop.getLastComputedState() != LoopState.SUBMITTED) {
- String msg = "Delete MS policies exception: This closed loop is in state:" + loop.getLastComputedState()
- + ". It could be deleted only when it is in SUBMITTED state.";
- util.exiting(HttpStatus.CONFLICT.toString(), msg, Level.INFO, ONAPLogConstants.ResponseStatus.ERROR);
- throw new OperationException(msg);
- }
-
- // Establish the api call to Policy to delete Guard policy
- // client.deleteOpPolicy();
-
- // audit log
- LoggingUtils.setTimeContext(startTime, new Date());
- auditLogger.info("Deletion of operational policy completed");
- util.exiting(HttpStatus.OK.toString(), "Successful", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
- return loop;
- }
}