Author: ruschein
Date: 2011-06-23 13:07:24 -0700 (Thu, 23 Jun 2011)
New Revision: 25902
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
Log:
Refactored to be simpler and cleaned up.
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
2011-06-23 19:37:26 UTC (rev 25901)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
2011-06-23 20:07:24 UTC (rev 25902)
@@ -56,6 +56,7 @@
private GroupLayout layout;
private SupportedFileTypesManager fileTypesManager;
private boolean input;
+ private List<FileChooserFilter> filters;
/**
* Constructs the <code>GUIHandler</code> for the <code>File</code> type
@@ -70,29 +71,38 @@
* @param t tunable associated to <code>f</code>
* @param fileTypesManager
*/
- protected FileHandler(Field f, Object o, Tunable t, final
SupportedFileTypesManager fileTypesManager,
- Properties props) {
+ protected FileHandler(Field f, Object o, Tunable t,
+ final SupportedFileTypesManager fileTypesManager,
+ final Properties props)
+ {
super(f, o, t);
this.fileTypesManager = fileTypesManager;
this.props = props;
- init();
+ init(fileTypesManager);
}
- protected FileHandler(final Method getter, final Method setter, final
Object instance, final Tunable tunable,
- final SupportedFileTypesManager fileTypesManager,
Properties props) {
+ protected FileHandler(final Method getter, final Method setter, final
Object instance,
+ final Tunable tunable,
+ final SupportedFileTypesManager fileTypesManager,
+ final Properties props)
+ {
super(getter, setter, instance, tunable);
this.fileTypesManager = fileTypesManager;
this.props = props;
- init();
+ init(fileTypesManager);
}
- private void init() {
+ private void init(final SupportedFileTypesManager fileTypesManager) {
//Construction of GUI
fileChooser = new JFileChooser();
input = isInput();
setGui();
setLayout();
panel.setLayout(layout);
+
+ final String fileCategory = getFileCategory();
+ filters =
fileTypesManager.getSupportedFileTypes(DataCategory.valueOf(fileCategory),
+ input);
}
/**
@@ -128,12 +138,10 @@
chooseButton.addActionListener(new myFileActionListener());
//set title and textfield text for the file type
- final String fileCategory = getFileCategory().toUpperCase();
+ final String fileCategory = getFileCategory();
fileTextField.setText("Please select a " +
fileCategory.toLowerCase() + " file...");
titleLabel.setText((input ? "Load " : "Save ") +
initialCaps(fileCategory) + " File");
- final List<FileChooserFilter> filters =
fileTypesManager.getSupportedFileTypes(
- DataCategory.valueOf(fileCategory), input);
for (FileChooserFilter filter : filters)
fileChooser.addChoosableFileFilter(filter);
}
@@ -234,6 +242,23 @@
}
}
+ private static String getFileExtension(final String fileName) {
+ final int lastDotPos = fileName.lastIndexOf('.');
+ if (lastDotPos == -1 || lastDotPos == fileName.length() - 1)
+ return null;
+
+ return fileName.substring(lastDotPos + 1);
+ }
+
+ private static String addFileExtension(final String fileName, final
String extension) {
+ if (fileName.isEmpty())
+ throw new IllegalArgumentException("\"fileName\" must
not be empty!");
+ if (fileName.endsWith("."))
+ return fileName + extension;
+ else
+ return fileName + "." + extension;
+ }
+
//click on the field : removes its initial text
private class MouseClick extends MouseAdapter implements MouseListener{
JComponent component;
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
2011-06-23 19:37:26 UTC (rev 25901)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
2011-06-23 20:07:24 UTC (rev 25902)
@@ -1,72 +1,53 @@
package org.cytoscape.work.internal.tunables.utils;
+
import java.io.File;
import javax.swing.filechooser.FileFilter;
+
public class FileChooserFilter extends FileFilter {
-
private final String description;
- private String extension;
private String[] extensions;
-
- public FileChooserFilter(String description, String extension){
+
+ public FileChooserFilter(final String description, final String
extension){
super();
this.description = description;
- this.extension = extension;
+ this.extensions = new String[] { extension };
}
-
- public FileChooserFilter(String description, String[] extensions) {
+
+ public FileChooserFilter(final String description, final String[]
extensions) {
super();
this.description = description;
this.extensions = extensions;
}
-
-
+
//accept or not the file from jfilechooser
- public boolean accept(File file){
+ public boolean accept(final File file) {
if (file.isDirectory()) return true;
-
+
String fileName = file.getName().toLowerCase();
-
- if (extensions != null){
- for(int i=0; i<extensions.length; i++){
+ if (extensions != null) {
+ for(int i = 0; i < extensions.length; i++) {
if (fileName.endsWith(extensions[i]))
return true;
}
-
- for(int i=0;i<extensions.length;i++){
- if(fileName.contains(extensions[i]))
+
+ for(int i = 0; i < extensions.length; i++) {
+ if (fileName.contains(extensions[i]))
return true;
}
- }
-
- else if(extension != null){
- if(fileName.contains(extension))
- return true;
- else if (fileName.endsWith(extension))
- return true;
- }
+ } else
+ throw new IllegalArgumentException("No fileType
specified");
- else throw new IllegalArgumentException("No fileType
specified");
- //else if (extension.contains("attr")||
extension.contains("Attr")){
- //System.out.println("Attribute type file detected");
- //return true;
- //}
-// else
-// return fileName.endsWith(extension);
return false;
}
-
- public String getDescription(){
+
+ public String getDescription(){
return description;
- }
-
- public String getExtension(){
- return extension;
- }
-
- public String[] getExtensions() {
+ }
+
+ public String[] getExtensions() {
return extensions;
- }
- }
\ No newline at end of file
+ }
+}
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.