Author: ruschein
Date: 2011-06-23 15:31:48 -0700 (Thu, 23 Jun 2011)
New Revision: 25905
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
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/SupportedFileTypesManager.java
core3/work-swing-impl/trunk/impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
Log:
Fixed Redmine Bug #71.
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 22:27:35 UTC (rev 25904)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
2011-06-23 22:31:48 UTC (rev 25905)
@@ -93,16 +93,16 @@
}
private void init(final SupportedFileTypesManager fileTypesManager) {
- //Construction of GUI
fileChooser = new JFileChooser();
input = isInput();
+
+ final String fileCategory = getFileCategory();
+ filters =
fileTypesManager.getSupportedFileTypes(DataCategory.valueOf(fileCategory.toUpperCase()),
+ input);
+
setGui();
setLayout();
panel.setLayout(layout);
-
- final String fileCategory = getFileCategory();
- filters =
fileTypesManager.getSupportedFileTypes(DataCategory.valueOf(fileCategory),
- input);
}
/**
@@ -221,6 +221,16 @@
if (ret == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
if (file != null) {
+ // Make sure the user-supplied
file name has an extension:
+ final String fileName =
file.getPath();
+ if (getFileExtension(fileName)
== null) {
+ final String extension =
+
filters.get(0).getExtensions()[0];
+ final String
nameWithExtension =
+
addFileExtension(fileName, extension);
+ file = new
File(nameWithExtension);
+ }
+
if
(ae.getActionCommand().equals("save") && file.exists()) {
if
(JOptionPane.showConfirmDialog(
panel,
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 22:27:35 UTC (rev 25904)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
2011-06-23 22:31:48 UTC (rev 25905)
@@ -9,7 +9,7 @@
private final String description;
private String[] extensions;
- public FileChooserFilter(final String description, final String
extension){
+ public FileChooserFilter(final String description, final String
extension) {
super();
this.description = description;
this.extensions = new String[] { extension };
@@ -50,4 +50,14 @@
public String[] getExtensions() {
return extensions;
}
+
+ static String toString(final String[] strings) {
+ final StringBuilder setAsString = new StringBuilder();
+ setAsString.append('{');
+ for (final String item : strings) {
+ setAsString.append(item + " ");
+ }
+ setAsString.append('}');
+ return setAsString.toString();
+ }
}
\ No newline at end of file
Modified:
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/SupportedFileTypesManager.java
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/SupportedFileTypesManager.java
2011-06-23 22:27:35 UTC (rev 25904)
+++
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/SupportedFileTypesManager.java
2011-06-23 22:31:48 UTC (rev 25905)
@@ -37,11 +37,11 @@
inputFactories.remove(factory);
}
- public void addOutputStreamTaskFactory(CyWriterFactory factory,
Map<?,?> properties) {
+ public void addCyWriterTaskFactory(CyWriterFactory factory, Map<?,?>
properties) {
outputFactories.add(factory);
}
- public void removeOutputStreamTaskFactory(CyWriterFactory factory,
Map<?,?> properties) {
+ public void removeCyWriterTaskFactory(CyWriterFactory factory, Map<?,?>
properties) {
outputFactories.remove(factory);
}
@@ -52,7 +52,9 @@
return getSupportedFileTypes(category, outputFactories);
}
- private List<FileChooserFilter> getSupportedFileTypes(final
DataCategory category, final Set<CyFileFilterProvider> factories) {
+ private List<FileChooserFilter> getSupportedFileTypes(final
DataCategory category,
+ final
Set<CyFileFilterProvider> factories)
+ {
List<FileChooserFilter> types = new
ArrayList<FileChooserFilter>();
Set<String> allExtensions = new HashSet<String>();
@@ -84,7 +86,8 @@
});
String description = String.format("All %1$s files",
category.toString().toLowerCase());
- types.add(new FileChooserFilter(description, new
ArrayList<String>(allExtensions).toArray(new String[allExtensions.size()])));
+ types.add(new FileChooserFilter(description,
+ new
ArrayList<String>(allExtensions).toArray(new String[allExtensions.size()])));
return types;
}
}
Modified:
core3/work-swing-impl/trunk/impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/work-swing-impl/trunk/impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-23 22:27:35 UTC (rev 25904)
+++
core3/work-swing-impl/trunk/impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-23 22:31:48 UTC (rev 25905)
@@ -37,7 +37,7 @@
filter="(cyPropertyName=bookmarks)" />
<osgi:reference id="bookmarksUtilServiceRef"
interface="org.cytoscape.property.bookmark.BookmarksUtil" />
-
+
<osgi:set id="supportedFileTypes"
interface="org.cytoscape.io.read.InputStreamTaskFactory"
cardinality="0..N">
@@ -45,6 +45,14 @@
unbind-method="removeInputStreamTaskFactory"
ref="supportedFileTypesManager" />
</osgi:set>
+
+ <osgi:set id="supportedFileTypes2"
+ interface="org.cytoscape.io.write.CyWriterFactory"
+ cardinality="0..N">
+ <osgi:listener bind-method="addCyWriterTaskFactory"
+ unbind-method="removeCyWriterTaskFactory"
+ ref="supportedFileTypesManager" />
+ </osgi:set>
<osgi:set id="externalTunableInterceptors"
interface="org.cytoscape.work.TunableInterceptor"
--
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.