List of usage examples for org.eclipse.jdt.core IJavaProject encodeClasspathEntry
String encodeClasspathEntry(IClasspathEntry classpathEntry);
From source file:it.wallgren.android.platform.AndroidClasspathContainerInitializer.java
License:Apache License
/** * Persist relevant parts of the container for future sessions * * @param containerPath/*from w w w .j av a2 s . c o m*/ * @param container * @throws CoreException */ private void persistClasspathContainer(IJavaProject project, IClasspathContainer container) throws CoreException { final IClasspathEntry[] entries = container.getClasspathEntries(); for (int i = 0; i < entries.length; i++) { final IClasspathEntry entry = entries[i]; final QualifiedName qname = new QualifiedName(container.getPath().toString(), "IClasspathEntry." + i); final String encodedClasspathEntry = project.encodeClasspathEntry(entry); ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(qname, encodedClasspathEntry); } }
From source file:net.ssehub.easy.producer.ui.project_management.EASyJavaConfigurator.java
License:Apache License
@Override public void configure(IProject project, IProject parentProject) { JavaCapabilityConfigurationPage jcpage = new JavaCapabilityConfigurationPage(); IJavaProject javaProject = JavaCore.create(project); IJavaProject javaParentProject = JavaCore.create(parentProject); jcpage.init(javaProject, null, null, false); try {/*from w ww . j a va 2 s.c om*/ jcpage.configureJavaProject(null); } catch (CoreException e1) { EASyLoggerFactory.INSTANCE.getLogger(EASyJavaConfigurator.class, Activator.PLUGIN_ID).exception(e1); } catch (InterruptedException e1) { EASyLoggerFactory.INSTANCE.getLogger(EASyJavaConfigurator.class, Activator.PLUGIN_ID).exception(e1); } // Try to copy settings from parent try { IClasspathEntry[] parrentEntries = javaParentProject.getRawClasspath(); IClasspathEntry[] newEntries = new IClasspathEntry[parrentEntries.length]; // Copy Classpath Entries for (int i = 0; i < newEntries.length; i++) { IClasspathEntry parentEntry = parrentEntries[i]; newEntries[i] = javaProject .decodeClasspathEntry(javaParentProject.encodeClasspathEntry(parentEntry)); try { IPath entryPath = newEntries[i].getPath().makeAbsolute(); if (project.getFullPath().matchingFirstSegments(entryPath) > 0) { File entryFile = entryPath.toFile(); IFolder folder = project.getFolder(entryFile.getName()); if (!folder.exists()) { folder.create(false, true, null); } } } catch (CoreException e) { EASyLoggerFactory.INSTANCE.getLogger(EASyJavaConfigurator.class, Activator.PLUGIN_ID) .exception(e); } } javaProject.setRawClasspath(newEntries, null); } catch (CoreException e) { EASyLoggerFactory.INSTANCE.getLogger(EASyJavaConfigurator.class, Activator.PLUGIN_ID).exception(e); } }
From source file:org.apache.felix.sigil.eclipse.ui.internal.classpath.SigilClassPathContainer.java
License:Apache License
private static void writeClassPath(IJavaProject javaModel, File file, IClasspathEntry entry) throws IOException { String enc = javaModel.encodeClasspathEntry(entry); FileOutputStream out = new FileOutputStream(file); try {/*w w w.ja v a 2 s .co m*/ out.write(enc.getBytes()); out.flush(); } finally { try { out.close(); } catch (IOException e) { SigilCore.warn("Failed to close stream to " + entry, e); } } }
From source file:org.org.eclipse.dws.core.internal.bridges.ProjectInteractionHelper.java
License:Open Source License
/** * Adds the to raw classpath.//from www.j av a 2s . c o m * * @param classpathEntryWrappers the classpath entry wrappers * @param javaProject the java project * @param monitor the monitor * * @return the list< classpath entry definition> */ private static List<ClasspathEntryDefinition> addToRawClasspath( List<ClasspathEntryDefinition> classpathEntryWrappers, IJavaProject javaProject, IProgressMonitor monitor) { monitor.beginTask("Adding libraries to the classpath of project :" + javaProject.getElementName(), classpathEntryWrappers.size() + 1); IClasspathEntry[] rawClassPath = JavaProjectClasspathHelper.getRawClasspath(javaProject); List<IClasspathEntry> formerEntries = new LinkedList<IClasspathEntry>(Arrays.asList(rawClassPath)); List<IClasspathEntry> newEntries = new LinkedList<IClasspathEntry>(); for (ClasspathEntryDefinition classpathEntryWrapper : classpathEntryWrappers) { IClasspathEntry newLibraryEntry = null; if (classpathEntryWrapper.getEntryType() == EntryType.PATH) { newLibraryEntry = ClasspathHelper.createEntry(classpathEntryWrapper, monitor); } else { newLibraryEntry = createDWSVariableEntry(classpathEntryWrapper, javaProject, monitor); } // ClasspathHelper.addToClasspath(classpath, newLibraryEntry, monitor); newEntries.add(newLibraryEntry); classpathEntryWrapper.setClasspathEntry(javaProject.encodeClasspathEntry(newLibraryEntry)); } JavaProjectClasspathHelper.updateRawClasspath(javaProject, formerEntries, newEntries, monitor); return classpathEntryWrappers; }
From source file:org.org.eclipse.dws.core.internal.bridges.ProjectInteractionHelper.java
License:Open Source License
/** * Gets the classpath entries.//from ww w. j av a2 s. c o m * * @param javaProject the java project * * @return the classpath entries */ public static Set<DWSClasspathEntryDescriptor> getClasspathEntries(IJavaProject javaProject) { Set<DWSClasspathEntryDescriptor> classpathEntryDescriptors = new LinkedHashSet<DWSClasspathEntryDescriptor>(); try { if (javaProject.exists()) { for (IClasspathEntry classpathEntry : javaProject.getRawClasspath()) { DWSClasspathEntryDescriptor classpathEntryDescriptor = new DWSClasspathEntryDescriptor(); classpathEntryDescriptor .setEncodedClasspathEntry(javaProject.encodeClasspathEntry(classpathEntry)); classpathEntryDescriptor.setPath(classpathEntry.getPath().toPortableString()); classpathEntryDescriptor.setProjectName(javaProject.getElementName()); IJavaModelStatus javaModelStatus = JavaConventions.validateClasspathEntry(javaProject, classpathEntry, false); classpathEntryDescriptor.setValid(classpathEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY || classpathEntry.getEntryKind() == IClasspathEntry.CPE_VARIABLE && javaModelStatus.isOK()); classpathEntryDescriptors.add(classpathEntryDescriptor); } } } catch (JavaModelException e) { throw new JavaProjectInteractionException( "An error occured while scanning for classpath entries in project:" + javaProject, e); } return classpathEntryDescriptors; }