[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stp-commits] r3302 - org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.common.java/src/org/eclipse/stp/sca/common/java/extensions

Author: vzurczak
Date: 2009-08-27 05:34:21 -0400 (Thu, 27 Aug 2009)
New Revision: 3302

Modified:
   org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.common.java/src/org/eclipse/stp/sca/common/java/extensions/ScaJavaNatureExtension.java
Log:
Prevent duplicate entries exception.

Modified: org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.common.java/src/org/eclipse/stp/sca/common/java/extensions/ScaJavaNatureExtension.java
===================================================================
--- org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.common.java/src/org/eclipse/stp/sca/common/java/extensions/ScaJavaNatureExtension.java	2009-08-27 08:46:03 UTC (rev 3301)
+++ org.eclipse.stp.sca/trunk/org.eclipse.stp.sca.common.java/src/org/eclipse/stp/sca/common/java/extensions/ScaJavaNatureExtension.java	2009-08-27 09:34:21 UTC (rev 3302)
@@ -12,6 +12,7 @@
 package org.eclipse.stp.sca.common.java.extensions;
 
 import java.io.File;
+import java.util.Arrays;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IPath;
@@ -47,16 +48,19 @@
 
 			IJavaProject javaProject = JavaCore.create( project );
 			IClasspathEntry[] entries = javaProject.getRawClasspath();
+			IPath path = new Path( scaAnnPath.getAbsolutePath());
+			IClasspathEntry entry = JavaCore.newLibraryEntry( path, null, null );
+			
+			if( Arrays.asList( entries ).contains( entry ))
+				return;
+			
 			int length = entries == null ? 0 : entries.length;
 			IClasspathEntry[] newEntries = new IClasspathEntry[ length + 1 ];
 			System.arraycopy( entries, 0, newEntries, 0, length );
-
-			IPath path = new Path( scaAnnPath.getAbsolutePath());
-			IClasspathEntry entry = JavaCore.newLibraryEntry( path, null, null );
 			newEntries[ length ] = entry;
 
 			try {
-				if( !javaProject.hasClasspathCycle( newEntries ))
+				if( ! javaProject.hasClasspathCycle( newEntries ))
 					javaProject.setRawClasspath( newEntries, new NullProgressMonitor());
 			} catch( Exception e ) {
 				e.printStackTrace();