diff options
author | Angel Avila | 2014-01-06 20:28:31 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2014-01-06 20:28:31 +0000 |
commit | 21cd0edf1727147e19802a2626f3a8051cfc9f32 (patch) | |
tree | 56e8625d59ad7864f5358b9a15a05f68ff7e1c0a /plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java | |
parent | 8bc75ed4fff5f4e07811929d5542e32520e05e6d (diff) | |
download | org.eclipse.osee-21cd0edf1727147e19802a2626f3a8051cfc9f32.tar.gz org.eclipse.osee-21cd0edf1727147e19802a2626f3a8051cfc9f32.tar.xz org.eclipse.osee-21cd0edf1727147e19802a2626f3a8051cfc9f32.zip |
feature[ats_EWFPC]: Create Disposition REST API
Create Disposition business logic
Create Disposition tests
Create Disposition REST API
Change-Id: I6aad85db0d79c44608a504584d88225eaa5424b8
Diffstat (limited to 'plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java')
-rw-r--r-- | plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java new file mode 100644 index 00000000000..77391f77bc5 --- /dev/null +++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2013 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ + +package org.eclipse.osee.disposition.rest.internal; + +import java.util.Date; +import org.eclipse.osee.disposition.model.DispoAnnotationData; +import org.eclipse.osee.disposition.model.DispoItem; +import org.eclipse.osee.disposition.model.DispoItemData; +import org.eclipse.osee.disposition.model.DispoSetData; +import org.eclipse.osee.disposition.model.DispoSetDescriptorData; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.logger.Log; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/** + * @author Angel Avila + */ + +public class DispoDataFactory { + + private Log logger; + private DispoConnector dispoConnector; + + public void setLogger(Log logger) { + this.logger = logger; + } + + public void setDispoConnector(DispoConnector dispoConnector) { + this.dispoConnector = dispoConnector; + } + + public void start() { + logger.trace("Starting DispoDataFactory..."); + } + + public void stop() { + logger.trace("Stopping DispoDataFactory..."); + } + + public DispoSetData creteSetDataFromDescriptor(DispoSetDescriptorData descriptor) { + DispoSetData newSet = new DispoSetData(); + newSet.setName(descriptor.getName()); + newSet.setImportPath(descriptor.getImportPath()); + newSet.setImportState("NONE"); + newSet.setStatusCount("0/0"); + newSet.setNotesList(new JSONArray()); + + return newSet; + } + + public void initDispoItem(DispoItemData itemToInit) { + itemToInit.setAnnotationsList(new JSONObject()); + itemToInit.setDiscrepanciesList(new JSONArray()); + itemToInit.setStatus("PASS"); + + Date date = new Date(); + itemToInit.setCreationDate(date); + itemToInit.setLastUpdate(date); + } + + public void initAnnotation(DispoAnnotationData annotationToInit) { + annotationToInit.setIdsOfCoveredDiscrepancies(new JSONArray()); + annotationToInit.setNotesList(new JSONArray()); + } + + public DispoItem createUpdatedItem(JSONObject annotationsList, JSONArray discrepanciesList, boolean updateStatus) { + DispoItemData newItem = new DispoItemData(); + newItem.setAnnotationsList(annotationsList); + newItem.setDiscrepanciesList(discrepanciesList); + if (updateStatus) { + newItem.setStatus(dispoConnector.allDiscrepanciesAnnotated(newItem)); + } + + return newItem; + } + + public JSONArray mergeJsonArrays(JSONArray currentArray, JSONArray arrayToAdd) { + String currentJsonString = currentArray.toString().trim(); + String toAddJsonString = arrayToAdd.toString(); + StringBuilder sb = new StringBuilder(); + + if (!currentJsonString.equals("[]")) { + sb.append(currentJsonString); + sb.replace(currentJsonString.length() - 1, currentJsonString.length(), ","); + sb.append(toAddJsonString.replaceFirst("\\[", "")); + } else { + sb.append(toAddJsonString); + } + JSONArray toReturn; + try { + toReturn = new JSONArray(sb.toString()); + } catch (JSONException ex) { + toReturn = currentArray; + throw new OseeCoreException(ex); + } + + return toReturn; + + } + + public String getNewId() { + return GUID.create(); + } +} |