/***************************************************************************** * Copyright (c) 2011 Atos Origin Integration. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Tristan Faure (Atos Origin Integration) tristan.faure@atosorigin.com - Initial API and implementation *****************************************************************************/ package org.eclipse.papyrus.infra.onefile.model.mapping; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.mapping.ResourceMapping; import org.eclipse.core.resources.mapping.ResourceMappingContext; import org.eclipse.core.resources.mapping.ResourceTraversal; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.papyrus.infra.onefile.model.ISubResourceFile; import org.eclipse.papyrus.infra.onefile.providers.OneFileModelProvider; public class SubResourceMapping extends ResourceMapping { private final ISubResourceFile file; public SubResourceMapping(ISubResourceFile adaptableObject) { this.file = adaptableObject; } @Override public Object getModelObject() { return file; } @Override public String getModelProviderId() { return OneFileModelProvider.MODEL_PROVIDER_ID; } @Override public IProject[] getProjects() { return new IProject[] { file.getProject() }; } @Override public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException { // if (ResourceMappingContext.LOCAL_CONTEXT == context) // { // return new ResourceTraversal[]{new ResourceTraversal(new // IResource[]{papyrusFile.get()}, IResource.DEPTH_ONE, // IResource.NONE)}; // } // else // { return new ResourceTraversal[] { new ResourceTraversal( new IResource[] { file.getFile() }, IResource.DEPTH_INFINITE, IResource.NONE) }; // } } @Override public void accept(ResourceMappingContext context, IResourceVisitor visitor, IProgressMonitor monitor) throws CoreException { super.accept(context, visitor, monitor); } }