package org.axway.grapes.tests.acceptance.materials.cases; import java.util.ArrayList; import java.util.List; public class TC04_ProductCase implements TestCase { public static final String MODULE1_NAME = "tc04Module1"; public static final String MODULE1_VERSION = "2.1.0-SNAPSHOT"; public static final String MODULE2_NAME = "tc04Module2"; public static final String MODULE2_VERSION = "4.5.0-123"; public static final String ARTIFACT21_GROUPID = TEST_GROUPID + ".test.producttc04.tc04module2"; public static final String ARTIFACT21_ID = "artifact21"; public static final String ARTIFACT21_EXTENSION = "pom"; public static final String ARTIFACT21_CLASSIFIER = ""; public static final String ARTIFACT21_VERSION = MODULE2_VERSION; public static final String ARTIFACT21_TYPE = "pom"; public static final String MODULE3_NAME = "tc04Module3"; public static final String MODULE3_VERSION = "1.0.0-1"; public static final String ARTIFACT31_GROUPID = TEST_GROUPID + ".test.producttc04.tc04module3"; public static final String ARTIFACT31_ID = "artifact31"; public static final String ARTIFACT31_EXTENSION = "jar"; public static final String ARTIFACT31_CLASSIFIER = ""; public static final String ARTIFACT31_VERSION = MODULE3_VERSION; public static final String ARTIFACT31_TYPE = "jar"; public static final String SUB_MODULE3_NAME = "tc04Module3:sub"; public static final String SUB_MODULE3_VERSION = MODULE3_VERSION; public static final String ARTIFACT311_GROUPID = TEST_GROUPID + ".test.producttc04.tc04module3.sub"; public static final String ARTIFACT311_ID = "artifact311"; public static final String ARTIFACT311_EXTENSION = "jar"; public static final String ARTIFACT311_CLASSIFIER = ""; public static final String ARTIFACT311_VERSION = MODULE3_VERSION; public static final String ARTIFACT311_TYPE = "jar"; public static final String SLF4J_DEPENDENCY_GROUPID = "org.slf4j"; public static final String SLF4J_DEPENDENCY_ID = "slf4j-simple"; public static final String SLF4J_DEPENDENCY_EXTENSION = "jar"; public static final String SLF4J_DEPENDENCY_CLASSIFIER = ""; public static final String SLF4J_DEPENDENCY_VERSION = "1.7.5"; public static final String SLF4J_DEPENDENCY_TYPE = "jar"; public static final Scope SLF4J_DEPENDENCY_SCOPE = Scope.PROVIDED; public static final String MIT_LICENSE_NAME = "MIT"; public static final String MIT_LICENSE_LONG_NAME = "The MIT License"; public static final String MIT_LICENSE_URL = "http://www.opensource.org/licenses/mit-license.php"; public static final String MODULE4_NAME = "tc04Module4"; public static final String MODULE4_VERSION = "0.9.0-5"; public static final String LAST_MODULE4_VERSION = "1.0.0-1"; public static final String ARTIFACT41_GROUPID = TEST_GROUPID + ".test.producttc04.tc04module4"; public static final String ARTIFACT41_ID = "artifact41"; public static final String ARTIFACT41_EXTENSION = "jar"; public static final String ARTIFACT41_CLASSIFIER = ""; public static final String ARTIFACT41_VERSION = MODULE4_VERSION; public static final String ARTIFACT41_TYPE = "jar"; public static final String MONGO_DEPENDENCY_GROUPID = "org.mongodb"; public static final String MONGO_DEPENDENCY_ID = "mongo-java-driver"; public static final String MONGO_DEPENDENCY_EXTENSION = "jar"; public static final String MONGO_DEPENDENCY_CLASSIFIER = ""; public static final String MONGO_DEPENDENCY_VERSION = "2.11.0"; public static final String MONGO_DEPENDENCY_TYPE = "jar"; public static final Scope MONGO_DEPENDENCY_SCOPE = Scope.COMPILE; public static final String GPL_LICENSE_NAME = "GPL3.0"; public static final String GPL_LICENSE_LONG_NAME = "GNU General Public License version 3"; public static final String GPL_LICENSE_URL = "http://www.opensource.org/licenses/gpl-3.0.html"; public static final String JUNIT_DEPENDENCY_GROUPID = "junit"; public static final String JUNIT_DEPENDENCY_ID = "junit"; public static final String JUNIT_DEPENDENCY_EXTENSION = "jar"; public static final String JUNIT_DEPENDENCY_CLASSIFIER = ""; public static final String JUNIT_DEPENDENCY_VERSION = "4.11"; public static final String JUNIT_DEPENDENCY_TYPE = "jar"; public static final Scope JUNIT_DEPENDENCY_SCOPE = Scope.TEST; public static final String CPL_LICENSE_NAME = "CPL-1.0"; public static final String CPL_LICENSE_LONG_NAME = "Common Public License"; public static final String CPL_LICENSE_URL = "http://www.opensource.org/licenses/cpl1.0.txt"; private final List<Dependency> dependencies = new ArrayList<Dependency>(); private final List<Artifact> artifacts = new ArrayList<Artifact>(); private final List<Module> modules = new ArrayList<Module>(); private final List<License> licenses = new ArrayList<License>(); private final List<String> toPromote = new ArrayList<String>(); private final List<String> doNotUse = new ArrayList<String>(); public TC04_ProductCase() { final Module module1 = DataModelFactory.createModule(MODULE1_NAME, MODULE1_VERSION); final Module module2 = DataModelFactory.createModule(MODULE2_NAME, MODULE2_VERSION); final Artifact artifact21 = DataModelFactory.createArtifact(ARTIFACT21_GROUPID, ARTIFACT21_ID, ARTIFACT21_VERSION, ARTIFACT21_CLASSIFIER, ARTIFACT21_TYPE, ARTIFACT21_EXTENSION); module2.addArtifact(artifact21); module1.addDependency(DataModelFactory.createDependency(artifact21, Scope.COMPILE)); final Module module3 = DataModelFactory.createModule(MODULE3_NAME, MODULE3_VERSION); final Artifact artifact31 = DataModelFactory.createArtifact(ARTIFACT31_GROUPID, ARTIFACT31_ID, ARTIFACT31_VERSION, ARTIFACT31_CLASSIFIER, ARTIFACT31_TYPE, ARTIFACT31_EXTENSION); final Module submodule3 = DataModelFactory.createModule(SUB_MODULE3_NAME, SUB_MODULE3_VERSION); final Artifact artifact311 = DataModelFactory.createArtifact(ARTIFACT311_GROUPID, ARTIFACT311_ID, ARTIFACT311_VERSION, ARTIFACT311_CLASSIFIER, ARTIFACT311_TYPE, ARTIFACT311_EXTENSION); module3.addArtifact(artifact31); module3.addSubmodule(submodule3); submodule3.addArtifact(artifact311); module1.addDependency(DataModelFactory.createDependency(artifact31, Scope.COMPILE)); module1.addDependency(DataModelFactory.createDependency(artifact311, Scope.COMPILE)); final Module module4 = DataModelFactory.createModule(MODULE4_NAME, MODULE4_VERSION); final Artifact artifact41 = DataModelFactory.createArtifact(ARTIFACT41_GROUPID, ARTIFACT41_ID, ARTIFACT41_VERSION, ARTIFACT41_CLASSIFIER, ARTIFACT41_TYPE, ARTIFACT41_EXTENSION); module4.addArtifact(artifact41); submodule3.addDependency(DataModelFactory.createDependency(artifact41, Scope.COMPILE)); final Artifact junit = DataModelFactory.createArtifact(JUNIT_DEPENDENCY_GROUPID, JUNIT_DEPENDENCY_ID, JUNIT_DEPENDENCY_VERSION, JUNIT_DEPENDENCY_CLASSIFIER, JUNIT_DEPENDENCY_TYPE, JUNIT_DEPENDENCY_EXTENSION); final Dependency dep1 = DataModelFactory.createDependency(junit, JUNIT_DEPENDENCY_SCOPE); final License cpl = DataModelFactory.createLicense(CPL_LICENSE_NAME, CPL_LICENSE_LONG_NAME, null, null, CPL_LICENSE_URL); junit.addLicense(CPL_LICENSE_NAME); module1.addDependency(dep1); module2.addDependency(dep1); module3.addDependency(dep1); module4.addDependency(dep1); final Artifact slf4j = DataModelFactory.createArtifact(SLF4J_DEPENDENCY_GROUPID, SLF4J_DEPENDENCY_ID, SLF4J_DEPENDENCY_VERSION, SLF4J_DEPENDENCY_CLASSIFIER, SLF4J_DEPENDENCY_TYPE, SLF4J_DEPENDENCY_EXTENSION); final Dependency dep2 = DataModelFactory.createDependency(slf4j, SLF4J_DEPENDENCY_SCOPE); final License mit = DataModelFactory.createLicense(MIT_LICENSE_NAME, MIT_LICENSE_LONG_NAME, null, null, MIT_LICENSE_URL); slf4j.addLicense(MIT_LICENSE_NAME); submodule3.addDependency(dep2); final Artifact mongo = DataModelFactory.createArtifact(MONGO_DEPENDENCY_GROUPID, MONGO_DEPENDENCY_ID, MONGO_DEPENDENCY_VERSION, MONGO_DEPENDENCY_CLASSIFIER, MONGO_DEPENDENCY_TYPE, MONGO_DEPENDENCY_EXTENSION); final Dependency dep3 = DataModelFactory.createDependency(mongo, MONGO_DEPENDENCY_SCOPE); final License gpl = DataModelFactory.createLicense(GPL_LICENSE_NAME, GPL_LICENSE_LONG_NAME, null, null, GPL_LICENSE_URL); mongo.addLicense(GPL_LICENSE_NAME); module4.addDependency(dep3); final Module module4New = DataModelFactory.createModule(MODULE4_NAME, LAST_MODULE4_VERSION); final Artifact artifact41New = DataModelFactory.createArtifact(ARTIFACT41_GROUPID, ARTIFACT41_ID, LAST_MODULE4_VERSION, ARTIFACT41_CLASSIFIER, ARTIFACT41_TYPE, ARTIFACT41_EXTENSION); module4New.addArtifact(artifact41New); module4New.addDependency(dep3); modules.add(module1); modules.add(module2); modules.add(module3); modules.add(module4); modules.add(module4New); artifacts.add(artifact21); artifacts.add(artifact31); artifacts.add(artifact311); artifacts.add(junit); artifacts.add(slf4j); artifacts.add(mongo); dependencies.add(dep1); dependencies.add(dep2); dependencies.add(dep3); licenses.add(cpl); licenses.add(mit); licenses.add(gpl); doNotUse.add(mongo.getGavc()); toPromote.add(module2.getName()); toPromote.add(module3.getName()); toPromote.add(module4.getName()); } @Override public List<License> getLicenses() { return licenses; } @Override public List<Module> getModules() { return modules; } @Override public List<Artifact> getArtifacts() { return artifacts; } @Override public List<String> getArtifactsToNotUse() { return doNotUse; } @Override public List<String> getModulesToPromote() { return toPromote; } public List<Dependency> getDependencies() { return dependencies; } }