From: <kon...@us...> - 2010-12-16 22:44:14
|
Revision: 1179 http://cishell.svn.sourceforge.net/cishell/?rev=1179&view=rev Author: kongchinhua Date: 2010-12-16 22:44:07 +0000 (Thu, 16 Dec 2010) Log Message: ----------- Add executeAlgorithm() to AlgorithmUtilities class to support non-progress monitoring execution Fix Database ISI loading issue on Load and Clean Change the Generic load to use Load and Clean by default Remove Load and Clean ISI from menu Create PrettyLabels method to support hierarchy labeling Reviewed by Micah Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoadAlgorithm.java trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/PrettyLabeler.java trunk/core/org.cishell.utilities/.project trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoadAlgorithm.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoadAlgorithm.java 2010-12-13 18:48:52 UTC (rev 1178) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoadAlgorithm.java 2010-12-16 22:44:07 UTC (rev 1179) @@ -130,7 +130,8 @@ } private Data[] labelFileData(File file, Data[] validatedFileData) { - Data[] labeledFileData = PrettyLabeler.relabelWithFileName(validatedFileData, file); + Data[] labeledFileData = PrettyLabeler.relabelWithFileNameHierarchy( + validatedFileData, file); return labeledFileData; } Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/PrettyLabeler.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/PrettyLabeler.java 2010-12-13 18:48:52 UTC (rev 1178) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/PrettyLabeler.java 2010-12-16 22:44:07 UTC (rev 1179) @@ -41,4 +41,44 @@ return newData.toArray(new Data[0]); } + + /** + * Support Hierarchy structure labeling. The algorithm will avoid labeling + * on children. + * @param data - data that need to relabel + * @param file - file that contains filename to be used for relabeling + * @return the processed data with new labels + */ + public static Data[] relabelWithFileNameHierarchy(Data[] data, File file) { + File absoluteFile = file.getAbsoluteFile(); + File parent = absoluteFile.getParentFile(); + + String prefix; + String parentName = parent.getName(); + if (parentName.trim().length() == 0) { + prefix = File.separator; + } else { + prefix = "..." + File.separator + parentName + File.separator; + } + + Collection<Data> possibleParents = new ArrayList<Data>(data.length); + + for (Data datum : data) { + Dictionary<String, Object> labeledDatumMetadata = datum.getMetadata(); + Data dataParent = getParent(labeledDatumMetadata); + if (!possibleParents.contains(dataParent)) { + labeledDatumMetadata.put(DataProperty.LABEL, prefix + absoluteFile.getName()); + } + possibleParents.add(datum); + } + + return data; + } + + /* + * Get the parent of the data + */ + private static Data getParent(Dictionary<String, Object> labeledDatumMetadata) { + return (Data) labeledDatumMetadata.get(DataProperty.PARENT); + } } \ No newline at end of file Modified: trunk/core/org.cishell.utilities/.project =================================================================== --- trunk/core/org.cishell.utilities/.project 2010-12-13 18:48:52 UTC (rev 1178) +++ trunk/core/org.cishell.utilities/.project 2010-12-16 22:44:07 UTC (rev 1179) @@ -20,9 +20,15 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.pde.PluginNature</nature> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> </natures> </projectDescription> Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java 2010-12-13 18:48:52 UTC (rev 1178) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java 2010-12-16 22:44:07 UTC (rev 1179) @@ -117,6 +117,9 @@ } } + /* + * Use this to execute algorithm with progress monitoring + */ @SuppressWarnings("unchecked") // Dictionary<String, Object> public static Data[] executeAlgorithm( AlgorithmFactory algorithmFactory, @@ -136,4 +139,17 @@ return result; } + + /* + * Use this to execute algorithm without progress monitoring + */ + public static Data[] executeAlgorithm( + AlgorithmFactory algorithmFactory, + Data[] data, + Dictionary parameters, + CIShellContext ciShellContext) + throws AlgorithmExecutionException { + + return executeAlgorithm(algorithmFactory, null, data, parameters, ciShellContext); + } } \ No newline at end of file Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2010-12-13 18:48:52 UTC (rev 1178) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2010-12-16 22:44:07 UTC (rev 1179) @@ -367,7 +367,7 @@ } if (!extension.startsWith(".")) { - extension = extension + "."; + extension = "." + extension; } String tempPath = System.getProperty("java.io.tmpdir"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |