/** * Returns array of all classpaths of the given type in the project. * The result is used for example for GlobalPathRegistry registrations. */ public ClassPath[] getProjectClassPaths(String type) { if (ClassPath.SOURCE.equals(type)) { ClassPath[] base = javaClassPathProvider.getProjectClassPaths(type); ClassPath[] l = new ClassPath[base.length+1]; System.arraycopy(base, 0, l, 0, base.length); l[l.length-1] = getSourcepath(FileType.WEB_SOURCE); return l; } else { return javaClassPathProvider.getProjectClassPaths(type); } }
/** * Returns the given type of the classpath for the project sources * (i.e., excluding tests roots). */ public ClassPath getProjectSourcesClassPath(String type) { return javaClassPathProvider.getProjectSourcesClassPath(type); }
public String[] getPropertyName (SourceGroup sg, String type) { return javaClassPathProvider.getPropertyName(sg, type); }
public ClassPathProviderImpl(AntProjectHelper helper, PropertyEvaluator evaluator, SourceRoots sourceRoots, SourceRoots testSourceRoots) { this.helper = helper; this.projectDirectory = FileUtil.toFile(helper.getProjectDirectory()); assert this.projectDirectory != null; this.evaluator = evaluator; this.sourceRoots = sourceRoots; this.testSourceRoots = testSourceRoots; evaluator.addPropertyChangeListener(WeakListeners.propertyChange(this, evaluator)); this.javaClassPathProvider = new org.netbeans.modules.java.api.common.classpath.ClassPathProviderImpl( helper, evaluator, sourceRoots, testSourceRoots, ProjectProperties.BUILD_CLASSES_DIR, WebProjectProperties.DIST_WAR, ProjectProperties.BUILD_TEST_CLASSES_DIR, new String[] {"javac.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH }, new String[] {ProjectProperties.JAVAC_PROCESSORPATH}, new String[] {"javac.test.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH }, new String[] {"debug.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH }, new String[] {"run.test.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH }, new String[] {ProjectProperties.ENDORSED_CLASSPATH}); }
private synchronized ClassPath getCompileTimeClasspath(FileType type) { if (type == FileType.WEB_SOURCE) { if (sourceRoots.getRoots().length > 0) { return javaClassPathProvider.findClassPath(sourceRoots.getRoots()[0], ClassPath.COMPILE); } else { ClassPath cp = cache.get(ClassPathCache.WEB_COMPILATION); if (cp == null) { cp = ClassPathFactory.createClassPath(ProjectClassPathSupport.createPropertyBasedClassPathImplementation( projectDirectory, evaluator, new String[] {"javac.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH })); cache.put(ClassPathCache.WEB_COMPILATION, cp); } return cp; } } return null; }
apiJAXWSClientSupport = JAXWSClientSupportFactory.createJAXWSClientSupport(jaxWsClientSupport); libMod = new AppClientCompilationClassPathModifierImpl(this, this.updateHelper, eval, refHelper); this.cpProvider = new ClassPathProviderImpl(helper, evaluator(), getSourceRoots(), getTestSourceRoots(), ProjectProperties.BUILD_CLASSES_DIR, AppClientProjectProperties.DIST_JAR, ProjectProperties.BUILD_TEST_CLASSES_DIR, new String[] {"javac.classpath", AppClientProjectProperties.J2EE_PLATFORM_CLASSPATH }, // NOI18N
private synchronized ClassPath getRunTimeClasspath(FileType type) { if (type == FileType.WEB_SOURCE) { if (sourceRoots.getRoots().length > 0) { return javaClassPathProvider.findClassPath(sourceRoots.getRoots()[0], ClassPath.EXECUTE); } else { ClassPath cp = cache.get(ClassPathCache.WEB_RUNTIME); if (cp == null) { cp = ClassPathFactory.createClassPath(ProjectClassPathSupport.createPropertyBasedClassPathImplementation( projectDirectory, evaluator, new String[] {"debug.classpath", WebProjectProperties.J2EE_PLATFORM_CLASSPATH })); cache.put(ClassPathCache.WEB_RUNTIME, cp); } return cp; } } return null; }
private EntityMappingsMetadataModelHelper createEntityMappingsHelper() { return EntityMappingsMetadataModelHelper.create( cpProvider.getProjectSourcesClassPath(ClassPath.BOOT), cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE)); }
protected void projectClosed() { evaluator().removePropertyChangeListener(AppClientProject.this.appClient); // unregister j2ee platform classpath change listener String servInstID = getProperty(AntProjectHelper.PRIVATE_PROPERTIES_PATH, AppClientProjectProperties.J2EE_SERVER_INSTANCE); J2eePlatform platform = Deployment.getDefault().getJ2eePlatform(servInstID); if (platform != null) { unregisterJ2eePlatformListener(platform); } // Probably unnecessary, but just in case: try { ProjectManager.getDefault().saveProject(AppClientProject.this); } catch (IOException e) { Exceptions.printStackTrace(e); } // unregister project's classpaths to GlobalPathRegistry GlobalPathRegistry.getDefault().unregister(ClassPath.BOOT, cpProvider.getProjectClassPaths(ClassPath.BOOT)); GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, cpProvider.getProjectClassPaths(ClassPath.SOURCE)); GlobalPathRegistry.getDefault().unregister(ClassPath.COMPILE, cpProvider.getProjectClassPaths(ClassPath.COMPILE)); if (mainClassUpdater != null) { mainClassUpdater.unregister(); mainClassUpdater = null; } }
public String getClassPathProperty(SourceGroup sg, String type) { assert sg != null : "SourceGroup cannot be null"; //NOI18N assert type != null : "Type cannot be null"; //NOI18N final String[] classPathProperty = getClassPathProvider().getPropertyName (sg, type); if (classPathProperty == null || classPathProperty.length == 0) { throw new UnsupportedOperationException ("Modification of [" + sg.getRootFolder().getPath() +", " + type + "] is not supported"); //NOI18N } return classPathProperty[0]; }
UpdateImplementation updateProject = new UpdateProjectImpl(this, helper, aux, genFilesHelper); this.updateHelper = new UpdateHelper(updateProject, helper); this.cpProvider = new ClassPathProviderImpl(helper, evaluator(), getSourceRoots(), getTestSourceRoots(), ProjectProperties.BUILD_CLASSES_DIR, EjbJarProjectProperties.DIST_JAR, ProjectProperties.BUILD_TEST_CLASSES_DIR, new String[] {"javac.classpath", EjbJarProjectProperties.J2EE_PLATFORM_CLASSPATH }, // NOI18N
@Override public ClassPath findClassPath(FileObject file, String type) { ClassPath cp = javaClassPathProvider.findClassPath(file, type); if (cp != null) { return cp; } FileType fileType = getType(file); if (type.equals(ClassPath.COMPILE)) { cp = getCompileTimeClasspath(fileType); } else if (type.equals(ClassPath.EXECUTE)) { cp = getRunTimeClasspath(fileType); } else if (type.equals(ClassPath.SOURCE)) { cp = getSourcepath(fileType); } else if (type.equals("js/library")) { // NOI18N cp = getSourcepath(FileType.WEB_SOURCE); } return cp; }
private EntityMappingsMetadataModelHelper createEntityMappingsHelper() { return EntityMappingsMetadataModelHelper.create( cpProvider.getProjectSourcesClassPath(ClassPath.BOOT), cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE)); }
GlobalPathRegistry.getDefault().unregister(ClassPath.BOOT, cpProvider.getProjectClassPaths(ClassPath.BOOT)); GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, cpProvider.getProjectClassPaths(ClassPath.SOURCE)); GlobalPathRegistry.getDefault().unregister(ClassPath.COMPILE, cpProvider.getProjectClassPaths(ClassPath.COMPILE));
public String getClassPathProperty(SourceGroup sg, String type) { assert sg != null : "SourceGroup cannot be null"; //NOI18N assert type != null : "Type cannot be null"; //NOI18N final String classPathProperty[] = getClassPathProvider().getPropertyName (sg, type); if (classPathProperty == null || classPathProperty.length == 0) { throw new UnsupportedOperationException ("Modification of [" + sg.getRootFolder().getPath() +", " + type + "] is not supported"); //NOI18N } return classPathProperty[0]; }
private ClassPath getProjectSourcesClassPath() { synchronized (this) { if (projectSourcesClassPath == null) { projectSourcesClassPath = ClassPathSupport.createProxyClassPath(new ClassPath[] { cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE), cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), }); } return projectSourcesClassPath; } }
GlobalPathRegistry.getDefault().register(ClassPath.BOOT, cpProvider.getProjectClassPaths(ClassPath.BOOT)); GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, cpProvider.getProjectClassPaths(ClassPath.SOURCE)); GlobalPathRegistry.getDefault().register(ClassPath.COMPILE, cpProvider.getProjectClassPaths(ClassPath.COMPILE)); cpProvider.getProjectClassPaths(ClassPath.SOURCE)[0], AppClientProjectProperties.MAIN_CLASS);
private ClassPath getProjectSourcesClassPath() { synchronized (this) { if (projectSourcesClassPath == null) { projectSourcesClassPath = ClassPathSupport.createProxyClassPath(new ClassPath[] { cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE), cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), }); } return projectSourcesClassPath; } }
GlobalPathRegistry.getDefault().register(ClassPath.BOOT, cpProvider.getProjectClassPaths(ClassPath.BOOT)); GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, cpProvider.getProjectClassPaths(ClassPath.SOURCE)); GlobalPathRegistry.getDefault().register(ClassPath.COMPILE, cpProvider.getProjectClassPaths(ClassPath.COMPILE));
private synchronized MetadataModel<WebservicesMetadata> getWebservicesMetadataModel() { if (webservicesMetadataModel == null) { FileObject ddFO = getDD(); File ddFile = ddFO != null ? FileUtil.toFile(ddFO) : null; MetadataUnit metadataUnit = MetadataUnit.create( cpProvider.getProjectSourcesClassPath(ClassPath.BOOT), cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE), // XXX: add listening on deplymentDescriptor ddFile); webservicesMetadataModel = WebservicesMetadataModelFactory.createMetadataModel(metadataUnit); } return webservicesMetadataModel; }