-/*-
+/**
* ============LICENSE_START=======================================================
- * MODEL LOADER SERVICE
+ * Model Loader
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
*/
-
package org.openecomp.modelloader.entity.model;
import static org.junit.Assert.assertEquals;
List<Artifact> modelList = new ArrayList<Artifact>();
ModelArtifact model = new ModelArtifact();
- model.setNameVersionId("aaaaa");
- model.addDependentModelId("xyz");
+ model.setModelInvariantId("aaa");
+ model.setModelVerId("111");
+ model.addDependentModelId("xyz|123");
modelList.add(model);
ModelSorter sorter = new ModelSorter();
List<Artifact> modelList = new ArrayList<Artifact>();
ModelArtifact aaaa = new ModelArtifact();
- aaaa.setNameVersionId("aaaa");
- aaaa.addDependentModelId("cccc");
+ aaaa.setModelInvariantId("aaaa");
+ aaaa.setModelVerId("mvaaaa");
+ aaaa.addDependentModelId("cccc|mvcccc");
ModelArtifact bbbb = new ModelArtifact();
- bbbb.setNameVersionId("bbbb");
- bbbb.addDependentModelId("aaaa");
+ bbbb.setModelInvariantId("bbbb");
+ bbbb.setModelVerId("mvbbbb");
+ bbbb.addDependentModelId("aaaa|mvaaaa");
ModelArtifact cccc = new ModelArtifact();
- cccc.setNameVersionId("cccc");
+ cccc.setModelInvariantId("cccc");
+ cccc.setModelVerId("mvcccc");
modelList.add(aaaa);
modelList.add(bbbb);
assertEquals(aaaa, sortedList.get(1));
assertEquals(bbbb, sortedList.get(2));
}
+
+ @Test
+ public void multipleModelsV8() {
+
+ List<Artifact> modelList = new ArrayList<Artifact>();
+
+ ModelV8Artifact aaaa = new ModelV8Artifact();
+ aaaa.setModelNameVersionId("aaaa");
+ aaaa.addDependentModelId("cccc");
+
+ ModelV8Artifact bbbb = new ModelV8Artifact();
+ bbbb.setModelNameVersionId("bbbb");
+ bbbb.addDependentModelId("aaaa");
+
+ ModelV8Artifact cccc = new ModelV8Artifact();
+ cccc.setModelNameVersionId("cccc");
+
+ modelList.add(aaaa);
+ modelList.add(bbbb);
+ modelList.add(cccc);
+
+ ModelSorter sorter = new ModelSorter();
+ sorter = new ModelSorter();
+
+ List<Artifact> sortedList = sorter.sort(modelList);
+ assertNotNull(sortedList);
+ assertEquals(3, sortedList.size());
+ assertEquals(cccc, sortedList.get(0));
+ assertEquals(aaaa, sortedList.get(1));
+ assertEquals(bbbb, sortedList.get(2));
+ }
+
+ @Test
+ public void multipleModelsAndNamedQueries() {
+
+ List<Artifact> modelList = new ArrayList<Artifact>();
+
+ ModelArtifact aaaa = new ModelArtifact();
+ aaaa.setModelInvariantId("aaaa");
+ aaaa.setModelVerId("1111");
+ aaaa.addDependentModelId("cccc|2222");
+
+ NamedQueryArtifact nq1 = new NamedQueryArtifact();
+ nq1.setNamedQueryUuid("nq1");
+ nq1.addDependentModelId("aaaa|1111");
+
+ NamedQueryArtifact nq2 = new NamedQueryArtifact();
+ nq2.setNamedQueryUuid("nq2");
+ nq2.addDependentModelId("existing-model");
+
+
+ modelList.add(nq1);
+ modelList.add(nq2);
+ modelList.add(aaaa);
+
+ ModelSorter sorter = new ModelSorter();
+ sorter = new ModelSorter();
+
+ List<Artifact> sortedList = sorter.sort(modelList);
+ assertNotNull(sortedList);
+ assertEquals(3, sortedList.size());
+
+ System.out.println(sortedList.get(0) + "-" + sortedList.get(1) + "-" + sortedList.get(2));
+ assertEquals(aaaa, sortedList.get(0));
+ assertEquals(nq2, sortedList.get(1));
+ assertEquals(nq1, sortedList.get(2));
+ }
+
@Test(expected = RuntimeException.class)
public void circularDependency() {
List<Artifact> modelList = new ArrayList<Artifact>();
ModelArtifact aaaa = new ModelArtifact();
- aaaa.setNameVersionId("aaaa");
- aaaa.addDependentModelId("bbbb");
+ aaaa.setModelInvariantId("aaaa");
+ aaaa.setModelVerId("1111");
+ aaaa.addDependentModelId("bbbb|1111");
ModelArtifact bbbb = new ModelArtifact();
- bbbb.setNameVersionId("bbbb");
- bbbb.addDependentModelId("aaaa");
+ bbbb.setModelInvariantId("bbbb");
+ bbbb.setModelVerId("1111");
+ bbbb.addDependentModelId("aaaa|1111");
modelList.add(aaaa);
modelList.add(bbbb);
List<Artifact> sortedList = sorter.sort(modelList);
assertNotNull(sortedList);
- assertEquals(3, sortedList.size());
+ assertEquals(2, sortedList.size());
}