List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getResource
IResource getResource();
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldAddHttpMethodsAndResourcesWhenAddingSourceFolderWithExistingMetamodel() throws CoreException { // pre-conditions // operation//from w w w. ja v a 2 s .com final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); final ResourceDelta event = createEvent(sourceFolder.getResource(), ADDED); final JaxrsMetamodelDelta affectedMetamodel = processor.processAffectedResources(project, false, Arrays.asList(event), progressMonitor); // verifications assertThat(affectedMetamodel.getDeltaKind(), equalTo(CHANGED)); assertThat(affectedMetamodel.getMetamodel(), equalTo((IJaxrsMetamodel) metamodel)); final List<JaxrsElementDelta> affectedElements = affectedMetamodel.getAffectedElements(); // 1 application + 1 HttpMethod + 7 Resources assertThat(affectedElements.size(), equalTo(9)); assertThat(affectedElements, everyItem(Matchers.<JaxrsElementDelta>hasProperty("deltaKind", equalTo(ADDED)))); // all HttpMethods, Resources, ResourceMethods and ResourceFields. only application is available: the java-based // one found in src/main/java assertThat(metamodel.getElements(javaProject).size(), equalTo(35)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldAddHttpMethodsAndResourcesWhenAddingSourceFolderWithExistingMetamodelWithReset() throws CoreException { // pre-conditions // operation//from w w w . jav a 2 s. c om final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); final ResourceDelta event = createEvent(sourceFolder.getResource(), ADDED); final JaxrsMetamodelDelta affectedMetamodel = processor.processAffectedResources(project, true, Arrays.asList(event), progressMonitor); // verifications assertThat(affectedMetamodel.getDeltaKind(), equalTo(CHANGED)); metamodel = (JaxrsMetamodel) affectedMetamodel.getMetamodel(); assertThat(metamodel, equalTo((IJaxrsMetamodel) metamodel)); final List<JaxrsElementDelta> affectedElements = affectedMetamodel.getAffectedElements(); // 1 application + 1 HttpMethod + 7 Resources assertThat(affectedElements.size(), equalTo(9)); assertThat(affectedElements, everyItem(Matchers.<JaxrsElementDelta>hasProperty("deltaKind", equalTo(ADDED)))); // all project-specific Applications, HttpMethods, Resources, ResourceMethods and ResourceFields (built-in // HttpMethods are not bound to a project) // 2 applications are available: the java-based and the web.xml since a full build was performed assertThat(metamodel.getElements(javaProject).size(), equalTo(36)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
/** * Because sometimes, generics are painful... * /*from w ww . j a v a 2 s . c o m*/ * @param elements * @return private List<IJaxrsElement<?>> asList(IJaxrsElement<?>... elements) { final List<IJaxrsElement<?>> result * = new ArrayList<IJaxrsElement<?>>(); result.addAll(Arrays.asList(elements)); return result; } */ @Test public void shouldAddHttpMethodsAndResourcesWhenAddingSourceFolderWithoutExistingMetamodel() throws CoreException { // pre-conditions // remove the metamodel this.metamodel.remove(); this.metamodel = null; // operation final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); final ResourceDelta event = createEvent(sourceFolder.getResource(), ADDED); final JaxrsMetamodelDelta affectedMetamodel = processor.processAffectedResources(project, false, Arrays.asList(event), progressMonitor); // verifications // 1 application + 1 HttpMethod + 3 RootResources + 2 Subresources assertThat(affectedMetamodel.getDeltaKind(), equalTo(ADDED)); metamodel = (JaxrsMetamodel) affectedMetamodel.getMetamodel(); assertThat(metamodel, notNullValue()); final List<JaxrsElementDelta> affectedElements = affectedMetamodel.getAffectedElements(); assertThat(affectedElements.size(), equalTo(9)); // all Applications, HttpMethods, Resources, ResourceMethods and ResourceFields specific to the project assertThat(metamodel.getElements(javaProject).size(), equalTo(36)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldNotAddAnythingAddingBinaryLib() throws CoreException { // pre-conditions final IPackageFragmentRoot lib = WorkbenchUtils.getPackageFragmentRoot(javaProject, "lib/jaxrs-api-2.0.1.GA.jar", progressMonitor); // operation/*from w ww. java 2s . c o m*/ final ResourceDelta event = createEvent(lib.getResource(), ADDED); final List<JaxrsElementDelta> affectedElements = processResourceChanges(event, progressMonitor); // verifications: jar should not be taken into account, even if if it contains matching elements... assertThat(affectedElements.size(), equalTo(0)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldRemoveJavaApplicationWhenRemovingSourceFolder() throws CoreException { // pre-conditions final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject, progressMonitor); final JaxrsJavaApplication application = createJavaApplication(type); metamodel.add(application);/*from w w w. j a v a 2s .c om*/ final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); // operation final ResourceDelta event = createEvent(sourceFolder.getResource(), REMOVED); final List<JaxrsElementDelta> affectedElements = processResourceChanges(event, progressMonitor); // verifications assertThat(affectedElements.size(), equalTo(1)); assertThat(affectedElements.get(0).getElement().getElementCategory(), equalTo(EnumElementCategory.APPLICATION)); assertThat(affectedElements.get(0).getElement(), is(notNullValue())); assertThat(affectedElements.get(0).getDeltaKind(), equalTo(REMOVED)); assertThat(metamodel.getElements(javaProject).size(), equalTo(0)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldNotRemoveHttpMethodWhenRemovingBinaryLib() throws CoreException { // pre-conditions final IPackageFragmentRoot lib = WorkbenchUtils.getPackageFragmentRoot(javaProject, "lib/jaxrs-api-2.0.1.GA.jar", progressMonitor); // let's suppose that this jar only contains 1 HTTP Methods ;-) final IType type = JdtUtils.resolveType("javax.ws.rs.GET", javaProject, progressMonitor); final Annotation annotation = resolveAnnotation(type, HTTP_METHOD.qualifiedName); final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod.Builder(type, metamodel).httpMethod(annotation) .build();/*from www .j a v a 2s . co m*/ metamodel.add(httpMethod); // operation final ResourceDelta event = createEvent(lib.getResource(), REMOVED); final List<JaxrsElementDelta> affectedElements = processResourceChanges(event, progressMonitor); // verifications assertThat(affectedElements.size(), equalTo(0)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldRemoveHttpMethodWhenRemovingSourceFolder() throws CoreException { // pre-conditions final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject, progressMonitor);/* w ww . j a v a 2 s . co m*/ final Annotation annotation = resolveAnnotation(type, HTTP_METHOD.qualifiedName); final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod.Builder(type, metamodel).httpMethod(annotation) .build(); metamodel.add(httpMethod); final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); // operation final ResourceDelta event = createEvent(sourceFolder.getResource(), REMOVED); final List<JaxrsElementDelta> affectedElements = processResourceChanges(event, progressMonitor); // verifications assertThat(affectedElements.size(), equalTo(1)); assertThat(affectedElements.get(0).getElement().getElementCategory(), equalTo(EnumElementCategory.HTTP_METHOD)); assertThat(affectedElements.get(0).getElement(), is(notNullValue())); assertThat(affectedElements.get(0).getDeltaKind(), equalTo(REMOVED)); assertThat(metamodel.getElements(javaProject).size(), equalTo(0)); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessorTestCase.java
License:Open Source License
@Test public void shouldRemoveResourceWhenRemovingSourceFolder() throws CoreException { // pre-conditions final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java", progressMonitor); final IType type = getType("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource", javaProject); final Annotation annotation = resolveAnnotation(type, CONSUMES.qualifiedName); final JaxrsResource resource = new JaxrsResource.Builder(type, metamodel).pathTemplate(annotation).build(); metamodel.add(resource);/* ww w . j a v a 2 s . c om*/ // operation final ResourceDelta event = createEvent(sourceFolder.getResource(), REMOVED); final List<JaxrsElementDelta> affectedElements = processResourceChanges(event, progressMonitor); // verifications assertThat(affectedElements.size(), equalTo(1)); assertThat(affectedElements.get(0).getElement().getElementCategory(), equalTo(EnumElementCategory.RESOURCE)); verify(metamodel, times(1)).remove(any(JaxrsResource.class)); // nothing left assertThat(metamodel.getElements(javaProject).size(), equalTo(0)); }
From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsElementCreationUtils.java
License:Open Source License
/** * Retrieves the top-level package in the given {@link IPackageFragmentRoot} of an {@link IJavaProject}, ie, the deepest {@link IPackageFragment} which has no {@link ICompilationUnit} element. * @param packageFragmentRoot the base packageFragmentRoot * @return the top-level {@link IPackageFragment} * @throws CoreException // w w w . j ava 2 s . co m */ public static IPackageFragment getProjectTopLevelPackage(final IPackageFragmentRoot packageFragmentRoot) throws CoreException { IFolder currentFolder = (IFolder) packageFragmentRoot.getResource(); while (hasUniqueChildFolder(currentFolder)) { currentFolder = (IFolder) currentFolder.members()[0]; } if (currentFolder != null) { return (IPackageFragment) packageFragmentRoot.getJavaProject() .findPackageFragment(currentFolder.getFullPath()); } return null; }
From source file:org.jetbrains.kotlin.core.resolve.lang.java.EclipseJavaClassFinder.java
License:Apache License
private static boolean isInKotlinBinFolder(@NotNull IType eclipseType) { IFolder kotlinBinFolder = KotlinJavaManager.INSTANCE .getKotlinBinFolderFor(eclipseType.getJavaProject().getProject()); IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) eclipseType.getPackageFragment() .getParent();// w w w. j a v a 2 s. co m return kotlinBinFolder.equals(packageFragmentRoot.getResource()); }