X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=it%2Fotf.git;a=blobdiff_plain;f=otf-camunda%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fotf%2Fcommon%2Fmodel%2Fhistoric%2FTestDefinitionHistoric.java;fp=otf-camunda%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fotf%2Fcommon%2Fmodel%2Fhistoric%2FTestDefinitionHistoric.java;h=aa32b5b2419059cb72bef67eacdddf9cb44044ad;hp=0000000000000000000000000000000000000000;hb=14f6f95c84a4a1fa8774190db4a03fd0214ec55f;hpb=f49bd1efeaaddd4891c1f329b18d8cfb28b3e75b diff --git a/otf-camunda/src/main/java/org/oran/otf/common/model/historic/TestDefinitionHistoric.java b/otf-camunda/src/main/java/org/oran/otf/common/model/historic/TestDefinitionHistoric.java new file mode 100644 index 0000000..aa32b5b --- /dev/null +++ b/otf-camunda/src/main/java/org/oran/otf/common/model/historic/TestDefinitionHistoric.java @@ -0,0 +1,188 @@ +/* Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +##############################################################################*/ + + +package org.oran.otf.common.model.historic; + +import org.oran.otf.common.model.TestDefinition; +import org.oran.otf.common.model.local.BpmnInstance; +import org.oran.otf.common.utility.gson.Convert; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.bson.types.ObjectId; + +public class TestDefinitionHistoric implements Serializable { + + private static final long serialVersionUID = 1L; + + private ObjectId _id; + private String testName; + private String testDescription; + private String processDefinitionKey; + private List bpmnInstances; + private ObjectId groupId; + private Date createdAt; + private Date updatedAt; + private ObjectId createdBy; + private ObjectId updatedBy; + + public TestDefinitionHistoric() { + } + + public TestDefinitionHistoric(TestDefinition testDefinition, String processDefinitionId) { + this._id = testDefinition.get_id(); + this.testName = testDefinition.getTestName(); + this.testDescription = testDefinition.getTestDescription(); + this.processDefinitionKey = testDefinition.getProcessDefinitionKey(); + this.bpmnInstances = + getHistoricBpmnInstanceAsList(testDefinition.getBpmnInstances(), processDefinitionId); + this.groupId = testDefinition.getGroupId(); + this.createdAt = testDefinition.getCreatedAt(); + this.updatedAt = testDefinition.getUpdatedAt(); + this.createdBy = testDefinition.getCreatedBy(); + this.updatedBy = testDefinition.getUpdatedBy(); + } + + public TestDefinitionHistoric( + ObjectId _id, + String testName, + String testDescription, + String processDefinitionKey, + List bpmnInstances, + ObjectId groupId, + Date createdAt, + Date updatedAt, + ObjectId createdBy, + ObjectId updatedBy) { + this._id = _id; + this.testName = testName; + this.testDescription = testDescription; + this.processDefinitionKey = processDefinitionKey; + this.bpmnInstances = bpmnInstances; + this.groupId = groupId; + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.createdBy = createdBy; + this.updatedBy = updatedBy; + } + + private List getHistoricBpmnInstanceAsList( + List bpmnInstances, String processDefinitionId) { + BpmnInstance bpmnInstance = + bpmnInstances.stream() + .filter( + _bpmnInstance -> { + return _bpmnInstance.isDeployed() + && _bpmnInstance.getProcessDefinitionId() != null + && _bpmnInstance.getProcessDefinitionId().equals(processDefinitionId); + }) + .findFirst() + .orElse(null); + + List historicBpmnInstance = new ArrayList<>(); + if (bpmnInstance != null) { + historicBpmnInstance.add(bpmnInstance); + } + + return historicBpmnInstance; + } + + public ObjectId get_id() { + return _id; + } + + public void set_id(ObjectId _id) { + this._id = _id; + } + + public String getTestName() { + return testName; + } + + public void setTestName(String testName) { + this.testName = testName; + } + + public String getTestDescription() { + return testDescription; + } + + public void setTestDescription(String testDescription) { + this.testDescription = testDescription; + } + + public String getProcessDefinitionKey() { + return processDefinitionKey; + } + + public void setProcessDefinitionKey(String processDefinitionKey) { + this.processDefinitionKey = processDefinitionKey; + } + + public List getBpmnInstances() { + return bpmnInstances; + } + + public void setBpmnInstances(List bpmnInstances) { + this.bpmnInstances = bpmnInstances; + } + + public ObjectId getGroupId() { + return groupId; + } + + public void setGroupId(ObjectId groupId) { + this.groupId = groupId; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public ObjectId getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(ObjectId createdBy) { + this.createdBy = createdBy; + } + + public ObjectId getUpdatedBy() { + return updatedBy; + } + + public void setUpdatedBy(ObjectId updatedBy) { + this.updatedBy = updatedBy; + } + + @Override + public String toString() { + return Convert.objectToJson(this); + } +}