Compare commits
6 Commits
patch/7.2.
...
patch/7.2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fddff3b8ad | ||
|
|
acdf127890 | ||
|
|
453ac0377b | ||
|
|
0d4d9c4940 | ||
|
|
963f90ad22 | ||
|
|
0301920131 |
@@ -14,6 +14,7 @@ package org.talend.core.repository.recyclebin;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@@ -24,6 +25,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
@@ -106,7 +108,8 @@ public class RecycleBinManager {
|
||||
List<IRepositoryViewObject> deletedObjects = new ArrayList<IRepositoryViewObject>();
|
||||
final EList<TalendItem> deletedItems = projectRecyclebins.get(project.getTechnicalLabel()).getDeletedItems();
|
||||
List<TalendItem> notDeletedItems = new ArrayList<TalendItem>();
|
||||
for (TalendItem deletedItem : deletedItems) {
|
||||
List<TalendItem> dup_deletedItems = new ArrayList<>(deletedItems);
|
||||
for (TalendItem deletedItem : dup_deletedItems) {
|
||||
try {
|
||||
final ERepositoryObjectType type = ERepositoryObjectType.getType(deletedItem.getType());
|
||||
// ignore the generated doc in recycle bin
|
||||
@@ -274,7 +277,40 @@ public class RecycleBinManager {
|
||||
resource = createRecycleBinResource(project);
|
||||
}
|
||||
resource.getContents().clear();
|
||||
recycleBin.setLastUpdate(new Date());
|
||||
EList<String> deletedFolders = recycleBin.getDeletedFolders();
|
||||
if (deletedFolders != null) {
|
||||
List<String> folders = new LinkedList<>(deletedFolders);
|
||||
Collections.sort(folders);
|
||||
deletedFolders.clear();
|
||||
deletedFolders.addAll(folders);
|
||||
}
|
||||
EList<TalendItem> deletedItems = recycleBin.getDeletedItems();
|
||||
if (deletedItems != null) {
|
||||
List<TalendItem> items = new LinkedList<>(deletedItems);
|
||||
items.sort((l, r) -> {
|
||||
if (l == null && r == null) {
|
||||
return 0;
|
||||
} else if (l == null) {
|
||||
return -1;
|
||||
} else if (r == null) {
|
||||
return 1;
|
||||
}
|
||||
int result = StringUtils.compare(l.getType(), r.getType());
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
result = StringUtils.compare(l.getPath(), r.getPath());
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
return StringUtils.compare(l.getId(), r.getId());
|
||||
});
|
||||
deletedItems.clear();
|
||||
deletedItems.addAll(items);
|
||||
}
|
||||
|
||||
// set date to null to avoid timezone conflict
|
||||
recycleBin.setLastUpdate(null);
|
||||
resource.getContents().add(recycleBin);
|
||||
EmfHelper.saveResource(resource);
|
||||
lastSavedRecycleBinMap.put(recycleBin, EcoreUtil.copy(recycleBin));
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.talend.designer.maven.template.AbstractMavenTemplateManager;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.extension.PomExtensionRegistry;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
|
||||
/**
|
||||
* DOC ggu class global comment. Detailled comment
|
||||
@@ -68,6 +69,7 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
PomExtensionRegistry.getInstance().updatePomTemplate(model);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
PomUtil.sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
String content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
if (content != null) {
|
||||
|
||||
@@ -29,6 +29,7 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
@@ -138,6 +139,7 @@ public class PomUtil {
|
||||
* copied the codes from createMavenModel of MavenModelManager
|
||||
*/
|
||||
ByteArrayOutputStream buf = new ByteArrayOutputStream();
|
||||
sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, buf);
|
||||
|
||||
ByteArrayInputStream source = new ByteArrayInputStream(buf.toByteArray());
|
||||
@@ -159,6 +161,7 @@ public class PomUtil {
|
||||
properties.putAll(model.getProperties());
|
||||
model.setProperties(properties);
|
||||
ByteArrayOutputStream buf = new ByteArrayOutputStream();
|
||||
sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, buf);
|
||||
|
||||
ByteArrayInputStream source = new ByteArrayInputStream(buf.toByteArray());
|
||||
@@ -180,6 +183,17 @@ public class PomUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static void sortModules(Model model) {
|
||||
if (model != null) {
|
||||
List<String> modules = model.getModules();
|
||||
if (modules != null && !modules.isEmpty()) {
|
||||
List<String> sortedModules = new LinkedList<>(modules);
|
||||
Collections.sort(sortedModules);
|
||||
model.setModules(sortedModules);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void safeClose(Closeable stream) {
|
||||
try {
|
||||
if (stream != null) {
|
||||
@@ -619,7 +633,9 @@ public class PomUtil {
|
||||
File pomFile = new File(baseFolder, TalendMavenConstants.POM_FILE_NAME);
|
||||
|
||||
ByteArrayOutputStream buf = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(createModel(artifact), buf);
|
||||
Model model = createModel(artifact);
|
||||
sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, buf);
|
||||
|
||||
DocumentBuilderFactory documentBuilderFactory = XmlUtils.getSecureDocumentBuilderFactory();
|
||||
documentBuilderFactory.setNamespaceAware(false);
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.collections.keyvalue.MultiKey;
|
||||
@@ -899,6 +900,14 @@ public class LocalRepositoryFactory extends AbstractEMFRepositoryFactory impleme
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Avoid conflicts between different timezone
|
||||
*/
|
||||
Optional.ofNullable(project).map(p -> p.getEmfProject()).ifPresent(p -> {
|
||||
p.setCreationDate(null);
|
||||
p.setDeleteDate(null);
|
||||
});
|
||||
|
||||
xmiResourceManager.saveResource(projectResource);
|
||||
project.getEmfProject().getMigrationTask().addAll(realMigrationTaskList);
|
||||
ProjectDataJsonProvider.saveProjectData(project.getEmfProject());
|
||||
@@ -3066,7 +3075,7 @@ public class LocalRepositoryFactory extends AbstractEMFRepositoryFactory impleme
|
||||
public void createUser(Project project) throws PersistenceException {
|
||||
Resource projectResource = project.getEmfProject().eResource();
|
||||
projectResource.getContents().add(getRepositoryContext().getUser());
|
||||
xmiResourceManager.saveResource(projectResource);
|
||||
saveProject(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user