Search in sources :

Example 6 with ResourceMapping

use of org.eclipse.core.resources.mapping.ResourceMapping in project egit by eclipse.

the class SelectionUtilsTest method getSelectedResourcesShouldUseAllTraversals.

@Test
public void getSelectedResourcesShouldUseAllTraversals() throws Exception {
    IResource resource1 = mock(IResource.class);
    IResource resource2 = mock(IResource.class);
    ResourceTraversal traversal1 = new ResourceTraversal(new IResource[] { resource1 }, 1, 0);
    ResourceTraversal traversal2 = new ResourceTraversal(new IResource[] { resource2 }, 1, 0);
    ResourceMapping mapping = mock(ResourceMapping.class);
    when(mapping.getTraversals(null, null)).thenReturn(new ResourceTraversal[] { traversal1, traversal2 });
    StructuredSelection selection = new StructuredSelection(mapping);
    IResource[] result = SelectionUtils.getSelectedResources(selection);
    assertEquals(2, result.length);
    assertEquals(resource1, result[0]);
    assertEquals(resource2, result[1]);
}
Also used : ResourceTraversal(org.eclipse.core.resources.mapping.ResourceTraversal) ResourceMapping(org.eclipse.core.resources.mapping.ResourceMapping) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IResource(org.eclipse.core.resources.IResource) Test(org.junit.Test)

Example 7 with ResourceMapping

use of org.eclipse.core.resources.mapping.ResourceMapping in project egit by eclipse.

the class LabelEventJob method getResource.

// -------- Helper methods --------
private static IResource getResource(Object actElement) {
    Object element = actElement;
    if (element instanceof ResourceMapping) {
        element = ((ResourceMapping) element).getModelObject();
    }
    IResource resource = null;
    if (element instanceof IResource) {
        resource = (IResource) element;
    } else if (element instanceof IAdaptable) {
        final IAdaptable adaptable = (IAdaptable) element;
        resource = AdapterUtils.adapt(adaptable, IResource.class);
        if (resource == null) {
            final IContributorResourceAdapter adapter = AdapterUtils.adapt(adaptable, IContributorResourceAdapter.class);
            if (adapter != null)
                resource = adapter.getAdaptedResource(adaptable);
        }
    }
    return resource;
}
Also used : IContributorResourceAdapter(org.eclipse.ui.IContributorResourceAdapter) IAdaptable(org.eclipse.core.runtime.IAdaptable) ResourceMapping(org.eclipse.core.resources.mapping.ResourceMapping) IResource(org.eclipse.core.resources.IResource)

Example 8 with ResourceMapping

use of org.eclipse.core.resources.mapping.ResourceMapping in project egit by eclipse.

the class SaveFilter method isDescendantOfRoots.

/**
 * Return whether the given saveable contains any resources that
 * are descendants of the root resources.
 * @param saveable the saveable
 * @return whether the given saveable contains any resources that
 * are descendants of the root resources
 */
private boolean isDescendantOfRoots(Saveable saveable) {
    // First, try and adapt the saveable to a resource mapping.
    ResourceMapping mapping = ResourceUtil.getResourceMapping(saveable);
    if (mapping != null) {
        try {
            ResourceTraversal[] traversals = mapping.getTraversals(ResourceMappingContext.LOCAL_CONTEXT, null);
            for (int i = 0; i < traversals.length; i++) {
                ResourceTraversal traversal = traversals[i];
                IResource[] resources = traversal.getResources();
                for (int j = 0; j < resources.length; j++) {
                    IResource resource = resources[j];
                    if (isDescendantOfRoots(resource)) {
                        return true;
                    }
                }
            }
        } catch (CoreException e) {
            Activator.logError(NLS.bind("An internal error occurred while determining the resources for {0}", saveable.getName()), // $NON-NLS-1$
            e);
        }
    } else {
        // If there is no mapping, try to adapt to a resource or file directly
        IFile file = ResourceUtil.getFile(saveable);
        if (file != null) {
            return isDescendantOfRoots(file);
        }
    }
    return false;
}
Also used : ResourceTraversal(org.eclipse.core.resources.mapping.ResourceTraversal) IFile(org.eclipse.core.resources.IFile) CoreException(org.eclipse.core.runtime.CoreException) ResourceMapping(org.eclipse.core.resources.mapping.ResourceMapping) IResource(org.eclipse.core.resources.IResource)

Example 9 with ResourceMapping

use of org.eclipse.core.resources.mapping.ResourceMapping in project che by eclipse.

the class CompilationUnitReorgChange method perform.

@Override
public final Change perform(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    pm.beginTask(getName(), 1);
    try {
        ICompilationUnit unit = getCu();
        ResourceMapping mapping = JavaElementResourceMapping.create(unit);
        Change result = doPerformReorg(new SubProgressMonitor(pm, 1));
        markAsExecuted(unit, mapping);
        return result;
    } finally {
        pm.done();
    }
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) JavaElementResourceMapping(org.eclipse.jdt.internal.corext.util.JavaElementResourceMapping) ResourceMapping(org.eclipse.core.resources.mapping.ResourceMapping) ResourceChange(org.eclipse.ltk.core.refactoring.resource.ResourceChange) Change(org.eclipse.ltk.core.refactoring.Change) SubProgressMonitor(org.eclipse.core.runtime.SubProgressMonitor)

Example 10 with ResourceMapping

use of org.eclipse.core.resources.mapping.ResourceMapping in project che by eclipse.

the class PackageReorgChange method perform.

@Override
public final Change perform(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    pm.beginTask(getName(), 1);
    try {
        IPackageFragment pack = getPackage();
        ResourceMapping mapping = JavaElementResourceMapping.create(pack);
        final Change result = doPerformReorg(pm);
        markAsExecuted(pack, mapping);
        return result;
    } finally {
        pm.done();
    }
}
Also used : IPackageFragment(org.eclipse.jdt.core.IPackageFragment) JavaElementResourceMapping(org.eclipse.jdt.internal.corext.util.JavaElementResourceMapping) ResourceMapping(org.eclipse.core.resources.mapping.ResourceMapping) ResourceChange(org.eclipse.ltk.core.refactoring.resource.ResourceChange) Change(org.eclipse.ltk.core.refactoring.Change)

Aggregations

ResourceMapping (org.eclipse.core.resources.mapping.ResourceMapping)28 IResource (org.eclipse.core.resources.IResource)14 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)7 JavaElementResourceMapping (org.eclipse.jdt.internal.corext.util.JavaElementResourceMapping)7 CoreException (org.eclipse.core.runtime.CoreException)6 GitSynchronizeDataSet (org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet)6 HashSet (java.util.HashSet)5 LinkedHashSet (java.util.LinkedHashSet)5 GitSynchronizeData (org.eclipse.egit.core.synchronize.dto.GitSynchronizeData)5 IFile (org.eclipse.core.resources.IFile)4 ResourceTraversal (org.eclipse.core.resources.mapping.ResourceTraversal)4 IAdaptable (org.eclipse.core.runtime.IAdaptable)4 Change (org.eclipse.ltk.core.refactoring.Change)4 File (java.io.File)3 IProject (org.eclipse.core.resources.IProject)3 ResourceMappingContext (org.eclipse.core.resources.mapping.ResourceMappingContext)3 GitResourceVariantTreeSubscriber (org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber)3 GitSubscriberMergeContext (org.eclipse.egit.core.synchronize.GitSubscriberMergeContext)3 GitSubscriberResourceMappingContext (org.eclipse.egit.core.synchronize.GitSubscriberResourceMappingContext)3 ResourceChange (org.eclipse.ltk.core.refactoring.resource.ResourceChange)3