package com.laex.cg2d.core.popup.actions; import java.util.ArrayList; import java.util.List; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.runtime.CoreException; import com.laex.cg2d.model.ICGCProject; public class UploadToSpritesProjectProvider { public static class SlootProjectProvider { public String developerID = ""; public String collectionTitle = ""; public List<IResource> entities = new ArrayList<IResource>(); public List<IResource> screens = new ArrayList<IResource>(); public List<IResource> textures = new ArrayList<IResource>(); } public static SlootProjectProvider slootProjectProvider(String developerID, IProject project) throws CoreException { final SlootProjectProvider labelProvider = new SlootProjectProvider(); labelProvider.developerID = developerID; labelProvider.collectionTitle = project.getName(); project.accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if (UploadToSpritesSlootController.isEntity(resource)) { labelProvider.entities.add(resource); } if (UploadToSpritesSlootController.isScreen(resource)) { labelProvider.screens.add(resource); } return true; } }); IFolder texturesFolder = project.getFolder(ICGCProject.TEXTURES_FOLDER); texturesFolder.accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if (resource.getType() == IResource.FILE) { labelProvider.textures.add(resource); } return true; } }); return labelProvider; } }