Author: psharples
Date: Tue Oct 11 13:12:23 2011
New Revision: 1181770

URL: http://svn.apache.org/viewvc?rev=1181770&view=rev
Log:
Fix for the flatpacking of widgets which were part of the original 0.9.0 
release. After upgrading to 0.9.1, these widgets (or rather instances of them) 
could not be flatpacked. See WOOKIE-256.

Modified:
    incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java
    incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetFactory.java
    incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java
    incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java

Modified: incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java?rev=1181770&r1=1181769&r2=1181770&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java Tue 
Oct 11 13:12:23 2011
@@ -503,7 +503,7 @@ public class WidgetAdminServlet extends 
                                else{
                                        // UPDATE
                                        // Update the widget metadata and 
configuration details
-                                       WidgetFactory.update(widgetModel, 
persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()), false);
+                                       WidgetFactory.update(widgetModel, 
persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()), false, 
zipFile);
                                        request.setAttribute("message_value", 
"'"+ widgetModel.getLocalName("en") +"' - " + 
localizedMessages.getString("WidgetAdminServlet.20")); //$NON-NLS-1$ 
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$                                      
                                }
                        }

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetFactory.java?rev=1181770&r1=1181769&r2=1181770&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetFactory.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetFactory.java Tue 
Oct 11 13:12:23 2011
@@ -318,9 +318,9 @@ public class WidgetFactory {
         * @param widget the existing widget
         * @param grantAccessRequests set to true to grant any access requests 
defined by the model
         */
-       public static void update( W3CWidget model, IWidget widget,  boolean 
grantAccessRequests ){
+       public static void update( W3CWidget model, IWidget widget,  boolean 
grantAccessRequests, File zipFile){
            IPersistenceManager persistenceManager = 
PersistenceManagerFactory.getPersistenceManager();
-    
+          
                widget.setDir(model.getDir());
         widget.setLang(model.getLang());
         widget.setDefaultLocale(model.getDefaultLocale());
@@ -338,7 +338,11 @@ public class WidgetFactory {
                widget.setFeatures(null);       
                widget.setWidgetIcons(null);
                widget.setPreferenceDefaults(null);
-               
+               // We set this here to ensure widgets already imported in to
+               // a 0.9.0 version of wookie get this value set. See WOOKIE-256
+           if(zipFile != null){
+               widget.setPackagePath(zipFile.getPath());
+           }
                // Set with updated values
                createAuthor(persistenceManager, model,widget);
                createStartFiles(persistenceManager, model,widget);

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java?rev=1181770&r1=1181769&r2=1181770&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
Tue Oct 11 13:12:23 2011
@@ -194,7 +194,7 @@ public class ContextListener implements 
                                                                
FlashMessage.getInstance().message(message);
                                                        } else {
                                                                String message 
= model.getLocalName("en") +"' - " + 
localizedMessages.getString("WidgetAdminServlet.20");
-                                                               
WidgetFactory.update(model, 
persistenceManager.findWidgetByGuid(model.getIdentifier()), true);
+                                                               
WidgetFactory.update(model, 
persistenceManager.findWidgetByGuid(model.getIdentifier()), true, upload);
                                                                
_logger.info(message);
                                                                
FlashMessage.getInstance().message(message);
                                                        }

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java?rev=1181770&r1=1181769&r2=1181770&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java 
Tue Oct 11 13:12:23 2011
@@ -169,7 +169,7 @@ public class UpdatesController extends C
        private void installUpdate(W3CWidgetFactory factory, IWidget widget, 
boolean onlyUseHttps) throws InvalidContentTypeException, 
BadWidgetZipFileException, BadManifestException, IOException, Exception{
                W3CWidget updatedWidget = UpdateUtils.getUpdate(factory, 
widget.getGuid(), widget.getUpdateLocation(), widget.getVersion(), 
onlyUseHttps);
                if (updatedWidget != null){
-                       WidgetFactory.update(updatedWidget, widget, false);
+                       WidgetFactory.update(updatedWidget, widget, false, 
null);
                        _logger.info("Successfully updated "+widget.getGuid()+" 
to version "+updatedWidget.getVersion());
                        FlashMessage.getInstance().message("Successfully 
updated "+widget.getGuid()+" to version "+updatedWidget.getVersion());
                }


Reply via email to