in eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java [573:669]
private Object doGetAdapter(Class adapter) {
if (adapter==ITabbedPropertySheetPageContributor.class) {
return new ITabbedPropertySheetPageContributor() {
@Override
public String getContributorId() {
return "org.eclipse.ui.navigator.ProjectExplorer";
}
};
} else if (adapter==IPropertySource.class) {
return null;//properties;
} else if (adapter == IFile.class) {
if (resource instanceof IFile) {
return resource;
} else {
return null;
}
} else if ( adapter == IFolder.class) {
if ( resource instanceof IFolder ) {
return resource;
} else {
return null;
}
} else if (adapter == IContributorResourceAdapter.class) {
//if (resource==null) {
// return null;
//}
return new IContributorResourceAdapter() {
@Override
public IResource getAdaptedResource(IAdaptable adaptable) {
if (!(adaptable instanceof JcrNode)) {
return null;
}
JcrNode node = (JcrNode)adaptable;
if (node.resource!=null) {
return node.resource;
} else {
return node.underlying.file;
}
// return null;
}
};
} else if (adapter == IResource.class) {
if (resource!=null) {
return resource;
} else {
return null;//underlying.file;
}
} else if (adapter == ResourceMapping.class) {
boolean t = true;
if (!t) {
return null;
}
// if (resource==null) {
// return null;
// }
return new ResourceMapping() {
@Override
public ResourceTraversal[] getTraversals(ResourceMappingContext context,
IProgressMonitor monitor) throws CoreException {
if (resource!=null) {
return new ResourceTraversal[] { new ResourceTraversal(new IResource[] { resource }, IResource.DEPTH_INFINITE, IResource.NONE) };
} else {
return new ResourceTraversal[] { new ResourceTraversal(new IResource[] { underlying.file }, IResource.DEPTH_INFINITE, IResource.NONE) };
}
}
@Override
public IProject[] getProjects() {
if (resource!=null) {
return new IProject[] {resource.getProject()};
} else {
return new IProject[] {underlying.file.getProject()};
}
// return null;
}
@Override
public String getModelProviderId() {
return "org.apache.sling.ide.eclipse.ui.nav.model.JcrNode.ResourceMapping";
}
@Override
public Object getModelObject() {
if (resource!=null) {
return resource;
} else {
return underlying.file;
}
}
};
}
return null;
}