You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2017/08/04 09:47:32 UTC

svn commit: r1804086 - /sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java

Author: kwin
Date: Fri Aug  4 09:47:32 2017
New Revision: 1804086

URL: http://svn.apache.org/viewvc?rev=1804086&view=rev
Log:
SLING-6190 only try to modify natures in case something new was really added

Modified:
    sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java

Modified: sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java?rev=1804086&r1=1804085&r2=1804086&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java (original)
+++ sling/trunk/tooling/ide/eclipse-m2e-ui/src/org/apache/sling/ide/eclipse/m2e/internal/ContentPackageProjectConfigurator.java Fri Aug  4 09:47:32 2017
@@ -122,17 +122,22 @@ public class ContentPackageProjectConfig
         String[] oldNatureIds = description.getNatureIds();
         Set<String> newNatureIdSet = new TreeSet<String>();
         newNatureIdSet.addAll(Arrays.asList(oldNatureIds));
-        newNatureIdSet.addAll(Arrays.asList(natureIdsToAdd));
-        String[] newNatureIds = newNatureIdSet.toArray(new String[newNatureIdSet.size()]);
-        IStatus status = project.getWorkspace().validateNatureSet(newNatureIds);
-        // check the status and decide what to do
-        if (status.getCode() == IStatus.OK) {
-            description.setNatureIds(newNatureIds);
-            project.setDescription(description, IResource.KEEP_HISTORY, progressMonitor);
+        // check if there is a nature change really requested
+        if (newNatureIdSet.addAll(Arrays.asList(natureIdsToAdd))) {
+            String[] newNatureIds = newNatureIdSet.toArray(new String[newNatureIdSet.size()]);
+            IStatus status = project.getWorkspace().validateNatureSet(newNatureIds);
+            // check the status and decide what to do
+            if (status.getCode() == IStatus.OK) {
+                trace("Modifiying natures of project {1} to {0}", Arrays.toString(newNatureIds), project);
+                description.setNatureIds(newNatureIds);
+                project.setDescription(description, IResource.KEEP_HISTORY, progressMonitor);
+            } else {
+                StatusManager.getManager().handle(status, StatusManager.LOG|StatusManager.SHOW);
+                // add marker
+                addMarker(pomResource, "Could not add all necessary WTP natures: " + status.getMessage(), IMarker.SEVERITY_ERROR);
+            }
         } else {
-            StatusManager.getManager().handle(status, StatusManager.LOG|StatusManager.SHOW);
-            // add marker
-            addMarker(pomResource, "Could not add all necessary WTP natures: " + status.getMessage(), IMarker.SEVERITY_ERROR);
+            trace("Not modifiying natures of project {1} as required natures {0} are already set ", Arrays.toString(natureIdsToAdd), project);
         }
     }