Author: snjeza
Date: 2012-02-01 15:31:34 -0500 (Wed, 01 Feb 2012)
New Revision: 38376
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/JSFPortletFacetUninstallDelegate.java
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/PortletFacetUninstallDelegate.java
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/libprov/PortletServerRuntimeLibraryProviderInstallOperation.java
Log:
JBIDE-10259 Cannot add JBoss Core Portlet facet if it has been removed before.
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/JSFPortletFacetUninstallDelegate.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/JSFPortletFacetUninstallDelegate.java 2012-02-01
19:34:02 UTC (rev 38375)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/JSFPortletFacetUninstallDelegate.java 2012-02-01
20:31:34 UTC (rev 38376)
@@ -10,11 +10,20 @@
************************************************************************************/
package org.jboss.tools.portlet.core.internal.project.facet;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
import org.eclipse.wst.common.project.facet.core.IDelegate;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.jboss.tools.portlet.core.IPortletConstants;
/**
* @author snjeza
@@ -27,8 +36,7 @@
*/
public void execute(IProject project, IProjectFacetVersion fv,
Object config, IProgressMonitor monitor) throws CoreException {
- // TODO Auto-generated method stub
-
+
}
}
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/PortletFacetUninstallDelegate.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/PortletFacetUninstallDelegate.java 2012-02-01
19:34:02 UTC (rev 38375)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/internal/project/facet/PortletFacetUninstallDelegate.java 2012-02-01
20:31:34 UTC (rev 38376)
@@ -10,11 +10,20 @@
************************************************************************************/
package org.jboss.tools.portlet.core.internal.project.facet;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
import org.eclipse.wst.common.project.facet.core.IDelegate;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.jboss.tools.portlet.core.IPortletConstants;
/**
* @author snjeza
@@ -27,8 +36,24 @@
*/
public void execute(IProject project, IProjectFacetVersion fv,
Object config, IProgressMonitor monitor) throws CoreException {
- // TODO Auto-generated method stub
-
+ IJavaProject javaProject = JavaCore.create(project);
+ if (javaProject != null && javaProject.exists()) {
+ IClasspathEntry[] entries = javaProject.getRawClasspath();
+ IPath containerPath = new Path(IPortletConstants.PORTLET_RUNTIME_CONTAINER_ID);
+ List<IClasspathEntry> newEntries = new ArrayList<IClasspathEntry>();
+ for (IClasspathEntry entry:entries) {
+ if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
+ IPath path = entry.getPath();
+ if (containerPath.equals(path)) {
+ continue;
+ }
+ }
+ newEntries.add(entry);
+ }
+ if (newEntries.size() != entries.length) {
+ javaProject.setRawClasspath(newEntries.toArray(new IClasspathEntry[0]), monitor);
+ }
+ }
}
}
Modified:
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/libprov/PortletServerRuntimeLibraryProviderInstallOperation.java
===================================================================
---
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/libprov/PortletServerRuntimeLibraryProviderInstallOperation.java 2012-02-01
19:34:02 UTC (rev 38375)
+++
trunk/portlet/plugins/org.jboss.tools.portlet.core/src/org/jboss/tools/portlet/core/libprov/PortletServerRuntimeLibraryProviderInstallOperation.java 2012-02-01
20:31:34 UTC (rev 38376)
@@ -8,7 +8,6 @@
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
@@ -30,8 +29,16 @@
}
private void setContainerPath(IProgressMonitor monitor, IJavaProject javaProject,IPath
containerPath) throws CoreException {
+ IClasspathEntry[] entries = javaProject.getRawClasspath();
+ for (IClasspathEntry entry:entries) {
+ if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
+ IPath path = entry.getPath();
+ if (containerPath.equals(path)) {
+ return;
+ }
+ }
+ }
IClasspathEntry entry = JavaCore.newContainerEntry(containerPath, true);
- IClasspathEntry[] entries = javaProject.getRawClasspath();
IClasspathEntry[] newEntries = new IClasspathEntry[entries.length + 1];
System.arraycopy( entries, 0, newEntries, 0, entries.length );
newEntries[entries.length] = entry;
Show replies by date