List of usage examples for org.eclipse.jdt.core IClasspathEntry getPath
IPath getPath();
From source file:cn.dockerfoundry.ide.eclipse.server.core.internal.application.JavaWebApplicationDelegate.java
License:Open Source License
/** * Attempts to determine the framework based on the contents and nature of * the project. Returns null if no framework was determined. * @param project// w ww .j a va2 s . co m * @return Framework type or null if framework was not determined. * @deprecated kept for reference as to how application type was being * determined from a Java project for legacy v1 CF servers. v2 Servers no * longer require a framework for an application, as frameworks have been * replaced with buildpacks. */ protected String getFramework(IProject project) { if (project != null) { IJavaProject javaProject = DockerFoundryProjectUtil.getJavaProject(project); if (javaProject != null) { if (DockerFoundryProjectUtil.hasNature(project, DockerFoundryConstants.GRAILS_NATURE)) { return DockerFoundryConstants.GRAILS; } // in case user has Grails projects without the nature // attached if (project.isAccessible() && project.getFolder("grails-app").exists() //$NON-NLS-1$ && project.getFile("application.properties").exists()) { //$NON-NLS-1$ return DockerFoundryConstants.GRAILS; } IClasspathEntry[] entries; boolean foundSpringLibrary = false; try { entries = javaProject.getRawClasspath(); for (IClasspathEntry entry : entries) { if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { if (isLiftLibrary(entry)) { return DockerFoundryConstants.LIFT; } if (isSpringLibrary(entry)) { foundSpringLibrary = true; } } else if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), javaProject); if (container != null) { for (IClasspathEntry childEntry : container.getClasspathEntries()) { if (isLiftLibrary(childEntry)) { return DockerFoundryConstants.LIFT; } if (isSpringLibrary(childEntry)) { foundSpringLibrary = true; } } } } } } catch (JavaModelException e) { // Log the error but don't throw it again as there may be // other ways to detect the framework DockerFoundryPlugin.log(new Status(IStatus.WARNING, DockerFoundryPlugin.PLUGIN_ID, "Unexpected error during auto detection of application type", e)); //$NON-NLS-1$ } if (DockerFoundryProjectUtil.isSpringProject(project)) { return DockerFoundryConstants.SPRING; } if (foundSpringLibrary) { return DockerFoundryConstants.SPRING; } } } return null; }
From source file:cn.dockerfoundry.ide.eclipse.server.core.internal.application.JavaWebApplicationDelegate.java
License:Open Source License
private boolean isLiftLibrary(IClasspathEntry entry) { if (entry.getPath() != null) { String name = entry.getPath().lastSegment(); return Pattern.matches("lift-webkit.*\\.jar", name); //$NON-NLS-1$ }// w ww .jav a2 s . com return false; }
From source file:cn.dockerfoundry.ide.eclipse.server.core.internal.application.JavaWebApplicationDelegate.java
License:Open Source License
private boolean isSpringLibrary(IClasspathEntry entry) { if (entry.getPath() != null) { String name = entry.getPath().lastSegment(); return Pattern.matches(".*spring.*\\.jar", name); //$NON-NLS-1$ }//from w w w . jav a 2 s . com return false; }
From source file:cn.dockerfoundry.ide.eclipse.server.core.internal.debug.DebugProvider.java
License:Open Source License
/** * Returns either test sources, or non-test sources, based on a flag * setting. If nothing is found, returns empty list. *///from w ww. ja v a 2s.c o m protected boolean containsDebugFiles(IJavaProject project) { try { IClasspathEntry[] entries = project.getResolvedClasspath(true); if (entries != null) { for (IClasspathEntry entry : entries) { if (entry != null && entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { IPath projectPath = project.getPath(); IPath relativePath = entry.getPath().makeRelativeTo(projectPath); IFolder folder = project.getProject().getFolder(relativePath); if (containsResource(folder, ".profile.d")) {//$NON-NLS-1$ return true; } } } } } catch (JavaModelException e) { DockerFoundryPlugin.logError(e); } catch (CoreException ce) { DockerFoundryPlugin.logError(ce); } return false; }
From source file:cn.ieclipse.adt.ext.helpers.ProjectHelper.java
License:Apache License
public static void cleanOrmClasspath(IJavaProject javaProject) throws JavaModelException { IClasspathEntry[] entries = javaProject.getRawClasspath(); int idx = -1; int i = 0;/*from ww w . j a va 2s.c om*/ for (IClasspathEntry entry : entries) { if (AormClasspathContainerInitializer.invalidOrmClassPath(entry.getPath())) { idx = i; break; } i++; } if (idx >= 0) { entries = removeEntryFromClasspath(entries, idx); javaProject.setRawClasspath(entries, new NullProgressMonitor()); } }
From source file:cn.ieclipse.adt.ext.helpers.ProjectHelper.java
License:Apache License
public static boolean isContainerInClasspath(IJavaProject javaProject, IClasspathContainer container) throws JavaModelException { IClasspathEntry[] entries = javaProject.getRawClasspath(); // IClasspathEntry[] temps = container.getClasspathEntries(); boolean result = false; for (IClasspathEntry entry : entries) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER && entry.getPath().equals(container.getPath())) { result = true;/*from w w w .java2 s. co m*/ break; } } return result; }
From source file:cn.ieclipse.adt.ext.helpers.ProjectHelper.java
License:Apache License
/** * Get all classpathentries for the given project. * /*w w w . j a va 2 s . c om*/ * @param javaProject * project to get the classpath for. * @return classpathentries */ private static String[] getJavaClasspath(IJavaProject javaProject) throws CoreException { List<String> classPath = new ArrayList<String>(); String[] defaultClassPath = JavaRuntime.computeDefaultRuntimeClassPath(javaProject); classPath.addAll(Arrays.asList(defaultClassPath)); // add CPE_CONTAINER classpathes IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); for (IClasspathEntry entry : rawClasspath) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { IClasspathContainer classpathContainer = JavaCore.getClasspathContainer(entry.getPath(), javaProject); if (classpathContainer != null) { IClasspathEntry[] classpathEntries = classpathContainer.getClasspathEntries(); for (IClasspathEntry cEntry : classpathEntries) { classPath.add(cEntry.getPath().toOSString()); } } } } return classPath.toArray(new String[] {}); }
From source file:cn.ieclipse.aorm.eclipse.helpers.IntentReflectionHelper.java
License:Apache License
/** * Get all classpathentries for the given project. * //from ww w. j a va 2 s . c om * @param javaProject * project to get the classpath for. * @return classpathentries */ private String[] getJavaClasspath(IJavaProject javaProject) throws CoreException { List<String> classPath = new ArrayList<String>(); String[] defaultClassPath = JavaRuntime.computeDefaultRuntimeClassPath(javaProject); classPath.addAll(Arrays.asList(defaultClassPath)); // add CPE_CONTAINER classpathes IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); for (IClasspathEntry entry : rawClasspath) { if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) { IClasspathContainer classpathContainer = JavaCore.getClasspathContainer(entry.getPath(), javaProject); if (classpathContainer != null) { IClasspathEntry[] classpathEntries = classpathContainer.getClasspathEntries(); for (IClasspathEntry cEntry : classpathEntries) { classPath.add(cEntry.getPath().toOSString()); } } } } return classPath.toArray(new String[] {}); }
From source file:com.amazonaws.eclipse.android.sdk.classpath.AwsAndroidSdkClasspathUtils.java
License:Open Source License
public static void addAwsAndroidSdkToProjectClasspath(IJavaProject javaProject, AbstractSdkInstall sdkInstall) { try {//from w ww . j a va 2s. co m AndroidSdkClasspathContainer classpathContainer = new AndroidSdkClasspathContainer(sdkInstall, javaProject.getProject()); IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); List<IClasspathEntry> newList = new ArrayList<IClasspathEntry>(); for (IClasspathEntry entry : rawClasspath) { if (entry.getPath().equals(classpathContainer.getPath()) == false) { newList.add(entry); } } newList.add(JavaCore.newContainerEntry(classpathContainer.getPath())); javaProject.setRawClasspath(newList.toArray(new IClasspathEntry[newList.size()]), null); } catch (JavaModelException e) { String message = "Unable to add AWS SDK for Android to the project's classpath"; IStatus status = new Status(IStatus.ERROR, AndroidSDKPlugin.PLUGIN_ID, message, e); StatusManager.getManager().handle(status, StatusManager.LOG); } }
From source file:com.amazonaws.eclipse.elasticbeanstalk.webproject.CreateNewAwsJavaWebProjectRunnable.java
License:Open Source License
private IClasspathEntry findSdkClasspathEntry(IJavaProject javaProject) throws JavaModelException { IPath expectedPath = new AwsClasspathContainer(SdkManager.getInstance().getDefaultSdkInstall()).getPath(); for (IClasspathEntry entry : javaProject.getRawClasspath()) { if (entry.getPath().equals(expectedPath)) return entry; }// w w w .jav a 2s. c o m return null; }