Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2014-03-17 18:36:49 +0000
committerRyan D. Brooks2014-03-17 18:36:49 +0000
commit9d00587a56d20ed83eb38f37b4df949dc6739232 (patch)
tree69ad67317db14247f90efb19f6ff942b545dc0a2 /plugins
parentc965addc7aaf78ec4dd913f15fb8454e8d34464f (diff)
downloadorg.eclipse.osee-9d00587a56d20ed83eb38f37b4df949dc6739232.tar.gz
org.eclipse.osee-9d00587a56d20ed83eb38f37b4df949dc6739232.tar.xz
org.eclipse.osee-9d00587a56d20ed83eb38f37b4df949dc6739232.zip
feature[ats_ATS19845]: Convert Dispo to use Program tokens
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgram.java24
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgramImpl.java54
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/DispositionApiTest.java26
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionInitializer.java23
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionTestUtil.java2
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/internal/DispositionApiTest.java90
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/AnnotationResourceTest.java31
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoItemResourceTest.java27
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResourceTest.java26
-rw-r--r--plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoSetResourceTest.java35
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/DispoApi.java40
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java93
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoFactoryImpl.java37
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoQuery.java15
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoWriter.java15
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/OrcsStorageImpl.java77
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/AnnotationResource.java21
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoApplication.java11
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoItemResource.java21
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResource.java9
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoSetResource.java25
-rw-r--r--plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoFactory.java27
22 files changed, 466 insertions, 263 deletions
diff --git a/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgram.java b/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgram.java
new file mode 100644
index 00000000000..0bbf314f2dc
--- /dev/null
+++ b/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgram.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.model;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface DispoProgram {
+
+ public String getGuid();
+
+ public Long getUuid();
+
+ public String getName();
+
+}
diff --git a/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgramImpl.java b/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgramImpl.java
new file mode 100644
index 00000000000..b040bacf5ac
--- /dev/null
+++ b/plugins/org.eclipse.osee.disposition.rest.model/src/org/eclipse/osee/disposition/model/DispoProgramImpl.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * 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.model;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class DispoProgramImpl implements DispoProgram {
+
+ private String name;
+ private String guid;
+ private Long uuid;
+
+ public DispoProgramImpl(String name, String guid, Long uuid) {
+ this.name = name;
+ this.guid = guid;
+ this.uuid = uuid;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getGuid() {
+ return guid;
+ }
+
+ public void setGuid(String guid) {
+ this.guid = guid;
+ }
+
+ @Override
+ public Long getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(Long uuid) {
+ this.uuid = uuid;
+ }
+}
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/DispositionApiTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/DispositionApiTest.java
index b6b9751783a..bcce504109c 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/DispositionApiTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/DispositionApiTest.java
@@ -15,6 +15,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.eclipse.osee.disposition.model.DispoAnnotationData;
import org.eclipse.osee.disposition.model.DispoItemData;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoStrings;
import org.eclipse.osee.disposition.rest.DispoApi;
@@ -53,14 +54,15 @@ public class DispositionApiTest {
public void testDispositionApi() {
// We have one item with discrepancies: 1-10, 12-20, 23, 25, 32-90
- IOseeBranch dispoProgramBranch = dispoApi.getDispoProgramById(SAW_Bld_1.getGuid());
- String programId = dispoProgramBranch.getGuid();
+ DispoProgram sawProgram = dispoApi.getDispoFactory().createProgram(SAW_Bld_1);
+ IOseeBranch dispoProgramBranch = dispoApi.getDispoProgramById(sawProgram);
+ DispoProgram program = dispoApi.getDispoFactory().createProgram(dispoProgramBranch);
- ResultSet<DispoSetData> dispoSets = dispoApi.getDispoSets(programId);
+ ResultSet<DispoSetData> dispoSets = dispoApi.getDispoSets(program);
DispoSetData devSet = dispoSets.getExactlyOne();
String devSetId = devSet.getGuid();
- ResultSet<DispoItemData> dispoItems = dispoApi.getDispoItems(programId, devSetId);
+ ResultSet<DispoItemData> dispoItems = dispoApi.getDispoItems(program, devSetId);
DispoItemData itemOne = dispoItems.getExactlyOne();
String itemOneId = itemOne.getGuid();
@@ -71,37 +73,37 @@ public class DispositionApiTest {
DispoAnnotationData annotationOne = new DispoAnnotationData();
annotationOne.setLocationRefs("1-10");
annotationOne.setResolution("VALID");
- String createdOneId = dispoApi.createDispoAnnotation(programId, itemOneId, annotationOne);
+ String createdOneId = dispoApi.createDispoAnnotation(program, itemOneId, annotationOne);
DispoAnnotationData annotationTwo = new DispoAnnotationData();
annotationTwo.setLocationRefs("12-20");
annotationTwo.setResolution("VALID");
- String createdTwoId = dispoApi.createDispoAnnotation(programId, itemOneId, annotationTwo);
+ String createdTwoId = dispoApi.createDispoAnnotation(program, itemOneId, annotationTwo);
DispoAnnotationData annotationThree = new DispoAnnotationData();
annotationThree.setLocationRefs("23,25,32-90");
annotationThree.setResolution("VALID");
- String createdThreeId = dispoApi.createDispoAnnotation(programId, itemOneId, annotationThree);
+ String createdThreeId = dispoApi.createDispoAnnotation(program, itemOneId, annotationThree);
- itemOne = dispoApi.getDispoItemById(programId, itemOneId);
+ itemOne = dispoApi.getDispoItemById(program, itemOneId);
assertEquals(DispoStrings.Item_Complete, itemOne.getStatus());
assertEquals(5, itemOne.getDiscrepanciesList().length());
assertEquals(3, itemOne.getAnnotationsList().length());
assertTrue(itemOne.getLastUpdate().after(itemOne.getCreationDate()));
- dispoApi.deleteDispoAnnotation(programId, itemOneId, createdTwoId);
+ dispoApi.deleteDispoAnnotation(program, itemOneId, createdTwoId);
- itemOne = dispoApi.getDispoItemById(programId, itemOneId);
+ itemOne = dispoApi.getDispoItemById(program, itemOneId);
assertEquals(DispoStrings.Item_Complete, itemOne.getStatus());
assertEquals(5, itemOne.getDiscrepanciesList().length());
assertEquals(2, itemOne.getAnnotationsList().length());
- DispoAnnotationData actualAnnotation = dispoApi.getDispoAnnotationByIndex(programId, itemOneId, createdThreeId);
+ DispoAnnotationData actualAnnotation = dispoApi.getDispoAnnotationByIndex(program, itemOneId, createdThreeId);
assertEquals("23,25,32-90", actualAnnotation.getLocationRefs());
- actualAnnotation = dispoApi.getDispoAnnotationByIndex(programId, itemOneId, createdOneId);
+ actualAnnotation = dispoApi.getDispoAnnotationByIndex(program, itemOneId, createdOneId);
assertEquals("1-10", actualAnnotation.getLocationRefs());
}
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionInitializer.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionInitializer.java
index 24e2dcb654c..6817ea67bd4 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionInitializer.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionInitializer.java
@@ -17,6 +17,7 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.osee.disposition.model.Discrepancy;
import org.eclipse.osee.disposition.model.DispoItemData;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
import org.eclipse.osee.disposition.model.DispoStrings;
import org.eclipse.osee.disposition.model.LocationRange;
@@ -71,25 +72,31 @@ public class DispositionInitializer {
TransactionBuilder tx =
orcsApi.getTransactionFactory(null).createTransaction(CoreBranches.COMMON, oseeSystem, "Create Dispo Config");
ArtifactId createArtifact = tx.createArtifact(CoreArtifactTypes.GeneralData, DispoStrings.Dispo_Config_Art);
- tx.createAttributeFromString(createArtifact, CoreAttributeTypes.GeneralStringData,
- SAW_Bld_1.getGuid() + ":" + SAW_Bld_1_FOR_DISPO.getGuid());
+ StringBuffer sb = new StringBuffer(SAW_Bld_1.getGuid());
+ sb.append(":");
+ sb.append(SAW_Bld_1_FOR_DISPO.getGuid());
+ sb.append("\n");
+ sb.append(SAW_Bld_1.getUuid());
+ sb.append(":");
+ sb.append(SAW_Bld_1_FOR_DISPO.getUuid());
+ tx.createAttributeFromString(createArtifact, CoreAttributeTypes.GeneralStringData, sb.toString());
tx.commit();
// Creat Set and Item Arts
DispoSetDescriptorData descriptor = new DispoSetDescriptorData();
descriptor.setName("DEMO SET");
descriptor.setImportPath("c:");
- Identifiable<String> devSet = dispoApi.createDispoSet(SAW_Bld_1_FOR_DISPO.getGuid(), descriptor);
+ DispoProgram program = dispoApi.getDispoFactory().createProgram(SAW_Bld_1_FOR_DISPO);
+ Identifiable<String> devSet = dispoApi.createDispoSet(program, descriptor);
DispoItemData dispoItem = new DispoItemData();
dispoItem.setName("Item One");
- Identifiable<String> itemOne =
- dispoApi.createDispoItem(SAW_Bld_1_FOR_DISPO.getGuid(), devSet.getGuid(), dispoItem);
+ Identifiable<String> itemOne = dispoApi.createDispoItem(program, devSet.getGuid(), dispoItem);
- createDiscrepancies(SAW_Bld_1_FOR_DISPO.getGuid(), itemOne.getGuid());
+ createDiscrepancies(program, itemOne.getGuid());
}
- private void createDiscrepancies(String branchGuid, String itemId) {
+ private void createDiscrepancies(DispoProgram program, String itemId) {
List<JSONObject> discrepanciesToInit = new ArrayList<JSONObject>();
Discrepancy one = new Discrepancy();
one.setId(0);
@@ -129,7 +136,7 @@ public class DispositionInitializer {
JSONArray array = new JSONArray(discrepanciesToInit);
DispoItemData item = new DispoItemData();
item.setDiscrepanciesList(array);
- dispoApi.editDispoItem(branchGuid, itemId, item);
+ dispoApi.editDispoItem(program, itemId, item);
}
@SuppressWarnings("unchecked")
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionTestUtil.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionTestUtil.java
index 05b05d4056d..316ddfa9cd5 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionTestUtil.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/integration/util/DispositionTestUtil.java
@@ -27,7 +27,7 @@ public class DispositionTestUtil {
public static final IOseeBranch SAW_Bld_1_FOR_DISPO =
TokenFactory.createBranch("AyH_f2sSKy3l07fIvAVV", 2323, "SAW_Bld_1 - FOR_DISPOSITION");
- public static final IOseeBranch SAW_Bld_1 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvAAA", 2000, "SAW_Bld_1");
+ public static final IOseeBranch SAW_Bld_1 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvAAA", 3, "SAW_Bld_1");
// @formatter:on
}
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/internal/DispositionApiTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/internal/DispositionApiTest.java
index 455a9e06be6..63e149ba0a7 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/internal/DispositionApiTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/internal/DispositionApiTest.java
@@ -24,6 +24,7 @@ import java.util.List;
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.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
@@ -63,7 +64,7 @@ public class DispositionApiTest {
@Mock
private ArtifactReadable author;
@Mock
- private Identifiable<String> programId;
+ private DispoProgram program;
@Mock
private Identifiable<String> setId;
@Mock
@@ -92,7 +93,8 @@ public class DispositionApiTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(programId.getGuid()).thenReturn("abcdef");
+ when(program.getGuid()).thenReturn("abcdef");
+ when(program.getUuid()).thenReturn(23L);
when(setId.getGuid()).thenReturn("ghijkl");
when(itemId.getGuid()).thenReturn("mnopqr");
when(mockArtId.getGuid()).thenReturn("artIdabc");
@@ -109,8 +111,8 @@ public class DispositionApiTest {
@Test
public void testGetDispoProgramById() {
- when(storage.findProgramId(programId.getGuid())).thenAnswer(newAnswer(mockBranch));
- IOseeBranch actual = dispoApi.getDispoProgramById(programId.getGuid());
+ when(storage.findProgramId(program)).thenAnswer(newAnswer(mockBranch));
+ IOseeBranch actual = dispoApi.getDispoProgramById(program);
assertEquals(mockBranch, actual);
}
@@ -135,7 +137,7 @@ public class DispositionApiTest {
@Test
public void testGetDispoSets() {
ResultSet<DispoSet> dispoSetArts = ResultSets.singleton(dispoSet);
- when(storage.findDispoSets(programId.getGuid())).thenAnswer(newAnswer(dispoSetArts));
+ when(storage.findDispoSets(program)).thenAnswer(newAnswer(dispoSetArts));
when(dispoSet.getName()).thenReturn("name");
when(dispoSet.getImportPath()).thenReturn("path");
@@ -143,7 +145,7 @@ public class DispositionApiTest {
when(dispoSet.getGuid()).thenReturn("setGuid");
when(dispoSet.getStatusCount()).thenReturn("count");
- ResultSet<DispoSetData> actualResultSet = dispoApi.getDispoSets(programId.getGuid());
+ ResultSet<DispoSetData> actualResultSet = dispoApi.getDispoSets(program);
DispoSetData actualData = actualResultSet.iterator().next();
assertEquals("setGuid", actualData.getGuid());
assertEquals("name", actualData.getName());
@@ -154,14 +156,14 @@ public class DispositionApiTest {
@Test
public void testGetDispoSetById() {
- when(storage.findDispoSetsById(programId.getGuid(), setId.getGuid())).thenReturn(dispoSet);
+ when(storage.findDispoSetsById(program, setId.getGuid())).thenReturn(dispoSet);
when(dispoSet.getName()).thenReturn("name");
when(dispoSet.getImportPath()).thenReturn("path");
when(dispoSet.getNotesList()).thenReturn(jsonArray);
when(dispoSet.getGuid()).thenReturn("setGuid");
when(dispoSet.getStatusCount()).thenReturn("count");
- DispoSetData actual = dispoApi.getDispoSetById(programId.getGuid(), setId.getGuid());
+ DispoSetData actual = dispoApi.getDispoSetById(program, setId.getGuid());
assertEquals("setGuid", actual.getGuid());
assertEquals("name", actual.getName());
assertEquals("path", actual.getImportPath());
@@ -172,7 +174,7 @@ public class DispositionApiTest {
@Test
public void testGetDispoItems() {
ResultSet<DispoItem> dispoItemArts = ResultSets.singleton(dispoItem);
- when(storage.findDipoItems(programId.getGuid(), setId.getGuid())).thenReturn(dispoItemArts);
+ when(storage.findDipoItems(program, setId.getGuid())).thenReturn(dispoItemArts);
when(dispoItem.getName()).thenReturn("name");
when(dispoItem.getGuid()).thenReturn("itemGuid");
when(dispoItem.getCreationDate()).thenReturn(mockDate);
@@ -181,7 +183,7 @@ public class DispositionApiTest {
when(dispoItem.getDiscrepanciesList()).thenReturn(jsonArray);
when(dispoItem.getAnnotationsList()).thenReturn(mockAnnotations);
- ResultSet<DispoItemData> actualResultSet = dispoApi.getDispoItems(programId.getGuid(), setId.getGuid());
+ ResultSet<DispoItemData> actualResultSet = dispoApi.getDispoItems(program, setId.getGuid());
DispoItemData actualData = actualResultSet.iterator().next();
assertEquals("itemGuid", actualData.getGuid());
assertEquals("name", actualData.getName());
@@ -194,7 +196,7 @@ public class DispositionApiTest {
@Test
public void testGetDispoItemById() {
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(dispoItem);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(dispoItem);
when(dispoItem.getName()).thenReturn("name");
when(dispoItem.getGuid()).thenReturn("itemGuid");
when(dispoItem.getCreationDate()).thenReturn(mockDate);
@@ -203,7 +205,7 @@ public class DispositionApiTest {
when(dispoItem.getDiscrepanciesList()).thenReturn(jsonArray);
when(dispoItem.getAnnotationsList()).thenReturn(mockAnnotations);
- DispoItemData actualData = dispoApi.getDispoItemById(programId.getGuid(), itemId.getGuid());
+ DispoItemData actualData = dispoApi.getDispoItemById(program, itemId.getGuid());
assertEquals("itemGuid", actualData.getGuid());
assertEquals("name", actualData.getName());
assertEquals(mockDate, actualData.getCreationDate());
@@ -216,7 +218,7 @@ public class DispositionApiTest {
@Test
public void getDispoAnnotations() throws JSONException {
String annotId = "id";
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(dispoItem);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(dispoItem);
when(dispoItem.getAnnotationsList()).thenReturn(mockAnnotations);
when(mockAnnotations.keys()).thenReturn(mockKeys);
when(mockKeys.hasNext()).thenReturn(true, false);
@@ -227,8 +229,7 @@ public class DispositionApiTest {
when(jsonObject.has("locationRefs")).thenReturn(true);
when(jsonObject.getString("locationRefs")).thenReturn("1-10");
- ResultSet<DispoAnnotationData> actualResultSet =
- dispoApi.getDispoAnnotations(programId.getGuid(), itemId.getGuid());
+ ResultSet<DispoAnnotationData> actualResultSet = dispoApi.getDispoAnnotations(program, itemId.getGuid());
DispoAnnotationData actualData = actualResultSet.iterator().next();
assertEquals(annotId, actualData.getId());
@@ -238,7 +239,7 @@ public class DispositionApiTest {
@Test
public void getDispoAnnotationByIndex() throws JSONException {
String idOfAnnot = "idW";
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(dispoItem);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(dispoItem);
when(dispoItem.getAnnotationsList()).thenReturn(mockAnnotations);
when(mockAnnotations.has(idOfAnnot)).thenReturn(true);
when(mockAnnotations.getJSONObject(idOfAnnot)).thenReturn(jsonObject);
@@ -246,8 +247,7 @@ public class DispositionApiTest {
when(jsonObject.getString("id")).thenReturn(idOfAnnot);
when(jsonObject.has("locationRefs")).thenReturn(true);
when(jsonObject.getString("locationRefs")).thenReturn("1-10");
- DispoAnnotationData actualData =
- dispoApi.getDispoAnnotationByIndex(programId.getGuid(), itemId.getGuid(), idOfAnnot);
+ DispoAnnotationData actualData = dispoApi.getDispoAnnotationByIndex(program, itemId.getGuid(), idOfAnnot);
assertEquals(idOfAnnot, actualData.getId());
assertEquals("1-10", actualData.getLocationRefs());
@@ -263,15 +263,15 @@ public class DispositionApiTest {
DispoSetData setFromDescriptor = new DispoSetData();
when(dataFactory.creteSetDataFromDescriptor(descriptor)).thenReturn(setFromDescriptor);
- when(storage.createDispoSet(author, programId.getGuid(), setFromDescriptor)).thenReturn(mockArtId);
- Identifiable<String> createDispoSetId = dispoApi.createDispoSet(programId.getGuid(), descriptor);
+ when(storage.createDispoSet(author, program, setFromDescriptor)).thenReturn(mockArtId);
+ Identifiable<String> createDispoSetId = dispoApi.createDispoSet(program, descriptor);
assertEquals(mockArtId, createDispoSetId);
}
@Test
public void testCreateDispositionItem() {
ArtifactReadable x = null;
- String programUuid = programId.getGuid();
+ DispoProgram programUuid = program;
String setUuid = setId.getGuid();
DispoItemData dispoItemData = new DispoItemData();
@@ -291,7 +291,7 @@ public class DispositionApiTest {
ArgumentCaptor<Boolean> captor = ArgumentCaptor.forClass(Boolean.class);
String expectedId = "dfs";
DispoAnnotationData annotationToCreate = new DispoAnnotationData();
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(dispoItem);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(dispoItem);
when(dataFactory.getNewId()).thenReturn(expectedId);
when(dispoItem.getAnnotationsList()).thenReturn(mockAnnotations);
when(dispoItem.getDiscrepanciesList()).thenReturn(jsonArray);
@@ -302,23 +302,23 @@ public class DispositionApiTest {
// Only need to createUpdatedItem with updateStatus = True when annotation is valid and current status is INCOMPLETE
annotationToCreate.setResolution("VALID");
when(dispoItem.getStatus()).thenReturn("COMPLETE"); // captor(0)
- String acutal = dispoApi.createDispoAnnotation(programId.getGuid(), itemId.getGuid(), annotationToCreate);
+ String acutal = dispoApi.createDispoAnnotation(program, itemId.getGuid(), annotationToCreate);
assertEquals(expectedId, acutal);
when(dispoItem.getStatus()).thenReturn("PASS"); // captor(1)
- acutal = dispoApi.createDispoAnnotation(programId.getGuid(), itemId.getGuid(), annotationToCreate);
+ acutal = dispoApi.createDispoAnnotation(program, itemId.getGuid(), annotationToCreate);
assertEquals(expectedId, acutal);
when(dispoItem.getStatus()).thenReturn("INCOMPLETE"); // captor(2)
- acutal = dispoApi.createDispoAnnotation(programId.getGuid(), itemId.getGuid(), annotationToCreate);
+ acutal = dispoApi.createDispoAnnotation(program, itemId.getGuid(), annotationToCreate);
assertEquals(expectedId, acutal);
annotationToCreate.setResolution("INVALID"); // captor(3)
- acutal = dispoApi.createDispoAnnotation(programId.getGuid(), itemId.getGuid(), annotationToCreate);
+ acutal = dispoApi.createDispoAnnotation(program, itemId.getGuid(), annotationToCreate);
assertEquals(expectedId, acutal);
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(null); // shouldn't call dataFactory method
- acutal = dispoApi.createDispoAnnotation(programId.getGuid(), itemId.getGuid(), annotationToCreate);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(null); // shouldn't call dataFactory method
+ acutal = dispoApi.createDispoAnnotation(program, itemId.getGuid(), annotationToCreate);
assertEquals("", acutal);
verify(dispoConnector, times(3)).connectAnnotation(annotationToCreate, jsonArray);// Only tried to connect 3 times, excluded when annotations was invalid
@@ -335,21 +335,21 @@ public class DispositionApiTest {
ArgumentCaptor<JSONArray> captor = ArgumentCaptor.forClass(JSONArray.class);
DispoSetData newSet = new DispoSetData();
- when(storage.findDispoSetsById(programId.getGuid(), setId.getGuid())).thenReturn(dispoSet);
+ when(storage.findDispoSetsById(program, setId.getGuid())).thenReturn(dispoSet);
when(dispoSet.getNotesList()).thenReturn(jsonArray);
- boolean actual = dispoApi.editDispoSet(programId.getGuid(), setId.getGuid(), newSet);
+ boolean actual = dispoApi.editDispoSet(program, setId.getGuid(), newSet);
assertTrue(actual);
JSONArray setToEditNotes = new JSONArray();
newSet.setNotesList(setToEditNotes);
- actual = dispoApi.editDispoSet(programId.getGuid(), setId.getGuid(), newSet);
+ actual = dispoApi.editDispoSet(program, setId.getGuid(), newSet);
assertTrue(actual);
// Only should have merged Json Arrays once since the first newSet didn't have a Json Array
verify(dataFactory, times(1)).mergeJsonArrays(eq(jsonArray), captor.capture());
- when(storage.findDispoSetsById(programId.getGuid(), setId.getGuid())).thenReturn(null);
- actual = dispoApi.editDispoSet(programId.getGuid(), setId.getGuid(), newSet);
+ when(storage.findDispoSetsById(program, setId.getGuid())).thenReturn(null);
+ actual = dispoApi.editDispoSet(program, setId.getGuid(), newSet);
assertFalse(actual);
}
@@ -358,28 +358,28 @@ public class DispositionApiTest {
ArgumentCaptor<JSONArray> captor = ArgumentCaptor.forClass(JSONArray.class);
DispoItemData newItem = new DispoItemData();
- when(storage.findDispoItemById(programId.getGuid(), itemId.getGuid())).thenReturn(dispoItem);
+ when(storage.findDispoItemById(program, itemId.getGuid())).thenReturn(dispoItem);
when(dispoItem.getDiscrepanciesList()).thenReturn(jsonArray);
- boolean actual = dispoApi.editDispoItem(programId.getGuid(), itemId.getGuid(), newItem);
+ boolean actual = dispoApi.editDispoItem(program, itemId.getGuid(), newItem);
assertTrue(actual);
JSONArray discrepanciesList = new JSONArray();
newItem.setDiscrepanciesList(discrepanciesList);
- actual = dispoApi.editDispoItem(programId.getGuid(), itemId.getGuid(), newItem);
+ actual = dispoApi.editDispoItem(program, itemId.getGuid(), newItem);
assertTrue(actual);
// Only should have merged Json Arrays once since the first newSet didn't have a Json Array
verify(dataFactory, times(1)).mergeJsonArrays(eq(jsonArray), captor.capture());
newItem.setAnnotationsList(jsonObject);
- actual = dispoApi.editDispoItem(programId.getGuid(), itemId.getGuid(), newItem);
+ actual = dispoApi.editDispoItem(program, itemId.getGuid(), newItem);
assertFalse(actual);
}
@Test
public void editDispoAnnotation() throws JSONException {
DispoAnnotationData newAnnotation = new DispoAnnotationData();
- String programUuid = programId.getGuid();
+ DispoProgram programUuid = program;
String itemUuid = itemId.getGuid();
String expectedId = "1";
@@ -398,18 +398,18 @@ public class DispositionApiTest {
// add location Ref to newAnnotation so that disconnect and connect are invoked
newAnnotation.setLocationRefs("1-10");
- boolean actual = dispoApi.editDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId, newAnnotation);
+ boolean actual = dispoApi.editDispoAnnotation(program, itemId.getGuid(), expectedId, newAnnotation);
assertTrue(actual);
// reset loc ref to null and set new (invalid) resolution
newAnnotation.setLocationRefs(null);
newAnnotation.setResolution("PCR 13"); // Since PCR validation isn't hooked up yet, only valid resolution is "VALID"
- actual = dispoApi.editDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId, newAnnotation);
+ actual = dispoApi.editDispoAnnotation(program, itemId.getGuid(), expectedId, newAnnotation);
assertTrue(actual);
// set to invalid, make sure connect is not invoked
newAnnotation.setResolution("VALID"); // Since PCR validation isn't hooked up yet, only valid resolution is "VALID"
- actual = dispoApi.editDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId, newAnnotation);
+ actual = dispoApi.editDispoAnnotation(program, itemId.getGuid(), expectedId, newAnnotation);
assertTrue(actual);
// notes are the only thing being modified, no need to disconnect or connect
@@ -417,7 +417,7 @@ public class DispositionApiTest {
newAnnotation.setResolution(null);
JSONArray newNotes = new JSONArray();
newAnnotation.setNotesList(newNotes);
- actual = dispoApi.editDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId, newAnnotation);
+ actual = dispoApi.editDispoAnnotation(program, itemId.getGuid(), expectedId, newAnnotation);
assertTrue(actual);
verify(dispoConnector, times(3)).disconnectAnnotation(any(DispoAnnotationData.class), eq(jsonArray));
@@ -427,7 +427,7 @@ public class DispositionApiTest {
@Test
public void deletDispoAnnotation() throws JSONException {
- String programUuid = programId.getGuid();
+ DispoProgram programUuid = program;
String itemUuid = itemId.getGuid();
String expectedId = "1";
@@ -446,7 +446,7 @@ public class DispositionApiTest {
annotationInvalid.put("isValid", false);
when(jsonObject.getJSONObject(expectedId)).thenReturn(annotationInvalid);
- boolean actual = dispoApi.deleteDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId);
+ boolean actual = dispoApi.deleteDispoAnnotation(program, itemId.getGuid(), expectedId);
verify(dispoConnector).disconnectAnnotation(any(DispoAnnotationData.class), eq(jsonArray));
verify(jsonObject).remove(expectedId);
verify(dataFactory).createUpdatedItem(eq(jsonObject), eq(jsonArray), eq(false));
@@ -456,7 +456,7 @@ public class DispositionApiTest {
JSONObject annotationValid = new JSONObject();
annotationValid.put("isValid", true);
when(jsonObject.getJSONObject(expectedId)).thenReturn(annotationValid);
- actual = dispoApi.deleteDispoAnnotation(programId.getGuid(), itemId.getGuid(), expectedId);
+ actual = dispoApi.deleteDispoAnnotation(program, itemId.getGuid(), expectedId);
verify(dataFactory).createUpdatedItem(eq(jsonObject), eq(jsonArray), eq(true));
assertTrue(actual);
}
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/AnnotationResourceTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/AnnotationResourceTest.java
index 5aee1886435..30318e0d695 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/AnnotationResourceTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/AnnotationResourceTest.java
@@ -15,6 +15,7 @@ import static org.mockito.Mockito.when;
import javax.ws.rs.core.Response;
import org.eclipse.osee.disposition.model.DispoAnnotationData;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.rest.DispoApi;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
@@ -39,6 +40,8 @@ public class AnnotationResourceTest {
private Identifiable<String> id1;
@Mock
private Identifiable<String> id2;
+ @Mock
+ private DispoProgram program;
String mockId = "annotationID";
private AnnotationResource resource;
@@ -46,7 +49,7 @@ public class AnnotationResourceTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- resource = new AnnotationResource(dispositionApi, htmlWriter, "branchId", "setId", "itemId");
+ resource = new AnnotationResource(dispositionApi, htmlWriter, program, "setId", "itemId");
when(id1.getGuid()).thenReturn("abcdef");
when(id2.getGuid()).thenReturn("fedcba");
}
@@ -57,13 +60,13 @@ public class AnnotationResourceTest {
annotationToCreate.setLocationRefs("1-10");
annotationToCreate.setId(mockId);
- when(dispositionApi.createDispoAnnotation("branchId", "itemId", annotationToCreate)).thenReturn(mockId);
- when(dispositionApi.getDispoAnnotationByIndex("branchId", "itemId", mockId)).thenReturn(annotationToCreate);
+ when(dispositionApi.createDispoAnnotation(program, "itemId", annotationToCreate)).thenReturn(mockId);
+ when(dispositionApi.getDispoAnnotationByIndex(program, "itemId", mockId)).thenReturn(annotationToCreate);
DispoAnnotationData expectedAnnotation = new DispoAnnotationData();
expectedAnnotation.setLocationRefs(annotationToCreate.getLocationRefs());
expectedAnnotation.setId(mockId);
- when(dispositionApi.getDispoAnnotationByIndex("branchId", id1.getGuid(), mockId)).thenReturn(expectedAnnotation);
+ when(dispositionApi.getDispoAnnotationByIndex(program, id1.getGuid(), mockId)).thenReturn(expectedAnnotation);
Response postResponse = resource.postDispoAnnotation(annotationToCreate);
DispoAnnotationData returnedEntity = (DispoAnnotationData) postResponse.getEntity();
@@ -87,7 +90,7 @@ public class AnnotationResourceTest {
public void testGetAllAsHtml() {
// No Annotations3
ResultSet<DispoAnnotationData> emptyResultSet = ResultSets.emptyResultSet();
- when(dispositionApi.getDispoAnnotations("branchId", "itemId")).thenReturn(emptyResultSet);
+ when(dispositionApi.getDispoAnnotations(program, "itemId")).thenReturn(emptyResultSet);
Response noAnnotationsReponse = resource.getAllDispoAnnotations();
String messageActual = (String) noAnnotationsReponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noAnnotationsReponse.getStatus());
@@ -98,7 +101,7 @@ public class AnnotationResourceTest {
annotation.setLocationRefs("1-10");
ResultSet<DispoAnnotationData> resultSet = ResultSets.singleton(annotation);
- when(dispositionApi.getDispoAnnotations("branchId", "itemId")).thenReturn(resultSet);
+ when(dispositionApi.getDispoAnnotations(program, "itemId")).thenReturn(resultSet);
when(htmlWriter.createDispositionPage("Annotations", "annotation/", resultSet)).thenReturn("htmlFromWriter");
Response oneSetResponse = resource.getAllDispoAnnotations();
String html = (String) oneSetResponse.getEntity();
@@ -109,7 +112,7 @@ public class AnnotationResourceTest {
@Test
public void testGetSingleAsJson() {
// No items
- when(dispositionApi.getDispoAnnotationByIndex("branchId", "itemId", mockId)).thenReturn(null);
+ when(dispositionApi.getDispoAnnotationByIndex(program, "itemId", mockId)).thenReturn(null);
Response noAnnotationsResponse = resource.getAnnotationByIdJson(mockId);
String messageActual = (String) noAnnotationsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noAnnotationsResponse.getStatus());
@@ -118,7 +121,7 @@ public class AnnotationResourceTest {
DispoAnnotationData expectedAnnotation = new DispoAnnotationData();
expectedAnnotation.setId(mockId);
expectedAnnotation.setLocationRefs("1-10");
- when(dispositionApi.getDispoAnnotationByIndex("branchId", "itemId", expectedAnnotation.getId())).thenReturn(
+ when(dispositionApi.getDispoAnnotationByIndex(program, "itemId", expectedAnnotation.getId())).thenReturn(
expectedAnnotation);
Response oneSetResponse = resource.getAnnotationByIdJson(expectedAnnotation.getId());
DispoAnnotationData returnedItem = (DispoAnnotationData) oneSetResponse.getEntity();
@@ -129,7 +132,7 @@ public class AnnotationResourceTest {
@Test
public void testGetSingleAsHtml() {
// No Items
- when(dispositionApi.getDispoAnnotationByIndex("branchId", "itemId", mockId)).thenReturn(null);
+ when(dispositionApi.getDispoAnnotationByIndex(program, "itemId", mockId)).thenReturn(null);
Response noItemsResponse = resource.getAnnotationByIdHtml(mockId);
String messageActual = (String) noItemsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noItemsResponse.getStatus());
@@ -140,7 +143,7 @@ public class AnnotationResourceTest {
expectedAnnotation.setLocationRefs("1-10");
JSONArray notes = new JSONArray();
expectedAnnotation.setNotesList(notes);
- when(dispositionApi.getDispoAnnotationByIndex("branchId", "itemId", expectedAnnotation.getId())).thenReturn(
+ when(dispositionApi.getDispoAnnotationByIndex(program, "itemId", expectedAnnotation.getId())).thenReturn(
expectedAnnotation);
when(htmlWriter.createDispoPage(expectedAnnotation.getName(), "", "", "[]")).thenReturn("htmlFromWriter");
Response response = resource.getAnnotationByIdHtml(expectedAnnotation.getId());
@@ -155,12 +158,12 @@ public class AnnotationResourceTest {
newAnnotation.setLocationRefs("2-11");
DispoAnnotationData annotationToEdit = new DispoAnnotationData();
annotationToEdit.setId(mockId);
- when(dispositionApi.editDispoAnnotation("branchId", "itemId", annotationToEdit.getId(), newAnnotation)).thenReturn(
+ when(dispositionApi.editDispoAnnotation(program, "itemId", annotationToEdit.getId(), newAnnotation)).thenReturn(
true);
Response response = resource.putDispoAnnotation(annotationToEdit.getId(), newAnnotation);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.editDispoAnnotation("branchId", "itemId", annotationToEdit.getId(), newAnnotation)).thenReturn(
+ when(dispositionApi.editDispoAnnotation(program, "itemId", annotationToEdit.getId(), newAnnotation)).thenReturn(
false);
response = resource.putDispoAnnotation(annotationToEdit.getId(), newAnnotation);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
@@ -170,11 +173,11 @@ public class AnnotationResourceTest {
public void testDelete() {
DispoAnnotationData annotationToEdit = new DispoAnnotationData();
annotationToEdit.setId(mockId);
- when(dispositionApi.deleteDispoAnnotation("branchId", "itemId", annotationToEdit.getId())).thenReturn(true);
+ when(dispositionApi.deleteDispoAnnotation(program, "itemId", annotationToEdit.getId())).thenReturn(true);
Response response = resource.deleteDispoAnnotation(annotationToEdit.getId());
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.deleteDispoAnnotation("branchId", "itemId", annotationToEdit.getId())).thenReturn(false);
+ when(dispositionApi.deleteDispoAnnotation(program, "itemId", annotationToEdit.getId())).thenReturn(false);
response = resource.deleteDispoAnnotation(annotationToEdit.getId());
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
}
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoItemResourceTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoItemResourceTest.java
index e25e07f54a4..aa369b07a39 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoItemResourceTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoItemResourceTest.java
@@ -16,6 +16,7 @@ import javax.ws.rs.core.Response;
import org.eclipse.osee.disposition.model.DispoAnnotationData;
import org.eclipse.osee.disposition.model.DispoItemData;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.rest.DispoApi;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
@@ -42,13 +43,15 @@ public class DispoItemResourceTest {
private Identifiable<String> id2;
@Mock
private ArtifactReadable setArt;
+ @Mock
+ private DispoProgram program;
private DispoItemResource resource;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- resource = new DispoItemResource(dispositionApi, htmlWriter, "branchId", "setId");
+ resource = new DispoItemResource(dispositionApi, htmlWriter, program, "setId");
when(id1.getGuid()).thenReturn("abcdef");
when(id2.getGuid()).thenReturn("fedcba");
when(setArt.getGuid()).thenReturn("setId");
@@ -58,7 +61,7 @@ public class DispoItemResourceTest {
public void testGetAllAsHtml() {
// No Items
ResultSet<DispoItemData> emptyResultSet = ResultSets.emptyResultSet();
- when(dispositionApi.getDispoItems("branchId", "setId")).thenReturn(emptyResultSet);
+ when(dispositionApi.getDispoItems(program, "setId")).thenReturn(emptyResultSet);
Response noItemsResponse = resource.getAllDispoItems();
String messageActual = (String) noItemsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noItemsResponse.getStatus());
@@ -69,7 +72,7 @@ public class DispoItemResourceTest {
item.setName("Item");
ResultSet<DispoItemData> resultSet = ResultSets.singleton(item);
- when(dispositionApi.getDispoItems("branchId", "setId")).thenReturn(resultSet);
+ when(dispositionApi.getDispoItems(program, "setId")).thenReturn(resultSet);
when(htmlWriter.createDispositionPage("Dispositionable Items", "item/", resultSet)).thenReturn("htmlFromWriter");
Response oneSetResponse = resource.getAllDispoItems();
String html = (String) oneSetResponse.getEntity();
@@ -80,7 +83,7 @@ public class DispoItemResourceTest {
@Test
public void testGetSingleSetAsJson() {
// No items
- when(dispositionApi.getDispoItemById("branchId", id2.getGuid())).thenReturn(null);
+ when(dispositionApi.getDispoItemById(program, id2.getGuid())).thenReturn(null);
Response noItemsResponse = resource.getDispoItemsByIdJson(id2.getGuid());
String messageActual = (String) noItemsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noItemsResponse.getStatus());
@@ -89,7 +92,7 @@ public class DispoItemResourceTest {
DispoItemData expectedItem = new DispoItemData();
expectedItem.setGuid(id1.getGuid());
expectedItem.setName("Item");
- when(dispositionApi.getDispoItemById("branchId", expectedItem.getGuid())).thenReturn(expectedItem);
+ when(dispositionApi.getDispoItemById(program, expectedItem.getGuid())).thenReturn(expectedItem);
Response oneSetResponse = resource.getDispoItemsByIdJson(expectedItem.getGuid());
DispoItemData returnedItem = (DispoItemData) oneSetResponse.getEntity();
assertEquals(Response.Status.OK.getStatusCode(), oneSetResponse.getStatus());
@@ -99,7 +102,7 @@ public class DispoItemResourceTest {
@Test
public void testGetSingleSetAsHtml() {
// No Items
- when(dispositionApi.getDispoItemById("branchId", id2.getGuid())).thenReturn(null);
+ when(dispositionApi.getDispoItemById(program, id2.getGuid())).thenReturn(null);
Response noItemsResponse = resource.getDispoItemsByIdHtml(id2.getGuid());
String messageActual = (String) noItemsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noItemsResponse.getStatus());
@@ -110,8 +113,8 @@ public class DispoItemResourceTest {
item.setName("item");
ResultSet<DispoAnnotationData> emptyResultSet = ResultSets.emptyResultSet();
ResultSet<DispoAnnotationData> resultAnnotations = emptyResultSet;
- when(dispositionApi.getDispoItemById("branchId", item.getGuid())).thenReturn(item);
- when(dispositionApi.getDispoAnnotations("branchId", id1.getGuid())).thenReturn(resultAnnotations);
+ when(dispositionApi.getDispoItemById(program, item.getGuid())).thenReturn(item);
+ when(dispositionApi.getDispoAnnotations(program, id1.getGuid())).thenReturn(resultAnnotations);
String prefixPath = item.getGuid() + "/annotation";
String subTitle = "Annotations";
when(htmlWriter.createDispoPage(item.getName(), prefixPath, subTitle, "[]")).thenReturn("htmlFromWriter");
@@ -126,11 +129,11 @@ public class DispoItemResourceTest {
DispoItemData newItem = new DispoItemData();
DispoItemData itemToEdt = new DispoItemData();
itemToEdt.setGuid(id1.getGuid());
- when(dispositionApi.editDispoItem("branchId", id1.getGuid(), newItem)).thenReturn(true);
+ when(dispositionApi.editDispoItem(program, id1.getGuid(), newItem)).thenReturn(true);
Response response = resource.putDispoItem(id1.getGuid(), newItem);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.editDispoItem("branchId", id1.getGuid(), newItem)).thenReturn(false);
+ when(dispositionApi.editDispoItem(program, id1.getGuid(), newItem)).thenReturn(false);
response = resource.putDispoItem(id1.getGuid(), newItem);
String returnedMessage = (String) response.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
@@ -141,11 +144,11 @@ public class DispoItemResourceTest {
public void testDelete() {
DispoItemData itemToEdt = new DispoItemData();
itemToEdt.setGuid(id1.getGuid());
- when(dispositionApi.deleteDispoItem("branchId", id1.getGuid())).thenReturn(true);
+ when(dispositionApi.deleteDispoItem(program, id1.getGuid())).thenReturn(true);
Response response = resource.deleteDispoItem(id1.getGuid());
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.deleteDispoItem("branchId", id1.getGuid())).thenReturn(false);
+ when(dispositionApi.deleteDispoItem(program, id1.getGuid())).thenReturn(false);
response = resource.deleteDispoItem(id1.getGuid());
String returnedMessage = (String) response.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResourceTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResourceTest.java
index 127ef753d20..e068fcf8a03 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResourceTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResourceTest.java
@@ -14,11 +14,12 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import javax.ws.rs.core.Response;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.rest.DispoApi;
+import org.eclipse.osee.disposition.rest.util.DispoFactory;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.data.TokenFactory;
-import org.eclipse.osee.framework.jdk.core.type.Identifiable;
import org.eclipse.osee.framework.jdk.core.type.ResultSet;
import org.eclipse.osee.framework.jdk.core.type.ResultSets;
import org.junit.Before;
@@ -36,18 +37,22 @@ public class DispoProgramResourceTest {
@Mock
private HtmlWriter htmlWriter;
@Mock
- private Identifiable<String> id1;
+ private DispoProgram id1;
@Mock
- private Identifiable<String> id2;
+ private DispoProgram id2;
+ @Mock
+ private DispoFactory dispoFactory;
private DispoProgramResource resource;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- resource = new DispoProgramResource(dispoApi, htmlWriter);
+ resource = new DispoProgramResource(dispoApi, htmlWriter, dispoFactory);
when(id1.getGuid()).thenReturn("abcdef");
+ when(id1.getUuid()).thenReturn(23L);
when(id2.getGuid()).thenReturn("fedcba");
+ when(id2.getUuid()).thenReturn(25L);
}
@Test
@@ -74,19 +79,20 @@ public class DispoProgramResourceTest {
@Test
public void testGetProgramById() {
// No Sets
- when(dispoApi.getDispoProgramById(id2.getGuid())).thenReturn(null);
- Response noSetsResponse = resource.getProgramById(id2.getGuid());
+ when(dispoApi.getDispoProgramById(id2)).thenReturn(null);
+ Response noSetsResponse = resource.getProgramById(String.valueOf(id2.getUuid()));
String messageActual = (String) noSetsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noSetsResponse.getStatus());
assertEquals(DispoMessages.Program_NotFound, messageActual);
- IOseeBranch testBranch = TokenFactory.createBranch(id1.getGuid(), "testBranch");
- when(dispoApi.getDispoProgramById(id1.getGuid())).thenReturn(testBranch);
- String prefixPath = testBranch.getGuid() + "/set";
+ IOseeBranch testBranch = TokenFactory.createBranch(id1.getGuid(), id1.getUuid(), "testBranch");
+ when(dispoFactory.createProgram(String.valueOf(id1.getUuid()))).thenReturn(id1);
+ when(dispoApi.getDispoProgramById(id1)).thenReturn(testBranch);
+ String prefixPath = testBranch.getUuid() + "/set";
String subTitle = "Disposition Sets";
when(htmlWriter.createDispoPage(testBranch.getName(), prefixPath, subTitle, "[]")).thenReturn("htmlFromWriter");
- Response response = resource.getProgramById(testBranch.getGuid());
+ Response response = resource.getProgramById(String.valueOf(testBranch.getUuid()));
String returnedHtml = (String) response.getEntity();
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
assertEquals("htmlFromWriter", returnedHtml);
diff --git a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoSetResourceTest.java b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoSetResourceTest.java
index 2635a600f0d..169c89b08d4 100644
--- a/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoSetResourceTest.java
+++ b/plugins/org.eclipse.osee.disposition.rest.test/src/org/eclipse/osee/disposition/rest/resources/DispoSetResourceTest.java
@@ -15,6 +15,7 @@ import static org.mockito.Mockito.when;
import javax.ws.rs.core.Response;
import org.eclipse.osee.disposition.model.DispoItemData;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
import org.eclipse.osee.disposition.rest.DispoApi;
@@ -41,13 +42,15 @@ public class DispoSetResourceTest {
private Identifiable<String> id1;
@Mock
private Identifiable<String> id2;
+ @Mock
+ private DispoProgram program;
private DispoSetResource resource;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- resource = new DispoSetResource(dispositionApi, htmlWriter, "branchId");
+ resource = new DispoSetResource(dispositionApi, htmlWriter, program);
when(id1.getGuid()).thenReturn("abcdef");
when(id2.getGuid()).thenReturn("fedcba");
}
@@ -63,9 +66,9 @@ public class DispoSetResourceTest {
expected.setGuid(id1.getGuid());
expected.setName(descriptor.getName());
expected.setImportPath(descriptor.getImportPath());
- when(dispositionApi.createDispoSet("branchId", descriptor)).thenReturn(id1);
- when(dispositionApi.getDispoSetById("branchId", id1.getGuid())).thenReturn(expected);
- when(dispositionApi.isUniqueSetName("branchId", descriptor.getName())).thenReturn(true);
+ when(dispositionApi.createDispoSet(program, descriptor)).thenReturn(id1);
+ when(dispositionApi.getDispoSetById(program, id1.getGuid())).thenReturn(expected);
+ when(dispositionApi.isUniqueSetName(program, descriptor.getName())).thenReturn(true);
Response postResponse = resource.postDispoSet(descriptor);
DispoSetData returnedEntity = (DispoSetData) postResponse.getEntity();
@@ -102,7 +105,7 @@ public class DispoSetResourceTest {
descriptor.setName("Name");
descriptor.setImportPath("c:");
- when(dispositionApi.isUniqueSetName("branchId", descriptor.getName())).thenReturn(false);
+ when(dispositionApi.isUniqueSetName(program, descriptor.getName())).thenReturn(false);
Response postResponse = resource.postDispoSet(descriptor);
String returnedEntity = (String) postResponse.getEntity();
@@ -114,7 +117,7 @@ public class DispoSetResourceTest {
public void testGetAllAsHtml() {
// No Sets
ResultSet<DispoSetData> emptyResultSet = ResultSets.emptyResultSet();
- when(dispositionApi.getDispoSets("branchId")).thenReturn(emptyResultSet);
+ when(dispositionApi.getDispoSets(program)).thenReturn(emptyResultSet);
Response noSetsResponse = resource.getAllDispoSets();
String messageActual = (String) noSetsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noSetsResponse.getStatus());
@@ -125,7 +128,7 @@ public class DispoSetResourceTest {
set.setName("Set");
ResultSet<DispoSetData> resultSet = ResultSets.singleton(set);
- when(dispositionApi.getDispoSets("branchId")).thenReturn(resultSet);
+ when(dispositionApi.getDispoSets(program)).thenReturn(resultSet);
when(htmlWriter.createDispositionPage("Disposition Sets", "set/", resultSet)).thenReturn("htmlFromWriter");
Response oneSetResponse = resource.getAllDispoSets();
String html = (String) oneSetResponse.getEntity();
@@ -136,7 +139,7 @@ public class DispoSetResourceTest {
@Test
public void testGetSingleSetAsJson() {
// No Sets
- when(dispositionApi.getDispoSetById("branchId", id2.getGuid())).thenReturn(null);
+ when(dispositionApi.getDispoSetById(program, id2.getGuid())).thenReturn(null);
Response noSetsResponse = resource.getDispoSetByIdJson(id2.getGuid());
String messageActual = (String) noSetsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noSetsResponse.getStatus());
@@ -145,7 +148,7 @@ public class DispoSetResourceTest {
DispoSetData expectedSet = new DispoSetData();
expectedSet.setGuid(id1.getGuid());
expectedSet.setName("Set");
- when(dispositionApi.getDispoSetById("branchId", expectedSet.getGuid())).thenReturn(expectedSet);
+ when(dispositionApi.getDispoSetById(program, expectedSet.getGuid())).thenReturn(expectedSet);
Response oneSetResponse = resource.getDispoSetByIdJson(expectedSet.getGuid());
DispoSetData returnedSet = (DispoSetData) oneSetResponse.getEntity();
assertEquals(Response.Status.OK.getStatusCode(), oneSetResponse.getStatus());
@@ -155,7 +158,7 @@ public class DispoSetResourceTest {
@Test
public void testGetSingleSetAsHtml() {
// No Sets
- when(dispositionApi.getDispoSetById("branchId", id2.getGuid())).thenReturn(null);
+ when(dispositionApi.getDispoSetById(program, id2.getGuid())).thenReturn(null);
Response noSetsResponse = resource.getDispoSetByIdHtml(id2.getGuid());
String messageActual = (String) noSetsResponse.getEntity();
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), noSetsResponse.getStatus());
@@ -168,8 +171,8 @@ public class DispoSetResourceTest {
set.setNotesList(notesArray);
ResultSet<DispoItemData> emptyResultSet = ResultSets.emptyResultSet();
ResultSet<DispoItemData> resultListItems = emptyResultSet;
- when(dispositionApi.getDispoSetById("branchId", id1.getGuid())).thenReturn(set);
- when(dispositionApi.getDispoItems("branchId", id1.getGuid())).thenReturn(resultListItems);
+ when(dispositionApi.getDispoSetById(program, id1.getGuid())).thenReturn(set);
+ when(dispositionApi.getDispoItems(program, id1.getGuid())).thenReturn(resultListItems);
String prefixPath = set.getGuid() + "/item";
String subTitle = "Dispositionable Items";
when(htmlWriter.createDispoPage(set.getName(), prefixPath, subTitle, "[]")).thenReturn("htmlFromWriter");
@@ -184,11 +187,11 @@ public class DispoSetResourceTest {
DispoSetData newSet = new DispoSetData();
DispoSetData setToEdt = new DispoSetData();
setToEdt.setGuid(id1.getGuid());
- when(dispositionApi.editDispoSet("branchId", id1.getGuid(), newSet)).thenReturn(true);
+ when(dispositionApi.editDispoSet(program, id1.getGuid(), newSet)).thenReturn(true);
Response response = resource.putDispoSet(id1.getGuid(), newSet);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.editDispoSet("branchId", id1.getGuid(), newSet)).thenReturn(false);
+ when(dispositionApi.editDispoSet(program, id1.getGuid(), newSet)).thenReturn(false);
response = resource.putDispoSet(id1.getGuid(), newSet);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
}
@@ -197,11 +200,11 @@ public class DispoSetResourceTest {
public void testDelete() {
DispoSetData setToEdt = new DispoSetData();
setToEdt.setGuid(id1.getGuid());
- when(dispositionApi.deleteDispoSet("branchId", id1.getGuid())).thenReturn(true);
+ when(dispositionApi.deleteDispoSet(program, id1.getGuid())).thenReturn(true);
Response response = resource.deleteDispoSet(id1.getGuid());
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
- when(dispositionApi.deleteDispoSet("branchId", id1.getGuid())).thenReturn(false);
+ when(dispositionApi.deleteDispoSet(program, id1.getGuid())).thenReturn(false);
response = resource.deleteDispoSet(id1.getGuid());
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/DispoApi.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/DispoApi.java
index 674b59365d5..c368d21418d 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/DispoApi.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/DispoApi.java
@@ -12,8 +12,10 @@ package org.eclipse.osee.disposition.rest;
import org.eclipse.osee.disposition.model.DispoAnnotationData;
import org.eclipse.osee.disposition.model.DispoItemData;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
+import org.eclipse.osee.disposition.rest.util.DispoFactory;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
import org.eclipse.osee.framework.jdk.core.type.ResultSet;
@@ -25,46 +27,48 @@ public interface DispoApi {
// Queries
- IOseeBranch getDispoProgramById(String programId);
+ IOseeBranch getDispoProgramById(DispoProgram program);
ResultSet<IOseeBranch> getDispoPrograms();
- ResultSet<DispoSetData> getDispoSets(String programId);
+ ResultSet<DispoSetData> getDispoSets(DispoProgram program);
- DispoSetData getDispoSetById(String programId, String dispoSetId);
+ DispoSetData getDispoSetById(DispoProgram program, String dispoSetId);
- ResultSet<DispoItemData> getDispoItems(String programId, String dispoSetId);
+ ResultSet<DispoItemData> getDispoItems(DispoProgram program, String dispoSetId);
- DispoItemData getDispoItemById(String programId, String itemId);
+ DispoItemData getDispoItemById(DispoProgram program, String itemId);
- ResultSet<DispoAnnotationData> getDispoAnnotations(String programId, String itemId);
+ ResultSet<DispoAnnotationData> getDispoAnnotations(DispoProgram program, String itemId);
- DispoAnnotationData getDispoAnnotationByIndex(String programId, String itemId, String annotationId);
+ DispoAnnotationData getDispoAnnotationByIndex(DispoProgram program, String itemId, String annotationId);
// Writes
- Identifiable<String> createDispoSet(String programId, DispoSetDescriptorData descriptor);
+ Identifiable<String> createDispoSet(DispoProgram program, DispoSetDescriptorData descriptor);
- Identifiable<String> createDispoItem(String programId, String setId, DispoItemData dispoItem);
+ Identifiable<String> createDispoItem(DispoProgram program, String setId, DispoItemData dispoItem);
- String createDispoAnnotation(String programId, String itemId, DispoAnnotationData annotation);
+ String createDispoAnnotation(DispoProgram program, String itemId, DispoAnnotationData annotation);
- boolean editDispoSet(String programId, String dispoSetId, DispoSetData newDispoSet);
+ boolean editDispoSet(DispoProgram program, String dispoSetId, DispoSetData newDispoSet);
- boolean editDispoItem(String programId, String itemId, DispoItemData newDispoItem);
+ boolean editDispoItem(DispoProgram program, String itemId, DispoItemData newDispoItem);
- boolean editDispoAnnotation(String programId, String itemId, String annotationId, DispoAnnotationData newAnnotation);
+ boolean editDispoAnnotation(DispoProgram program, String itemId, String annotationId, DispoAnnotationData newAnnotation);
// Deletes
- boolean deleteDispoSet(String programId, String dispoSetId);
+ boolean deleteDispoSet(DispoProgram program, String dispoSetId);
- boolean deleteDispoItem(String programId, String itemId);
+ boolean deleteDispoItem(DispoProgram program, String itemId);
- boolean deleteDispoAnnotation(String programId, String itemId, String annotationId);
+ boolean deleteDispoAnnotation(DispoProgram program, String itemId, String annotationId);
// Utilities
- boolean isUniqueSetName(String programId, String setName);
+ boolean isUniqueSetName(DispoProgram program, String setName);
- boolean isUniqueItemName(String programId, String setId, String itemName);
+ boolean isUniqueItemName(DispoProgram program, String setId, String itemName);
+
+ DispoFactory getDispoFactory();
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
index cfc15601688..901f5d3d1e5 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoApiImpl.java
@@ -18,10 +18,12 @@ import java.util.List;
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.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
import org.eclipse.osee.disposition.rest.DispoApi;
+import org.eclipse.osee.disposition.rest.util.DispoFactory;
import org.eclipse.osee.disposition.rest.util.DispoUtil;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
@@ -44,6 +46,7 @@ public class DispoApiImpl implements DispoApi {
private StorageProvider storageProvider;
private DispoDataFactory dataFactory;
private DispoConnector dispoConnector;
+ private DispoFactory dispoFactory;
public void setLogger(Log logger) {
this.logger = logger;
@@ -63,6 +66,7 @@ public class DispoApiImpl implements DispoApi {
public void start() {
logger.trace("Starting DispoApiImpl...");
+ dispoFactory = new DispoFactoryImpl();
}
public void stop() {
@@ -78,29 +82,29 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public Identifiable<String> createDispoSet(String programId, DispoSetDescriptorData descriptor) {
+ public Identifiable<String> createDispoSet(DispoProgram program, DispoSetDescriptorData descriptor) {
DispoSetData newSet = dataFactory.creteSetDataFromDescriptor(descriptor);
ArtifactReadable author = getQuery().findUser();
- return getWriter().createDispoSet(author, programId, newSet);
+ return getWriter().createDispoSet(author, program, newSet);
}
@Override
- public Identifiable<String> createDispoItem(String programId, String setId, DispoItemData dispoItem) {
- DispoSet parentSet = getQuery().findDispoSetsById(programId, setId);
+ public Identifiable<String> createDispoItem(DispoProgram program, String setId, DispoItemData dispoItem) {
+ DispoSet parentSet = getQuery().findDispoSetsById(program, setId);
Identifiable<String> itemId = null;
if (parentSet != null) {
ArtifactReadable author = getQuery().findUser();
ArtifactReadable unassignedUser = getQuery().findUnassignedUser();
dataFactory.initDispoItem(dispoItem);
- itemId = getWriter().createDispoItem(author, programId, parentSet, dispoItem, unassignedUser);
+ itemId = getWriter().createDispoItem(author, program, parentSet, dispoItem, unassignedUser);
}
return itemId;
}
@Override
- public String createDispoAnnotation(String programId, String itemId, DispoAnnotationData annotationToCreate) {
+ public String createDispoAnnotation(DispoProgram program, String itemId, DispoAnnotationData annotationToCreate) {
String idOfNewAnnotation = "";
- DispoItem dispoItem = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItem = getQuery().findDispoItemById(program, itemId);
if (dispoItem != null) {
dataFactory.initAnnotation(annotationToCreate);
idOfNewAnnotation = dataFactory.getNewId();
@@ -131,15 +135,15 @@ public class DispoApiImpl implements DispoApi {
}
DispoItem updatedItem = dataFactory.createUpdatedItem(annotationsList, discrepanciesList, updateStatus);
ArtifactReadable author = getQuery().findUser();
- getWriter().updateDispoItem(author, programId, dispoItem.getGuid(), updatedItem);
+ getWriter().updateDispoItem(author, program, dispoItem.getGuid(), updatedItem);
}
return idOfNewAnnotation;
}
@Override
- public boolean editDispoSet(String programId, String setId, DispoSetData newSet) throws OseeCoreException {
+ public boolean editDispoSet(DispoProgram program, String setId, DispoSetData newSet) throws OseeCoreException {
boolean wasUpdated = false;
- DispoSet dispSetToEdit = getQuery().findDispoSetsById(programId, setId);
+ DispoSet dispSetToEdit = getQuery().findDispoSetsById(program, setId);
if (dispSetToEdit != null) {
if (newSet.getNotesList() != null) {
JSONArray mergedNotesList =
@@ -152,22 +156,22 @@ public class DispoApiImpl implements DispoApi {
}
ArtifactReadable author = getQuery().findUser();
- getWriter().updateDispoSet(author, programId, dispSetToEdit.getGuid(), newSet);
+ getWriter().updateDispoSet(author, program, dispSetToEdit.getGuid(), newSet);
wasUpdated = true;
}
return wasUpdated;
}
@Override
- public boolean deleteDispoSet(String programId, String setId) {
+ public boolean deleteDispoSet(DispoProgram program, String setId) {
ArtifactReadable author = getQuery().findUser();
- return getWriter().deleteDispoSet(author, programId, setId);
+ return getWriter().deleteDispoSet(author, program, setId);
}
@Override
- public boolean editDispoItem(String programId, String itemId, DispoItemData newDispoItem) {
+ public boolean editDispoItem(DispoProgram program, String itemId, DispoItemData newDispoItem) {
boolean wasUpdated = false;
- DispoItem dispoItemToEdit = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItemToEdit = getQuery().findDispoItemById(program, itemId);
if (dispoItemToEdit != null && newDispoItem.getAnnotationsList() == null) { // We will not allow them to do mass edit of Annotations
// Check to see if we are editing the discrepancies
@@ -179,22 +183,22 @@ public class DispoApiImpl implements DispoApi {
}
ArtifactReadable author = getQuery().findUser();
- getWriter().updateDispoItem(author, programId, dispoItemToEdit.getGuid(), newDispoItem);
+ getWriter().updateDispoItem(author, program, dispoItemToEdit.getGuid(), newDispoItem);
wasUpdated = true;
}
return wasUpdated;
}
@Override
- public boolean deleteDispoItem(String programId, String itemId) {
+ public boolean deleteDispoItem(DispoProgram program, String itemId) {
ArtifactReadable author = getQuery().findUser();
- return getWriter().deleteDispoItem(author, programId, itemId);
+ return getWriter().deleteDispoItem(author, program, itemId);
}
@Override
- public boolean editDispoAnnotation(String programId, String itemId, String annotationId, DispoAnnotationData newAnnotation) {
+ public boolean editDispoAnnotation(DispoProgram program, String itemId, String annotationId, DispoAnnotationData newAnnotation) {
boolean wasUpdated = false;
- DispoItem dispoItem = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItem = getQuery().findDispoItemById(program, itemId);
if (dispoItem != null) {
JSONObject annotationsList = dispoItem.getAnnotationsList();
JSONArray discrepanciesList = dispoItem.getDiscrepanciesList();
@@ -233,7 +237,7 @@ public class DispoApiImpl implements DispoApi {
DispoItem updatedItem = dataFactory.createUpdatedItem(annotationsList, discrepanciesList, true);
ArtifactReadable author = getQuery().findUser();
- getWriter().updateDispoItem(author, programId, dispoItem.getGuid(), updatedItem);
+ getWriter().updateDispoItem(author, program, dispoItem.getGuid(), updatedItem);
wasUpdated = true;
} catch (JSONException ex) {
throw new OseeCoreException(ex);
@@ -243,9 +247,9 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public boolean deleteDispoAnnotation(String programId, String itemId, String annotationId) {
+ public boolean deleteDispoAnnotation(DispoProgram program, String itemId, String annotationId) {
boolean wasUpdated = false;
- DispoItem dispoItem = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItem = getQuery().findDispoItemById(program, itemId);
if (dispoItem != null) {
JSONObject annotationsList = dispoItem.getAnnotationsList();
JSONArray discrepanciesList = dispoItem.getDiscrepanciesList();
@@ -263,7 +267,7 @@ public class DispoApiImpl implements DispoApi {
DispoItem updatedItem = dataFactory.createUpdatedItem(annotationsList, discrepanciesList, updateStatus);
ArtifactReadable author = getQuery().findUser();
- getWriter().updateDispoItem(author, programId, dispoItem.getGuid(), updatedItem);
+ getWriter().updateDispoItem(author, program, dispoItem.getGuid(), updatedItem);
wasUpdated = true;
} catch (JSONException ex) {
throw new OseeCoreException(ex);
@@ -283,29 +287,29 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public IOseeBranch getDispoProgramById(String programId) {
- return getQuery().findProgramId(programId);
+ public IOseeBranch getDispoProgramById(DispoProgram program) {
+ return getQuery().findProgramId(program);
}
@Override
- public ResultSet<DispoSetData> getDispoSets(String programId) throws OseeCoreException {
- return translateAllToDispoSetData(getQuery().findDispoSets(programId));
+ public ResultSet<DispoSetData> getDispoSets(DispoProgram program) throws OseeCoreException {
+ return translateAllToDispoSetData(getQuery().findDispoSets(program));
}
@Override
- public DispoSetData getDispoSetById(String programId, String setId) throws OseeCoreException {
- return DispoUtil.setArtToSetData(getQuery().findDispoSetsById(programId, setId));
+ public DispoSetData getDispoSetById(DispoProgram program, String setId) throws OseeCoreException {
+ return DispoUtil.setArtToSetData(getQuery().findDispoSetsById(program, setId));
}
@Override
- public ResultSet<DispoItemData> getDispoItems(String programId, String setArtId) {
- return translateAllToDispoItemData(getQuery().findDipoItems(programId, setArtId));
+ public ResultSet<DispoItemData> getDispoItems(DispoProgram program, String setArtId) {
+ return translateAllToDispoItemData(getQuery().findDipoItems(program, setArtId));
}
@Override
- public DispoItemData getDispoItemById(String programId, String itemId) {
+ public DispoItemData getDispoItemById(DispoProgram program, String itemId) {
DispoItemData dispositionableItem;
- DispoItem result = getQuery().findDispoItemById(programId, itemId);
+ DispoItem result = getQuery().findDispoItemById(program, itemId);
if (result != null) {
dispositionableItem = DispoUtil.itemArtToItemData(result);
} else {
@@ -315,9 +319,9 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public ResultSet<DispoAnnotationData> getDispoAnnotations(String programId, String itemId) {
+ public ResultSet<DispoAnnotationData> getDispoAnnotations(DispoProgram program, String itemId) {
List<DispoAnnotationData> toReturn = new ArrayList<DispoAnnotationData>();
- DispoItem dispoItem = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItem = getQuery().findDispoItemById(program, itemId);
JSONObject annotationsList = dispoItem.getAnnotationsList();
@SuppressWarnings("unchecked")
Iterator<String> keys = annotationsList.keys();
@@ -332,9 +336,9 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public DispoAnnotationData getDispoAnnotationByIndex(String programId, String itemId, String annotationId) {
+ public DispoAnnotationData getDispoAnnotationByIndex(DispoProgram program, String itemId, String annotationId) {
DispoAnnotationData toReturn = new DispoAnnotationData();
- DispoItem dispoItem = getQuery().findDispoItemById(programId, itemId);
+ DispoItem dispoItem = getQuery().findDispoItemById(program, itemId);
JSONObject annotationsList = dispoItem.getAnnotationsList();
if (annotationsList.has(annotationId)) {
try {
@@ -349,13 +353,13 @@ public class DispoApiImpl implements DispoApi {
}
@Override
- public boolean isUniqueSetName(String programId, String name) {
- return getQuery().isUniqueSetName(programId, name);
+ public boolean isUniqueSetName(DispoProgram program, String name) {
+ return getQuery().isUniqueSetName(program, name);
}
@Override
- public boolean isUniqueItemName(String programId, String setId, String name) {
- return getQuery().isUniqueItemName(programId, setId, name);
+ public boolean isUniqueItemName(DispoProgram program, String setId, String name) {
+ return getQuery().isUniqueItemName(program, setId, name);
}
private ResultSet<DispoItemData> translateAllToDispoItemData(ResultSet<DispoItem> list) {
@@ -384,4 +388,9 @@ public class DispoApiImpl implements DispoApi {
return resolution.equals("VALID");
// Add PCR validation Functionality here
}
+
+ @Override
+ public DispoFactory getDispoFactory() {
+ return dispoFactory;
+ }
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoFactoryImpl.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoFactoryImpl.java
new file mode 100644
index 00000000000..dd6e8ba0101
--- /dev/null
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoFactoryImpl.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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 org.eclipse.osee.disposition.model.DispoProgram;
+import org.eclipse.osee.disposition.model.DispoProgramImpl;
+import org.eclipse.osee.disposition.rest.util.DispoFactory;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class DispoFactoryImpl implements DispoFactory {
+
+ @Override
+ public DispoProgram createProgram(String name) {
+ return createProgram(name, name, new Long(name.hashCode()));
+ }
+
+ @Override
+ public DispoProgram createProgram(String name, String guid, Long uuid) {
+ return new DispoProgramImpl(name, guid, uuid);
+ }
+
+ @Override
+ public DispoProgram createProgram(IOseeBranch branch) {
+ return new DispoProgramImpl(branch.getName(), branch.getGuid(), branch.getUuid());
+ }
+}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoQuery.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoQuery.java
index 276de5533d3..0a10518c848 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoQuery.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoQuery.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.disposition.rest.internal;
import org.eclipse.osee.disposition.model.DispoItem;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.jdk.core.type.ResultSet;
@@ -27,19 +28,19 @@ public interface DispoQuery {
ArtifactReadable findUnassignedUser();
- boolean isUniqueSetName(String programId, String name);
+ boolean isUniqueSetName(DispoProgram program, String name);
- boolean isUniqueItemName(String programId, String setId, String name);
+ boolean isUniqueItemName(DispoProgram program, String setId, String name);
- ResultSet<DispoSet> findDispoSets(String programId);
+ ResultSet<DispoSet> findDispoSets(DispoProgram program);
- DispoSet findDispoSetsById(String programId, String id);
+ DispoSet findDispoSetsById(DispoProgram program, String id);
- ResultSet<DispoItem> findDipoItems(String programId, String setId);
+ ResultSet<DispoItem> findDipoItems(DispoProgram program, String setId);
- DispoItem findDispoItemById(String programId, String itemId);
+ DispoItem findDispoItemById(DispoProgram program, String itemId);
ResultSet<? extends IOseeBranch> findBaselineBranches();
- IOseeBranch findProgramId(String programID);
+ IOseeBranch findProgramId(DispoProgram program);
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoWriter.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoWriter.java
index 1aa244a1754..306c242bd06 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoWriter.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/DispoWriter.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.disposition.rest.internal;
import org.eclipse.osee.disposition.model.DispoItem;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
import org.eclipse.osee.orcs.data.ArtifactId;
@@ -21,17 +22,17 @@ import org.eclipse.osee.orcs.data.ArtifactReadable;
*/
public interface DispoWriter {
- Identifiable<String> createDispoSet(ArtifactReadable author, String programId, DispoSet descriptor);
+ Identifiable<String> createDispoSet(ArtifactReadable author, DispoProgram program, DispoSet descriptor);
- void updateDispoSet(ArtifactReadable author, String programId, String dispoSetId, DispoSet data);
+ void updateDispoSet(ArtifactReadable author, DispoProgram program, String dispoSetId, DispoSet data);
- boolean deleteDispoSet(ArtifactReadable author, String programId, String setId);
+ boolean deleteDispoSet(ArtifactReadable author, DispoProgram program, String setId);
- Identifiable<String> createDispoItem(ArtifactReadable author, String programId, DispoSet parentSet, DispoItem itemToCreate, ArtifactReadable assigneeId);
+ Identifiable<String> createDispoItem(ArtifactReadable author, DispoProgram program, DispoSet parentSet, DispoItem itemToCreate, ArtifactReadable assigneeId);
- void updateDispoItem(ArtifactReadable author, String programId, String itemToEditId, DispoItem itemToCreate);
+ void updateDispoItem(ArtifactReadable author, DispoProgram program, String itemToEditId, DispoItem itemToCreate);
- boolean deleteDispoItem(ArtifactReadable author, String programId, String itemId);
+ boolean deleteDispoItem(ArtifactReadable author, DispoProgram program, String itemId);
- void createAnnotation(ArtifactReadable author, String programId, ArtifactId dispoItem, String annotationsJson);
+ void createAnnotation(ArtifactReadable author, DispoProgram program, ArtifactId dispoItem, String annotationsJson);
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/OrcsStorageImpl.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/OrcsStorageImpl.java
index 10de9432794..da498dfa159 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/OrcsStorageImpl.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/internal/OrcsStorageImpl.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.osee.disposition.model.DispoItem;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.disposition.rest.DispoConstants;
import org.eclipse.osee.framework.core.data.IArtifactType;
@@ -142,8 +143,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public boolean isUniqueSetName(String branchId, String name) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public boolean isUniqueSetName(DispoProgram program, String name) {
+ IOseeBranch branch = getProgramBranch(program);
ResultSet<ArtifactReadable> results = getQuery()//
.fromBranch(branch)//
.andTypeEquals(DispoConstants.DispoSet)//
@@ -153,9 +154,13 @@ public class OrcsStorageImpl implements Storage {
return results.isEmpty();
}
+ private IOseeBranch getProgramBranch(DispoProgram program) {
+ return TokenFactory.createBranch(program.getGuid(), program.getUuid(), program.getName());
+ }
+
@Override
- public boolean isUniqueItemName(String branchId, String setId, String name) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public boolean isUniqueItemName(DispoProgram program, String setId, String name) {
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable setArt = findDispoArtifact(branch, setId, DispoConstants.DispoSet);
ResultSet<ArtifactReadable> results = getQuery()//
.fromBranch(branch)//
@@ -168,8 +173,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public ResultSet<DispoSet> findDispoSets(String branchId) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public ResultSet<DispoSet> findDispoSets(DispoProgram program) {
+ IOseeBranch branch = getProgramBranch(program);
ResultSet<ArtifactReadable> results = getQuery()//
.fromBranch(branch)//
.andTypeEquals(DispoConstants.DispoSet)//
@@ -183,8 +188,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public DispoSet findDispoSetsById(String branchId, String setId) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public DispoSet findDispoSetsById(DispoProgram program, String setId) {
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable result = findDispoArtifact(branch, setId, DispoConstants.DispoSet);
return new DispoSetArtifact(result);
}
@@ -198,8 +203,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public ResultSet<DispoItem> findDipoItems(String branchId, String setId) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public ResultSet<DispoItem> findDipoItems(DispoProgram program, String setId) {
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable setArt = findDispoArtifact(branch, setId, DispoConstants.DispoSet);
ResultSet<ArtifactReadable> results = setArt.getRelated(CoreRelationTypes.Default_Hierarchical__Child);
@@ -211,9 +216,9 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public DispoItem findDispoItemById(String branchId, String itemId) {
+ public DispoItem findDispoItemById(DispoProgram program, String itemId) {
DispoItem toReturn = null;
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable dispoArtifact = findDispoArtifact(branch, itemId, DispoConstants.DispoItem);
if (dispoArtifact != null) {
toReturn = new DispoItemArtifact(dispoArtifact);
@@ -222,8 +227,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public Identifiable<String> createDispoSet(ArtifactReadable author, String branchId, DispoSet descriptor) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public Identifiable<String> createDispoSet(ArtifactReadable author, DispoProgram program, DispoSet descriptor) {
+ IOseeBranch branch = getProgramBranch(program);
TransactionBuilder tx = getTxFactory().createTransaction(branch, author, "Create Dispo Set");
ArtifactId creatdArtId = tx.createArtifact(DispoConstants.DispoSet, descriptor.getName());
tx.setSoleAttributeFromString(creatdArtId, DispoConstants.ImportPath, descriptor.getImportPath());
@@ -235,18 +240,18 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public boolean deleteDispoItem(ArtifactReadable author, String programId, String itemId) {
- return deleteDispoEntityArtifact(author, programId, itemId, DispoConstants.DispoItem);
+ public boolean deleteDispoItem(ArtifactReadable author, DispoProgram program, String itemId) {
+ return deleteDispoEntityArtifact(author, program, itemId, DispoConstants.DispoItem);
}
@Override
- public boolean deleteDispoSet(ArtifactReadable author, String programId, String setId) {
- return deleteDispoEntityArtifact(author, programId, setId, DispoConstants.DispoSet);
+ public boolean deleteDispoSet(ArtifactReadable author, DispoProgram program, String setId) {
+ return deleteDispoEntityArtifact(author, program, setId, DispoConstants.DispoSet);
}
- private boolean deleteDispoEntityArtifact(ArtifactReadable author, String programId, String entityId, IArtifactType type) {
+ private boolean deleteDispoEntityArtifact(ArtifactReadable author, DispoProgram program, String entityId, IArtifactType type) {
boolean toReturn = false;
- IOseeBranch branch = TokenFactory.createBranch(programId, "");
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable dispoArtifact = findDispoArtifact(branch, entityId, type);
if (dispoArtifact != null) {
TransactionBuilder tx = getTxFactory().createTransaction(branch, author, "Delete Dispo Artifact");
@@ -259,8 +264,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public void updateDispoSet(ArtifactReadable author, String branchId, String setId, DispoSet newData) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public void updateDispoSet(ArtifactReadable author, DispoProgram program, String setId, DispoSet newData) {
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable dispoSet = findDispoArtifact(branch, setId, DispoConstants.DispoSet);
String name = newData.getName();
@@ -286,8 +291,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public Identifiable<String> createDispoItem(ArtifactReadable author, String branchId, DispoSet parentSet, DispoItem data, ArtifactReadable assignee) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public Identifiable<String> createDispoItem(ArtifactReadable author, DispoProgram program, DispoSet parentSet, DispoItem data, ArtifactReadable assignee) {
+ IOseeBranch branch = getProgramBranch(program);
ArtifactReadable parentSetArt = findDispoArtifact(branch, parentSet.getGuid(), DispoConstants.DispoSet);
TransactionBuilder tx = getTxFactory().createTransaction(branch, author, "Create Dispoable Item");
ArtifactId createdItem = tx.createArtifact(DispoConstants.DispoItem, data.getName());
@@ -308,8 +313,8 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public void createAnnotation(ArtifactReadable author, String branchId, ArtifactId disposition, String annotationsJson) {
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ public void createAnnotation(ArtifactReadable author, DispoProgram program, ArtifactId disposition, String annotationsJson) {
+ IOseeBranch branch = getProgramBranch(program);
TransactionBuilder tx = getTxFactory().createTransaction(branch, author, "Create Dispo Annotation");
tx.setSoleAttributeFromString(disposition, DispoConstants.DispoAnnotationsJson, annotationsJson);
@@ -317,9 +322,9 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public void updateDispoItem(ArtifactReadable author, String branchId, String dispoItemId, DispoItem data) {
+ public void updateDispoItem(ArtifactReadable author, DispoProgram program, String dispoItemId, DispoItem data) {
boolean wasEdited = false;
- IOseeBranch branch = TokenFactory.createBranch(branchId, "");
+ IOseeBranch branch = getProgramBranch(program);
ArtifactId dispoItemArt = findDispoArtifact(branch, dispoItemId, DispoConstants.DispoItem);
String assigneeId = data.getAssignee();
@@ -357,7 +362,7 @@ public class OrcsStorageImpl implements Storage {
}
@Override
- public IOseeBranch findProgramId(String branchId) {
+ public IOseeBranch findProgramId(DispoProgram program) {
IOseeBranch toReturn = null;
BranchReadable branchRead = getQuery().branchQuery().andIds(CoreBranches.COMMON).getResults().getExactlyOne();
@@ -366,14 +371,24 @@ public class OrcsStorageImpl implements Storage {
String configContents = configArt.getSoleAttributeAsString(CoreAttributeTypes.GeneralStringData);
- Pattern regex = Pattern.compile(branchId + "\\s*:\\s*.*");
+ Pattern regex = Pattern.compile(program.getGuid() + "\\s*:\\s*.*");
Matcher matcher = regex.matcher(configContents);
+ String guid = null;
if (matcher.find()) {
String match = matcher.group();
String[] split = match.split(":");
- toReturn = TokenFactory.createBranch(split[1], "");
+ guid = split[1];
}
+ regex = Pattern.compile(program.getUuid() + "\\s*:\\s*.*");
+ matcher = regex.matcher(configContents);
+ Long uuid = null;
+ if (matcher.find()) {
+ String match = matcher.group();
+ String[] split = match.split(":");
+ uuid = Long.valueOf(split[1]);
+ }
+ toReturn = TokenFactory.createBranch(guid, uuid, "");
return toReturn;
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/AnnotationResource.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/AnnotationResource.java
index f7cd7379066..423bd91beda 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/AnnotationResource.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/AnnotationResource.java
@@ -23,6 +23,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.eclipse.osee.disposition.model.DispoAnnotationData;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.rest.DispoApi;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.jdk.core.type.ResultSet;
@@ -33,12 +34,12 @@ import org.eclipse.osee.framework.jdk.core.type.ResultSet;
public class AnnotationResource {
private final DispoApi dispoApi;
private final HtmlWriter writer;
- private final String branchId;
+ private final DispoProgram program;
private final String itemId;
- public AnnotationResource(DispoApi dispoApi, HtmlWriter writer, String branchUid, String setUuid, String dispResourceId) {
+ public AnnotationResource(DispoApi dispoApi, HtmlWriter writer, DispoProgram program, String setUuid, String dispResourceId) {
this.dispoApi = dispoApi;
- this.branchId = branchUid;
+ this.program = program;
this.itemId = dispResourceId;
this.writer = writer;
}
@@ -57,10 +58,10 @@ public class AnnotationResource {
Response.Status status;
Response response;
if (!annotation.getLocationRefs().isEmpty()) {
- String createdAnnotationId = dispoApi.createDispoAnnotation(branchId, itemId, annotation);
+ String createdAnnotationId = dispoApi.createDispoAnnotation(program, itemId, annotation);
status = Status.CREATED;
DispoAnnotationData createdAnnotation =
- dispoApi.getDispoAnnotationByIndex(branchId, itemId, createdAnnotationId);
+ dispoApi.getDispoAnnotationByIndex(program, itemId, createdAnnotationId);
response = Response.status(status).entity(createdAnnotation).build();
} else {
status = Status.BAD_REQUEST;
@@ -82,7 +83,7 @@ public class AnnotationResource {
public Response getAllDispoAnnotations() {
Response.Status status;
String html;
- ResultSet<DispoAnnotationData> dispositionAnnotations = dispoApi.getDispoAnnotations(branchId, itemId);
+ ResultSet<DispoAnnotationData> dispositionAnnotations = dispoApi.getDispoAnnotations(program, itemId);
if (dispositionAnnotations.isEmpty()) {
status = Status.NOT_FOUND;
@@ -107,7 +108,7 @@ public class AnnotationResource {
@Produces(MediaType.APPLICATION_JSON)
public Response getAnnotationByIdJson(@PathParam("annotationId") String annotationId) {
Response response;
- DispoAnnotationData result = dispoApi.getDispoAnnotationByIndex(branchId, itemId, annotationId);
+ DispoAnnotationData result = dispoApi.getDispoAnnotationByIndex(program, itemId, annotationId);
if (result == null) {
response = Response.status(Response.Status.NOT_FOUND).entity(DispoMessages.Annotation_NotFound).build();
} else {
@@ -130,7 +131,7 @@ public class AnnotationResource {
public Response getAnnotationByIdHtml(@PathParam("annotationId") String annotationId) {
Response.Status status;
String html;
- DispoAnnotationData dispositionAnnotation = dispoApi.getDispoAnnotationByIndex(branchId, itemId, annotationId);
+ DispoAnnotationData dispositionAnnotation = dispoApi.getDispoAnnotationByIndex(program, itemId, annotationId);
if (dispositionAnnotation == null) {
status = Status.NOT_FOUND;
html = DispoMessages.Annotation_NotFound;
@@ -156,7 +157,7 @@ public class AnnotationResource {
@Consumes(MediaType.APPLICATION_JSON)
public Response putDispoAnnotation(@PathParam("annotationId") String annotationId, DispoAnnotationData newAnnotation) {
Response response;
- boolean wasEdited = dispoApi.editDispoAnnotation(branchId, itemId, annotationId, newAnnotation);
+ boolean wasEdited = dispoApi.editDispoAnnotation(program, itemId, annotationId, newAnnotation);
if (wasEdited) {
response = Response.status(Response.Status.OK).build();
} else {
@@ -177,7 +178,7 @@ public class AnnotationResource {
@DELETE
public Response deleteDispoAnnotation(@PathParam("annotationId") String annotationId) {
Response response;
- boolean wasEdited = dispoApi.deleteDispoAnnotation(branchId, itemId, annotationId);
+ boolean wasEdited = dispoApi.deleteDispoAnnotation(program, itemId, annotationId);
if (wasEdited) {
response = Response.status(Response.Status.OK).build();
} else {
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoApplication.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoApplication.java
index 4fd675c21c8..739091c6e4b 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoApplication.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoApplication.java
@@ -30,12 +30,9 @@ public final class DispoApplication extends Application {
private DispoApi dispoApi;
- public void setDispoApi(DispoApi dispoApi) {
- this.dispoApi = dispoApi;
- }
-
@Override
public Set<Object> getSingletons() {
+
Set<Object> singletons = new HashSet<Object>();
singletons.add(new DispoSetMessageReader());
singletons.add(new DispoSetMessageWriter());
@@ -45,7 +42,11 @@ public final class DispoApplication extends Application {
singletons.add(new DispoAnnotationMessageWriter());
HtmlWriter writer = new HtmlWriter(TemplateRegistry.newRegistry());
- singletons.add(new DispoProgramResource(dispoApi, writer));
+ singletons.add(new DispoProgramResource(dispoApi, writer, dispoApi.getDispoFactory()));
return singletons;
}
+
+ public void setDispoApi(DispoApi dispoApi) {
+ this.dispoApi = dispoApi;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoItemResource.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoItemResource.java
index c95af10bc2d..96394145281 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoItemResource.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoItemResource.java
@@ -24,6 +24,7 @@ import javax.ws.rs.core.Response.Status;
import org.eclipse.osee.disposition.model.DispoItem;
import org.eclipse.osee.disposition.model.DispoItemData;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.rest.DispoApi;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.jdk.core.type.Identifiable;
@@ -35,19 +36,19 @@ import org.eclipse.osee.framework.jdk.core.type.ResultSet;
public class DispoItemResource {
private final DispoApi dispoApi;
private final HtmlWriter writer;
- private final String branchGuid;
+ private final DispoProgram program;
private final String setId;
- public DispoItemResource(DispoApi dispoApi, HtmlWriter writer, String branchGuid, String setId) {
+ public DispoItemResource(DispoApi dispoApi, HtmlWriter writer, DispoProgram program, String setId) {
this.dispoApi = dispoApi;
- this.branchGuid = branchGuid;
+ this.program = program;
this.setId = setId;
this.writer = writer;
}
@POST
public Response postDispoItem(DispoItemData dispoItem) {
- Identifiable<String> createDispoItem = dispoApi.createDispoItem(branchGuid, setId, dispoItem);
+ Identifiable<String> createDispoItem = dispoApi.createDispoItem(program, setId, dispoItem);
return Response.status(Status.OK).entity(createDispoItem.getGuid()).build();
}
@@ -61,7 +62,7 @@ public class DispoItemResource {
@GET
@Produces(MediaType.TEXT_HTML)
public Response getAllDispoItems() {
- ResultSet<DispoItemData> dispoItems = dispoApi.getDispoItems(branchGuid, setId);
+ ResultSet<DispoItemData> dispoItems = dispoApi.getDispoItems(program, setId);
Response.Status status;
String html;
if (dispoItems.isEmpty()) {
@@ -87,7 +88,7 @@ public class DispoItemResource {
@Produces(MediaType.APPLICATION_JSON)
public Response getDispoItemsByIdJson(@PathParam("itemId") String itemId) {
Response response;
- DispoItem result = dispoApi.getDispoItemById(branchGuid, itemId);
+ DispoItem result = dispoApi.getDispoItemById(program, itemId);
if (result == null) {
response = Response.status(Response.Status.NOT_FOUND).entity(DispoMessages.Item_NotFound).build();
} else {
@@ -110,7 +111,7 @@ public class DispoItemResource {
public Response getDispoItemsByIdHtml(@PathParam("itemId") String itemId) {
String html;
Response.Status status;
- DispoItem dispoItem = dispoApi.getDispoItemById(branchGuid, itemId);
+ DispoItem dispoItem = dispoApi.getDispoItemById(program, itemId);
if (dispoItem == null) {
status = Status.NOT_FOUND;
html = DispoMessages.Item_NotFound;
@@ -137,7 +138,7 @@ public class DispoItemResource {
@Consumes(MediaType.APPLICATION_JSON)
public Response putDispoItem(@PathParam("itemId") String itemId, DispoItemData newDispoItem) {
Response response;
- boolean wasEdited = dispoApi.editDispoItem(branchGuid, itemId, newDispoItem);
+ boolean wasEdited = dispoApi.editDispoItem(program, itemId, newDispoItem);
if (wasEdited) {
response = Response.status(Response.Status.OK).build();
} else {
@@ -158,7 +159,7 @@ public class DispoItemResource {
@DELETE
public Response deleteDispoItem(@PathParam("itemId") String itemId) {
Response response;
- boolean wasEdited = dispoApi.deleteDispoItem(branchGuid, itemId);
+ boolean wasEdited = dispoApi.deleteDispoItem(program, itemId);
if (wasEdited) {
response = Response.status(Response.Status.OK).build();
} else {
@@ -169,6 +170,6 @@ public class DispoItemResource {
@Path("{itemId}/annotation/")
public AnnotationResource getAnnotation(@PathParam("itemId") String itemId) {
- return new AnnotationResource(dispoApi, writer, branchGuid, setId, itemId);
+ return new AnnotationResource(dispoApi, writer, program, setId, itemId);
}
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResource.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResource.java
index 051c874b9b8..7c21fff14e3 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResource.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoProgramResource.java
@@ -19,6 +19,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.eclipse.osee.disposition.model.DispoMessages;
import org.eclipse.osee.disposition.rest.DispoApi;
+import org.eclipse.osee.disposition.rest.util.DispoFactory;
import org.eclipse.osee.disposition.rest.util.HtmlWriter;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.jdk.core.type.ResultSet;
@@ -31,10 +32,12 @@ public class DispoProgramResource {
private final DispoApi dispoApi;
private final HtmlWriter writer;
+ private final DispoFactory dispoFactory;
- public DispoProgramResource(DispoApi dispoApi, HtmlWriter writer) {
+ public DispoProgramResource(DispoApi dispoApi, HtmlWriter writer, DispoFactory factory) {
this.dispoApi = dispoApi;
this.writer = writer;
+ this.dispoFactory = factory;
}
/**
@@ -72,7 +75,7 @@ public class DispoProgramResource {
@GET
@Produces(MediaType.TEXT_HTML)
public Response getProgramById(@PathParam("programId") String programId) {
- IOseeBranch dispoBranch = dispoApi.getDispoProgramById(programId);
+ IOseeBranch dispoBranch = dispoApi.getDispoProgramById(dispoFactory.createProgram(programId));
Response.Status status;
String html;
if (dispoBranch == null) {
@@ -90,6 +93,6 @@ public class DispoProgramResource {
@Path("{programId}/set")
public DispoSetResource getAnnotation(@PathParam("programId") String programId) {
- return new DispoSetResource(dispoApi, writer, programId);
+ return new DispoSetResource(dispoApi, writer, dispoFactory.createProgram(programId));
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoSetResource.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoSetResource.java
index 42c9f7c4935..bd8c0311be1 100644
--- a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoSetResource.java
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/resources/DispoSetResource.java
@@ -22,6 +22,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.eclipse.osee.disposition.model.DispoMessages;
+import org.eclipse.osee.disposition.model.DispoProgram;
import org.eclipse.osee.disposition.model.DispoSet;
import org.eclipse.osee.disposition.model.DispoSetData;
import org.eclipse.osee.disposition.model.DispoSetDescriptorData;
@@ -36,12 +37,12 @@ public class DispoSetResource {
private final DispoApi dispoApi;
private final HtmlWriter writer;
- private final String programId;
+ private final DispoProgram program;
- public DispoSetResource(DispoApi dispoApi, HtmlWriter writer, String programId) {
+ public DispoSetResource(DispoApi dispoApi, HtmlWriter writer, DispoProgram program) {
this.dispoApi = dispoApi;
this.writer = writer;
- this.programId = programId;
+ this.program = program;
}
/**
@@ -63,10 +64,10 @@ public class DispoSetResource {
String importPath = descriptor.getImportPath();
if (!name.isEmpty() && !importPath.isEmpty()) {
- boolean isUniqueSetName = dispoApi.isUniqueSetName(programId, name);
+ boolean isUniqueSetName = dispoApi.isUniqueSetName(program, name);
if (isUniqueSetName) {
- String createdSetId = dispoApi.createDispoSet(programId, descriptor).getGuid();
- DispoSetData createdSet = dispoApi.getDispoSetById(programId, createdSetId);
+ String createdSetId = dispoApi.createDispoSet(program, descriptor).getGuid();
+ DispoSetData createdSet = dispoApi.getDispoSetById(program, createdSetId);
status = Status.CREATED;
response = Response.status(status).entity(createdSet).build();
} else {
@@ -90,7 +91,7 @@ public class DispoSetResource {
@GET
@Produces(MediaType.TEXT_HTML)
public Response getAllDispoSets() {
- ResultSet<DispoSetData> allDispoSets = dispoApi.getDispoSets(programId);
+ ResultSet<DispoSetData> allDispoSets = dispoApi.getDispoSets(program);
Response.Status status;
String html;
if (allDispoSets.isEmpty()) {
@@ -116,7 +117,7 @@ public class DispoSetResource {
@Produces(MediaType.APPLICATION_JSON)
public Response getDispoSetByIdJson(@PathParam("setId") String setId) {
Response response;
- DispoSet result = dispoApi.getDispoSetById(programId, setId);
+ DispoSet result = dispoApi.getDispoSetById(program, setId);
if (result == null) {
response = Response.status(Response.Status.NOT_FOUND).entity(DispoMessages.Set_NotFound).build();
} else {
@@ -139,7 +140,7 @@ public class DispoSetResource {
public Response getDispoSetByIdHtml(@PathParam("setId") String setId) {
Response.Status status;
String html;
- DispoSet dispoSetArt = dispoApi.getDispoSetById(programId, setId);
+ DispoSet dispoSetArt = dispoApi.getDispoSetById(program, setId);
if (dispoSetArt == null) {
status = Status.NOT_FOUND;
html = DispoMessages.Set_NotFound;
@@ -167,7 +168,7 @@ public class DispoSetResource {
@Consumes(MediaType.APPLICATION_JSON)
public Response putDispoSet(@PathParam("setId") String setId, DispoSetData newDispositionSet) {
Response.Status status;
- boolean wasEdited = dispoApi.editDispoSet(programId, setId, newDispositionSet);
+ boolean wasEdited = dispoApi.editDispoSet(program, setId, newDispositionSet);
if (wasEdited) {
status = Status.OK;
} else {
@@ -188,7 +189,7 @@ public class DispoSetResource {
@DELETE
public Response deleteDispoSet(@PathParam("setId") String setId) {
Response.Status status = Status.NOT_FOUND;
- boolean wasDeleted = dispoApi.deleteDispoSet(programId, setId);
+ boolean wasDeleted = dispoApi.deleteDispoSet(program, setId);
if (wasDeleted) {
status = Status.OK;
} else {
@@ -199,6 +200,6 @@ public class DispoSetResource {
@Path("{setId}/item")
public DispoItemResource getDispositionableItems(@PathParam("setId") String setId) {
- return new DispoItemResource(dispoApi, writer, programId, setId);
+ return new DispoItemResource(dispoApi, writer, program, setId);
}
}
diff --git a/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoFactory.java b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoFactory.java
new file mode 100644
index 00000000000..32f8952fcfc
--- /dev/null
+++ b/plugins/org.eclipse.osee.disposition.rest/src/org/eclipse/osee/disposition/rest/util/DispoFactory.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * 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.util;
+
+import org.eclipse.osee.disposition.model.DispoProgram;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface DispoFactory {
+
+ public DispoProgram createProgram(String name);
+
+ public DispoProgram createProgram(String name, String guid, Long uuid);
+
+ public DispoProgram createProgram(IOseeBranch branch);
+
+} \ No newline at end of file

Back to the top