diff options
Diffstat (limited to 'examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java')
-rw-r--r-- | examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java index 204012122..34e117628 100644 --- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java +++ b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java @@ -13,12 +13,23 @@ *******************************************************************************/ package org.eclipse.team.examples.model; -import java.io.*; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.*; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IStorage; +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; import org.eclipse.team.examples.filesystem.FileSystemPlugin; @@ -34,40 +45,36 @@ public class ModelObjectDefinitionFile extends ModelFile { } return false; } - + public static IResource[] getReferencedResources(String projectName, IStorage storage) throws CoreException { if (storage == null) return new IResource[0]; - List result = new ArrayList(); + List<IResource> result = new ArrayList<>(); String[] filePaths = readLines(storage); - for (int i = 0; i < filePaths.length; i++) { - String path = filePaths[i]; + for (String path : filePaths) { IFile file = getFile(projectName, path); - if (file != null - && file.getFileExtension() != null + if (file != null + && file.getFileExtension() != null && file.getFileExtension().equals(ModelObjectElementFile.MODEL_OBJECT_ELEMENTFILE_EXTENSION)) { result.add(file); } } - return (IResource[]) result.toArray(new IResource[result.size()]); + return result.toArray(new IResource[result.size()]); } - + public ModelObjectDefinitionFile(IFile file) { super(file); } - - /* (non-Javadoc) - * @see org.eclipse.team.examples.model.ModelObject#getChildren() - */ + + @Override public ModelObject[] getChildren() throws CoreException { return getModelObjectElementFiles(); } public ModelObjectElementFile[] getModelObjectElementFiles() throws CoreException { - List result = new ArrayList(); + List<ModelObjectElementFile> result = new ArrayList<>(); String[] filePaths = readLines((IFile)getResource()); - for (int i = 0; i < filePaths.length; i++) { - String path = filePaths[i]; + for (String path : filePaths) { IFile file = getFile(getResource().getProject().getName(), path); if (file != null) { ModelObjectElementFile moeFile = getMoeFile(file); @@ -75,19 +82,19 @@ public class ModelObjectDefinitionFile extends ModelFile { result.add(moeFile); } } - return (ModelObjectElementFile[]) result.toArray(new ModelObjectElementFile[result.size()]); + return result.toArray(new ModelObjectElementFile[result.size()]); } private static String[] readLines(IStorage file) throws CoreException { BufferedReader reader = new BufferedReader(new InputStreamReader(file.getContents())); String line = null; - List result = new ArrayList(); + List<String> result = new ArrayList<>(); try { while ((line = reader.readLine()) != null) { result.add(line.trim()); } } catch (IOException e) { - throw new CoreException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, + throw new CoreException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, NLS.bind("Error reading from file {0}", file.getFullPath()), e)); } finally { try { @@ -96,19 +103,18 @@ public class ModelObjectDefinitionFile extends ModelFile { // Ignore } } - return (String[]) result.toArray(new String[result.size()]); + return result.toArray(new String[result.size()]); } private void writeLines(String[] strings) throws CoreException { StringBuffer buffer = new StringBuffer(); - for (int i = 0; i < strings.length; i++) { - String string = strings[i]; + for (String string : strings) { buffer.append(string); buffer.append("\n"); } ((IFile)getResource()).setContents(new ByteArrayInputStream(buffer.toString().getBytes()), false, true, null); } - + private ModelObjectElementFile getMoeFile(IFile file) { if (ModelObjectElementFile.isMoeFile(file)) { return new ModelObjectElementFile(this, file); @@ -135,38 +141,35 @@ public class ModelObjectDefinitionFile extends ModelFile { public void remove(ModelObjectElementFile file) throws CoreException { ModelObjectElementFile[] files = getModelObjectElementFiles(); - List paths = new ArrayList(); - for (int i = 0; i < files.length; i++) { - ModelObjectElementFile child = files[i]; + List<String> paths = new ArrayList<>(); + for (ModelObjectElementFile child : files) { if (!child.equals(file)) { paths.add(child.getResource().getProjectRelativePath().toString()); } } - writeLines((String[]) paths.toArray(new String[paths.size()])); + writeLines(paths.toArray(new String[paths.size()])); } + @Override public void delete() throws CoreException { ModelObjectElementFile[] files = getModelObjectElementFiles(); super.delete(); - for (int i = 0; i < files.length; i++) { - ModelObjectElementFile file = files[i]; + for (ModelObjectElementFile file : files) { file.getResource().delete(false, null); } } public void setElements(IResource[] resources) throws CoreException { - List paths = new ArrayList(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + List<String> paths = new ArrayList<>(); + for (IResource resource : resources) { paths.add(resource.getProjectRelativePath().toString()); } - writeLines((String[]) paths.toArray(new String[paths.size()])); + writeLines(paths.toArray(new String[paths.size()])); } public boolean hasMoe(IFile file) throws CoreException { ModelObjectElementFile[] files = getModelObjectElementFiles(); - for (int i = 0; i < files.length; i++) { - ModelObjectElementFile child = files[i]; + for (ModelObjectElementFile child : files) { if (child.getResource().equals(file)) return true; } |