Author: paperwing
Date: 2012-08-29 08:31:56 -0700 (Wed, 29 Aug 2012)
New Revision: 30286

Modified:
   
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
   
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
   
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/util/DebugHelper.java
Log:
fixes #1405 Resolved issue caused by FileAlterationMonitor firing multiple 
creation events for large files. The app manager forgot to check if app's new 
file and old file were the same in certain cases.

Modified: 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
===================================================================
--- 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
  2012-08-28 21:21:43 UTC (rev 30285)
+++ 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/manager/AppManager.java
  2012-08-29 15:31:56 UTC (rev 30286)
@@ -269,6 +269,8 @@
                                        return;
                                }
                                
+                               DebugHelper.print(this + " 
installObserverCreate", parsedApp.getAppName() + " parsed");
+                               
                                App registeredApp = null;
                                for (App app : apps) {
                                        if (parsedApp.heuristicEquals(app)) {
@@ -278,7 +280,12 @@
                                                // TODO: Possible rename from 
filename-2 to filename?
                                                File oldFile = 
registeredApp.getAppFile();
                                                
-                                               if (oldFile.exists()) {
+                                               if (oldFile.exists() && 
!registeredApp.getAppFile().equals(parsedApp.getAppFile())) {
+                                                       DebugHelper.print(this 
+ " installObserverCreate", 
+                                                                       
registeredApp.getAppName() + " moved from " 
+                                                                       + 
registeredApp.getAppFile().getAbsolutePath() + " to " 
+                                                                       + 
parsedApp.getAppFile().getAbsolutePath() + ". deleting: " + oldFile);
+                                                       
                                                        
FileUtils.deleteQuietly(oldFile);
                                                }
                                                
@@ -304,6 +311,8 @@
                        public void onFileDelete(File file) {
                                // System.out.println(file + " on delete");
                                
+                               DebugHelper.print(this + " 
installObserverDelete", file.getAbsolutePath() + " deleted.");
+                               
                                for (App app : apps) {
                                        // System.out.println("checking " + 
app.getAppFile().getAbsolutePath());
                                        if (app.getAppFile().equals(file)) {
@@ -330,6 +339,8 @@
                                        return;
                                }
                                
+                               DebugHelper.print(this + " 
disableObserverCreate", parsedApp.getAppName() + " parsed");
+                               
                                App registeredApp = null;
                                for (App app : apps) {
                                        if (parsedApp.heuristicEquals(app)) {
@@ -339,7 +350,12 @@
                                                // TODO: Possible rename from 
filename-2 to filename?
                                                File oldFile = 
registeredApp.getAppFile();
                                                
-                                               if (oldFile.exists()) {
+                                               if (oldFile.exists() && 
!registeredApp.getAppFile().equals(parsedApp.getAppFile())) {
+                                                       DebugHelper.print(this 
+ " disableObserverCreate", 
+                                                                       
registeredApp.getAppName() + " moved from " 
+                                                                       + 
registeredApp.getAppFile().getAbsolutePath() + " to " 
+                                                                       + 
parsedApp.getAppFile().getAbsolutePath() + ". deleting: " + oldFile);
+                                                       
                                                        
FileUtils.deleteQuietly(oldFile);
                                                }
                                                
@@ -368,6 +384,8 @@
                        public void onFileDelete(File file) {
                                // System.out.println(file + " on delete");
                                
+                               DebugHelper.print(this + " 
disableObserverDelete", file.getAbsolutePath() + " deleted.");
+                               
                                for (App app : apps) {
                                        // System.out.println("checking " + 
app.getAppFile().getAbsolutePath());
                                        if (app.getAppFile().equals(file)) {
@@ -394,6 +412,8 @@
                                        return;
                                }
                                
+                               DebugHelper.print(this + " 
uninstallObserverCreate", parsedApp.getAppName() + " parsed");
+                               
                                App registeredApp = null;
                                for (App app : apps) {
                                        if (parsedApp.heuristicEquals(app)) {
@@ -403,7 +423,12 @@
                                                // TODO: Possible rename from 
filename-2 to filename?
                                                File oldFile = 
registeredApp.getAppFile();
                                                
-                                               if (oldFile.exists()) {
+                                               if (oldFile.exists() && 
!registeredApp.getAppFile().equals(parsedApp.getAppFile())) {
+                                                       DebugHelper.print(this 
+ " uninstallObserverCreate", 
+                                                                       
registeredApp.getAppName() + " moved from " 
+                                                                       + 
registeredApp.getAppFile().getAbsolutePath() + " to " 
+                                                                       + 
parsedApp.getAppFile().getAbsolutePath() + ". deleting: " + oldFile);
+                                                       
                                                        
FileUtils.deleteQuietly(oldFile);
                                                }
                                                
@@ -432,6 +457,8 @@
                        public void onFileDelete(File file) {
                                // System.out.println(file + " on delete");
                                
+                               DebugHelper.print(this + " 
uninstallObserverDelete", file.getAbsolutePath() + " deleted.");
+                               
                                for (App app : apps) {
                                        // System.out.println("checking " + 
app.getAppFile().getAbsolutePath());
                                        if (app.getAppFile().equals(file)) {

Modified: 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
===================================================================
--- 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
 2012-08-28 21:21:43 UTC (rev 30285)
+++ 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/ui/AppManagerDialog.java
 2012-08-29 15:31:56 UTC (rev 30286)
@@ -87,7 +87,6 @@
     public void showManageDownloadSitesDialog() {
        if (manageDownloadSitesDialog != null) {
                manageDownloadSitesDialog.setLocationRelativeTo(this);
-               manageDownloadSitesDialog.pack();
                manageDownloadSitesDialog.setVisible(true);
        }
     }

Modified: 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/util/DebugHelper.java
===================================================================
--- 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/util/DebugHelper.java
    2012-08-28 21:21:43 UTC (rev 30285)
+++ 
core3/impl/trunk/app-impl/src/main/java/org/cytoscape/app/internal/util/DebugHelper.java
    2012-08-29 15:31:56 UTC (rev 30286)
@@ -5,10 +5,11 @@
  */
 public class DebugHelper {
        private static boolean debug = false;
+//     private static boolean debug = true;
        
        public static void print(String message) {
                if (debug) {
-                       System.out.println(message);
+                       System.out.println("DebugHelper: " + message);
                }
        }
        

-- 
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.

Reply via email to