Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngel Avila2014-01-06 20:28:31 +0000
committerRyan D. Brooks2014-01-06 20:28:31 +0000
commit21cd0edf1727147e19802a2626f3a8051cfc9f32 (patch)
tree56e8625d59ad7864f5358b9a15a05f68ff7e1c0a /plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoDataFactory.java
parent8bc75ed4fff5f4e07811929d5542e32520e05e6d (diff)
downloadorg.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.java116
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();
+ }
+}

Back to the top