Compare commits

..

4 Commits

8 changed files with 13 additions and 171 deletions

View File

@@ -46,8 +46,6 @@ import org.talend.designer.maven.aether.util.TalendAetherProxySelector;
*/
public class RepositorySystemFactory {
private static Boolean ignoreArtifactDescriptorRepositories;
private static Map<LocalRepository, DefaultRepositorySystemSession> sessions = new HashMap<LocalRepository, DefaultRepositorySystemSession>();
private static DefaultRepositorySystemSession newRepositorySystemSession(String localRepositoryPath)
@@ -63,8 +61,6 @@ public class RepositorySystemFactory {
repositorySystemSession.setTransferListener(new ChainedTransferListener());
repositorySystemSession.setRepositoryListener(new ChainedRepositoryListener());
repositorySystemSession.setProxySelector(new TalendAetherProxySelector());
repositorySystemSession.setIgnoreArtifactDescriptorRepositories(
RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
sessions.put(localRepo, repositorySystemSession);
}
@@ -161,13 +157,4 @@ public class RepositorySystemFactory {
doDeploy(content, pomFile, localRepository, repositoryId, repositoryUrl, userName, password, groupId, artifactId,
classifier, extension, version);
}
public static boolean isIgnoreArtifactDescriptorRepositories() {
if (ignoreArtifactDescriptorRepositories == null) {
ignoreArtifactDescriptorRepositories = Boolean.valueOf(
System.getProperty("talend.studio.aether.ignoreArtifactDescriptorRepositories", Boolean.TRUE.toString()));
}
return ignoreArtifactDescriptorRepositories;
}
}

View File

@@ -63,7 +63,6 @@ import org.eclipse.m2e.core.MavenPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.designer.maven.aether.DummyDynamicMonitor;
import org.talend.designer.maven.aether.IDynamicMonitor;
import org.talend.designer.maven.aether.RepositorySystemFactory;
import org.talend.designer.maven.aether.node.DependencyNode;
import org.talend.designer.maven.aether.node.ExclusionNode;
import org.talend.designer.maven.aether.selector.DynamicDependencySelector;
@@ -514,7 +513,6 @@ public class DynamicDistributionAetherUtils {
LocalRepository localRepo = new LocalRepository(repositoryPath);
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
session.setProxySelector(new TalendAetherProxySelector());
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
updateDependencySelector(session, monitor);

View File

@@ -34,6 +34,7 @@ import org.codehaus.plexus.PlexusContainerException;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
import org.eclipse.aether.impl.DefaultServiceLocator;
@@ -56,7 +57,6 @@ import org.talend.core.nexus.ArtifactRepositoryBean;
import org.talend.core.nexus.NexusConstants;
import org.talend.core.nexus.TalendLibsServerManager;
import org.talend.core.runtime.maven.MavenArtifact;
import org.talend.designer.maven.aether.RepositorySystemFactory;
public class MavenLibraryResolverProvider {
@@ -283,9 +283,8 @@ public class MavenLibraryResolverProvider {
LocalRepository localRepo = new LocalRepository( /* "target/local-repo" */target);
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
session.setProxySelector(new TalendAetherProxySelector());
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
return session;
return session;
}
private String getLocalMVNRepository() {

View File

@@ -10,7 +10,7 @@
<artifactId>studio-tacokit-dependencies</artifactId>
<packaging>pom</packaging>
<properties>
<tacokit.components.version>1.27.16</tacokit.components.version>
<tacokit.components.version>1.27.15</tacokit.components.version>
</properties>
<repositories>
<repository>

View File

@@ -140,14 +140,6 @@
name="orai18n-19.3.0.0.jar"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.metadata.managment"
language="java"
message="Needed for plugin org.talend.metadata.managment"
name="hsqldb.jar" mvn_uri="mvn:org.hsqldb/hsqldb/2.7.1"
required="true"
uripath="platform:/plugin/org.talend.libraries.jdbc.hsql/lib/hsqldb.jar">
</libraryNeeded>
</extension>
<extension
point="org.talend.core.migrationTask">

View File

@@ -721,10 +721,6 @@ public class ImportItemsWizardPage extends WizardPage {
ImportDependencyRelationsHelper.getInstance().checkImportRelationDependency(checkedNodeList, toSelectSet,
nodesBuilder.getAllImportItemNode());
// to make doCheckStateChanged execute from ContainerCheckedTreeViewer.setCheckedElements(Object[])
filteredCheckboxTree.getViewer().setCheckedElements(new Object[0]);
filteredCheckboxTree.getViewer().setCheckedElements(toSelectSet.toArray());
}

View File

@@ -132,12 +132,11 @@ public class ImportDependencyRelationsHelper {
id = split[1];
}
}
boolean isGlobalRoutine = RelationshipItemBuilder.ROUTINE_RELATION.equals(relation.getType());
if (RelationshipItemBuilder.LATEST_VERSION.equals(relation.getVersion())) {
relatedNode = getLatestVersionItemImportNode(id, projectLabel, allImportItemNodesList, isGlobalRoutine);
relatedNode = getLatestVersionItemImportNode(id, projectLabel, allImportItemNodesList);
} else {
relatedNode = getItemImportNodeByIdVersion(id, relation.getVersion(), projectLabel,
allImportItemNodesList, isGlobalRoutine);
relatedNode = getItemImportNodeByIdVersion(id, projectLabel, relation.getVersion(),
allImportItemNodesList);
}
if (relatedNode != null && !toSelectSet.contains(relatedNode)) {
// avoid loop
@@ -149,14 +148,13 @@ public class ImportDependencyRelationsHelper {
}
public ItemImportNode getLatestVersionItemImportNode(String id, String projectTecLabel,
List<ItemImportNode> allImportItemNodesList, boolean isGlobalRoutine) {
List<ItemImportNode> allImportItemNodesList) {
List<ItemImportNode> allItemImportNodesById = getItemImportNode(allImportItemNodesList, node -> {
Property property = node.getItemRecord().getProperty();
boolean projectFlag = true;
if (StringUtils.isNotBlank(projectTecLabel)) {
projectFlag = node.getProjectNode().getProject().getTechnicalLabel().equals(projectTecLabel);
}
return (isGlobalRoutine ? property.getLabel().equals(id) : property.getId().equals(id)) && projectFlag;
return node.getItemRecord().getProperty().getId().equals(id) && projectFlag;
});
Optional<ItemImportNode> optional = allItemImportNodesById.stream().max((node1, node2) -> VersionUtils
.compareTo(node1.getItemRecord().getProperty().getVersion(), node2.getItemRecord().getProperty().getVersion()));
@@ -164,15 +162,14 @@ public class ImportDependencyRelationsHelper {
}
public ItemImportNode getItemImportNodeByIdVersion(String id, String version, String projectTecLabel,
List<ItemImportNode> allImportItemNodesList, boolean isGlobalRoutine) {
List<ItemImportNode> allImportItemNodesList) {
List<ItemImportNode> importNodeList = getItemImportNode(allImportItemNodesList, node -> {
boolean projectFlag = true;
if (StringUtils.isNotBlank(projectTecLabel)) {
projectFlag = node.getProjectNode().getProject().getTechnicalLabel().equals(projectTecLabel);
}
Property property = node.getItemRecord().getProperty();
return (isGlobalRoutine ? property.getLabel().equals(id) : property.getId().equals(id))
&& property.getVersion().equals(version) && projectFlag;
return property.getId().equals(id) && property.getVersion().equals(version) && projectFlag;
});
return importNodeList == null || importNodeList.isEmpty() ? null : importNodeList.get(0);
}

View File

@@ -16,7 +16,6 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import org.eclipse.core.resources.IProject;
@@ -42,7 +41,6 @@ import org.talend.core.model.properties.ItemRelations;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.PropertiesFactory;
import org.talend.core.model.properties.Property;
import org.talend.core.model.properties.RoutineItem;
import org.talend.core.model.properties.User;
import org.talend.core.model.properties.impl.PropertiesFactoryImpl;
import org.talend.core.model.relationship.Relation;
@@ -95,10 +93,8 @@ public class ImportDependencyRelationsHelperTest {
allImportItemNodesList.add(importNode);
propertyList.add(property);
}
// test0 --> test1 --> test2
createRelations(propertyList);
Property property2 = propertyList.get(2);
// label test2 version 0.7
Property property3 = PropertiesFactory.eINSTANCE.createProperty();
property3.setId(property2.getId());
property3.setLabel(property2.getLabel());
@@ -112,34 +108,6 @@ public class ImportDependencyRelationsHelperTest {
projectNode.addChild(importNode);
allImportItemNodesList.add(importNode);
propertyList.add(property3);
Property routineProperty = PropertiesFactory.eINSTANCE.createProperty();
routineProperty.setId(ProxyRepositoryFactory.getInstance().getNextId());
routineProperty.setLabel("testRoutine");
routineProperty.setVersion("0.1");
RoutineItem routineItem = PropertiesFactory.eINSTANCE.createRoutineItem();
routineProperty.setItem(routineItem);
ImportItem routineItemRecord = new ImportItem(new Path(fakePath + "/" + technicalLabel + "/code/routines"
+ routineProperty.getLabel() + "_" + routineProperty.getVersion() + ".item"));
routineItemRecord.setProperty(routineProperty);
ItemImportNode routineImportNode = new ItemImportNode(routineItemRecord);
projectNode.addChild(routineImportNode);
allImportItemNodesList.add(routineImportNode);
propertyList.add(routineProperty);
Property routineProperty1 = PropertiesFactory.eINSTANCE.createProperty();
routineProperty1.setId(routineProperty.getId());
routineProperty1.setLabel("testRoutine");
routineProperty1.setVersion("0.7");
RoutineItem routineItem1 = PropertiesFactory.eINSTANCE.createRoutineItem();
routineProperty1.setItem(routineItem1);
ImportItem routineItemRecord1 = new ImportItem(new Path(fakePath + "/" + technicalLabel + "/code/routines"
+ routineProperty1.getLabel() + "_" + routineProperty1.getVersion() + ".item"));
routineItemRecord1.setProperty(routineProperty1);
ItemImportNode routineImportNode1 = new ItemImportNode(routineItemRecord1);
projectNode.addChild(routineImportNode1);
allImportItemNodesList.add(routineImportNode1);
propertyList.add(routineProperty1);
ImportCacheHelper.getInstance().getPathWithProjects().put(fakeProjectPath, project.getEmfProject());
}
@@ -163,35 +131,7 @@ public class ImportDependencyRelationsHelperTest {
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
Property jobProperty = propertyList.get(3);
Relation baseRelation = new Relation();
baseRelation.setId(jobProperty.getId());
baseRelation.setType(RelationshipItemBuilder.JOB_RELATION);
baseRelation.setVersion(jobProperty.getVersion());
Relation relatedRelation = new Relation();
relatedRelation.setId(propertyList.get(4).getLabel());
relatedRelation.setType(RelationshipItemBuilder.ROUTINE_RELATION);
relatedRelation.setVersion(RelationshipItemBuilder.LATEST_VERSION);
Set<Relation> relationSet = new HashSet<Relation>();
relationSet.add(relatedRelation);
importItemsRelations.put(baseRelation, relationSet);
toSelectSet.clear();
toSelectSet.add(allImportItemNodesList.get(0));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 4);
}
@Test
public void checkImportRelationWithLoopDependency() {
helperInstance.clear();
helperInstance.loadRelations(fakeProjectPath, project.getEmfProject().getItemsRelations());
Set<ItemImportNode> toSelectSet = new HashSet<ItemImportNode>();
List<ItemImportNode> checkedNodeList = new ArrayList<ItemImportNode>();
checkedNodeList.add(allImportItemNodesList.get(0));
toSelectSet.add(allImportItemNodesList.get(0));
// to test loop dependency test0 --> test1 --> test2 --> test0
// to test loop dependency
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
Property property3 = propertyList.get(3);
Relation baseRelation = new Relation();
@@ -205,87 +145,20 @@ public class ImportDependencyRelationsHelperTest {
Set<Relation> relationSet = new HashSet<Relation>();
relationSet.add(relatedRelation);
importItemsRelations.put(baseRelation, relationSet);
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
}
@Test
public void checkImportRelationDependencyWithMultiVersion() {
helperInstance.clear();
helperInstance.loadRelations(fakeProjectPath, project.getEmfProject().getItemsRelations());
Set<ItemImportNode> toSelectSet = new HashSet<ItemImportNode>();
List<ItemImportNode> checkedNodeList = new ArrayList<ItemImportNode>();
// test1 --> test2 latest (0.7)
// test1 --> test2 0.1
Relation relatedRelation = new Relation();
relatedRelation.setId(propertyList.get(3).getId());
relatedRelation.setType(RelationshipItemBuilder.JOB_RELATION);
relatedRelation.setVersion("0.1");
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
String test1_id = propertyList.get(1).getId();
Optional<Relation> optional = importItemsRelations.keySet().stream().filter(relation -> relation.getId().equals(test1_id))
.findFirst();
Assert.assertTrue(optional.isPresent());
importItemsRelations.get(optional.get()).add(relatedRelation);
checkedNodeList.add(allImportItemNodesList.get(1));
toSelectSet.add(allImportItemNodesList.get(1));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
toSelectSet.clear();
checkedNodeList.add(allImportItemNodesList.get(0));
toSelectSet.add(allImportItemNodesList.get(0));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 4);
}
@Test
public void testGetItemImportNodeByIdVersion() {
ItemImportNode theVersionNode = helperInstance.getItemImportNodeByIdVersion(propertyList.get(2).getId(), "0.1", null,
allImportItemNodesList, false);
Property imporRecordProperty = theVersionNode.getItemRecord().getProperty();
Property property3 = propertyList.get(3);
Assert.assertEquals(property3.getId(), imporRecordProperty.getId());
Assert.assertEquals("0.1", imporRecordProperty.getVersion());
theVersionNode = helperInstance.getItemImportNodeByIdVersion(propertyList.get(2).getId(), "0.7", null,
allImportItemNodesList, false);
imporRecordProperty = theVersionNode.getItemRecord().getProperty();
Assert.assertEquals(property3.getId(), imporRecordProperty.getId());
Assert.assertEquals("0.7", imporRecordProperty.getVersion());
Property routineProperty = propertyList.get(4);
ItemImportNode routineImportNode = helperInstance.getItemImportNodeByIdVersion(routineProperty.getLabel(), "0.1", null,
allImportItemNodesList, true);
Property routineImportProperty = routineImportNode.getItemRecord().getProperty();
Assert.assertEquals(routineProperty.getId(), routineImportProperty.getId());
Assert.assertEquals(routineProperty.getLabel(), routineImportProperty.getLabel());
Assert.assertEquals("0.1", routineImportProperty.getVersion());
routineImportNode = helperInstance.getItemImportNodeByIdVersion(routineProperty.getLabel(), "0.7", null,
allImportItemNodesList, true);
routineImportProperty = routineImportNode.getItemRecord().getProperty();
Assert.assertEquals(routineProperty.getId(), routineImportProperty.getId());
Assert.assertEquals(routineProperty.getLabel(), routineImportProperty.getLabel());
Assert.assertEquals("0.7", routineImportProperty.getVersion());
Assert.assertTrue(toSelectSet.size() == 3);
}
@Test
public void testGetLatestVersionItemImportNode() {
ItemImportNode latestVersionNode = helperInstance.getLatestVersionItemImportNode(propertyList.get(2).getId(),
null, allImportItemNodesList, false);
null, allImportItemNodesList);
Property latestVersionProperty = latestVersionNode.getItemRecord().getProperty();
Property property3 = propertyList.get(3);
Assert.assertEquals(latestVersionProperty.getId(), property3.getId());
Assert.assertEquals(latestVersionProperty.getVersion(), property3.getVersion());
ItemImportNode latestRoutineNode = helperInstance.getLatestVersionItemImportNode(propertyList.get(4).getLabel(), null,
allImportItemNodesList, true);
Property latestRoutineProperty = latestRoutineNode.getItemRecord().getProperty();
Property property5 = propertyList.get(5);
Assert.assertEquals(latestRoutineProperty.getId(), property5.getId());
Assert.assertEquals(latestRoutineProperty.getLabel(), property5.getLabel());
Assert.assertEquals(latestRoutineProperty.getVersion(), property5.getVersion());
}
private void createRelations(List<Property> propertyList) {