You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/07 21:58:48 UTC

svn commit: r1565812 - in /wookie/trunk/wookie-server/src/main/java/org/apache/wookie: server/ContextListener.java server/LocalizedResourceFilter.java updates/AutomaticUpdater.java updates/UpdatesController.java

Author: scottbw
Date: Fri Feb  7 20:58:48 2014
New Revision: 1565812

URL: http://svn.apache.org/r1565812
Log:
Replaced references to JPA PersistenceManager with WidgetMetadataService SPI

Modified:
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/ContextListener.java
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/LocalizedResourceFilter.java
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/AutomaticUpdater.java
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/UpdatesController.java

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/ContextListener.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/ContextListener.java?rev=1565812&r1=1565811&r2=1565812&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/ContextListener.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/ContextListener.java Fri Feb  7 20:58:48 2014
@@ -34,6 +34,7 @@ import org.apache.wookie.beans.util.Pers
 import org.apache.wookie.feature.Features;
 import org.apache.wookie.helpers.WidgetFactory;
 import org.apache.wookie.helpers.WidgetRuntimeHelper;
+import org.apache.wookie.services.WidgetMetadataService;
 import org.apache.wookie.updates.AutomaticUpdater;
 import org.apache.wookie.util.NewWidgetBroadcaster;
 import org.apache.wookie.util.W3CWidgetFactoryUtils;
@@ -180,45 +181,35 @@ public class ContextListener implements 
                 watcher.setWatchDir(deploy);
                 watcher.setListener(new WgtWatcher.FileChangeListener(){
                     public void fileModified(File f) {
-                        // get persistence manager for this thread
-                        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
                         try{
-                            persistenceManager.begin();
                             File upload = WidgetFileUtils.dealWithDroppedFile(UPLOADFOLDER, f);
                             W3CWidgetFactory fac = W3CWidgetFactoryUtils.createW3CWidgetFactory(context, configuration, localizedMessages);
 
                             W3CWidget model = fac.parse(upload);
                             WidgetJavascriptSyntaxAnalyzer jsa = new WidgetJavascriptSyntaxAnalyzer(fac.getUnzippedWidgetDirectory());
-                            if(persistenceManager.findWidgetByGuid(model.getIdentifier()) == null) {
+                            if(WidgetMetadataService.Factory.getInstance().getWidget(model.getIdentifier()) == null) {
                                 WidgetFactory.addNewWidget(model, upload, true);
                                 String message = model.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.19");
                                 _logger.info(message);
                             } else {
                                 String message = model.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.20");
-                                WidgetFactory.update(model, persistenceManager.findWidgetByGuid(model.getIdentifier()), true, upload);
+                                WidgetFactory.update(model, WidgetMetadataService.Factory.getInstance().getWidget(model.getIdentifier()), true, upload);
                                 _logger.info(message);
                             }
-                            persistenceManager.commit();
                             NewWidgetBroadcaster.broadcast(configuration, model.getIdentifier());
                         } catch (IOException e) {
-                            persistenceManager.rollback();
                             String error = f.getName()+":"+localizedMessages.getString("WidgetHotDeploy.1") + " - " + e.getLocalizedMessage();
                             _logger.error(error, e);
                         } catch (BadWidgetZipFileException e) {
-                            persistenceManager.rollback();
                             String error = f.getName()+":"+localizedMessages.getString("WidgetHotDeploy.2") + " - " + e.getLocalizedMessage();
                             _logger.error(error, e);
                         } catch (BadManifestException e) {
-                            persistenceManager.rollback();
                             String error = f.getName()+":"+localizedMessages.getString("WidgetHotDeploy.3") + " - " + e.getLocalizedMessage();
                             _logger.error(error, e);
                         } catch (Exception e) {
-                            persistenceManager.rollback();
                             String error = f.getName()+":"+e.getLocalizedMessage();
                             _logger.error(error, e);
-                        } finally {
-                            // close thread persistence manager
-                            PersistenceManagerFactory.closePersistenceManager();						    
+                        } finally {					    
                         }
                     }
                     public void fileRemoved(File f) {
@@ -243,6 +234,6 @@ public class ContextListener implements 
         /*
          * Terminate persistence manager factory
          */
-        PersistenceManagerFactory.terminate();	    
+        PersistenceManagerFactory.terminate();	  
     }
 }

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/LocalizedResourceFilter.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/LocalizedResourceFilter.java?rev=1565812&r1=1565811&r2=1565812&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/LocalizedResourceFilter.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/LocalizedResourceFilter.java Fri Feb  7 20:58:48 2014
@@ -34,6 +34,7 @@ import org.apache.wookie.beans.IWidget;
 import org.apache.wookie.beans.IWidgetInstance;
 import org.apache.wookie.beans.util.IPersistenceManager;
 import org.apache.wookie.beans.util.PersistenceManagerFactory;
+import org.apache.wookie.services.WidgetMetadataService;
 import org.apache.wookie.w3c.util.LocalizationUtils;
 import org.apache.wookie.w3c.util.WidgetPackageUtils;
 
@@ -258,8 +259,7 @@ public class LocalizedResourceFilter imp
     //
     String guid = (String) filterConfig.getServletContext().getAttribute("widget-id");
     if (guid != null) {
-      IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-      return persistenceManager.findWidgetByGuid(guid);
+    	return WidgetMetadataService.Factory.getInstance().getWidget(guid);
     }
     
     //

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/AutomaticUpdater.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/AutomaticUpdater.java?rev=1565812&r1=1565811&r2=1565812&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/AutomaticUpdater.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/AutomaticUpdater.java Fri Feb  7 20:58:48 2014
@@ -25,9 +25,8 @@ import javax.servlet.ServletContext;
 
 import org.apache.log4j.Logger;
 import org.apache.wookie.beans.IWidget;
-import org.apache.wookie.beans.util.IPersistenceManager;
-import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.helpers.WidgetFactory;
+import org.apache.wookie.services.WidgetMetadataService;
 import org.apache.wookie.util.W3CWidgetFactoryUtils;
 import org.apache.wookie.w3c.W3CWidget;
 import org.apache.wookie.w3c.W3CWidgetFactory;
@@ -94,15 +93,9 @@ public class AutomaticUpdater {
 				if (!onlyUseHttps) logger.warn("checking for updates using non-secure method");
 				
 				//
-				// Start transaction
-				//
-				IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-				persistenceManager.begin();
-				
-				//
 				// Get all installed widgets
 				//
-				IWidget[] widgets = persistenceManager.findAll(IWidget.class);
+				IWidget[] widgets = WidgetMetadataService.Factory.getInstance().getAllWidgets();
 
 				//
 				// Create a W3CWidget factory for the current context
@@ -115,7 +108,7 @@ public class AutomaticUpdater {
 				for (IWidget widget: widgets){
 					try {						
 						W3CWidget updatedWidget = UpdateUtils.getUpdate(factory, widget.getIdentifier(), widget.getUpdateLocation(), widget.getVersion(), onlyUseHttps);
-						if (updatedWidget != null && persistenceManager.findById(IWidget.class, widget.getId()) != null){
+						if (updatedWidget != null && WidgetMetadataService.Factory.getInstance().getWidget(widget.getIdentifier()) != null){
 							WidgetFactory.update(updatedWidget, widget, false, null);
 							logger.info("Successfully updated "+widget.getIdentifier()+" to version "+updatedWidget.getVersion());
 						}
@@ -125,21 +118,12 @@ public class AutomaticUpdater {
 					}
 				}
 				
-				//
-				// Commit any changes
-				//
-				persistenceManager.commit();
-				
 			} catch (Exception e) {
 				//
 				// Log errors, as otherwise the thread will terminate silently
 				//
 				logger.error("Problem with automatic update", e);
 			} finally {
-				//
-                // close thread persistence manager
-				//
-                PersistenceManagerFactory.closePersistenceManager();	
 			}
 		}
 	};

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/UpdatesController.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/UpdatesController.java?rev=1565812&r1=1565811&r2=1565812&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/UpdatesController.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/updates/UpdatesController.java Fri Feb  7 20:58:48 2014
@@ -22,14 +22,13 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.log4j.Logger;
 import org.apache.wookie.beans.IWidget;
-import org.apache.wookie.beans.util.IPersistenceManager;
-import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.controller.Controller;
 import org.apache.wookie.exceptions.InvalidParametersException;
 import org.apache.wookie.exceptions.ResourceDuplicationException;
 import org.apache.wookie.exceptions.ResourceNotFoundException;
 import org.apache.wookie.exceptions.UnauthorizedAccessException;
 import org.apache.wookie.helpers.WidgetFactory;
+import org.apache.wookie.services.WidgetMetadataService;
 import org.apache.wookie.util.W3CWidgetFactoryUtils;
 import org.apache.wookie.w3c.W3CWidgetFactory;
 import org.apache.wookie.w3c.exceptions.BadManifestException;
@@ -80,10 +79,9 @@ public class UpdatesController extends C
 	protected void show(String resourceId, HttpServletRequest request,
 			HttpServletResponse response) throws ResourceNotFoundException,
 			UnauthorizedAccessException, IOException {
-		// attempt to get specific widget by id; note that this is the internal
-		// widget integer ID and not the widget URI
-		IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		IWidget widget = persistenceManager.findById(IWidget.class, resourceId);
+
+		IWidget widget = WidgetMetadataService.Factory.getInstance().getWidget(resourceId);		
+		
 		if (widget == null) throw new ResourceNotFoundException();
 		// redirect to the UDD
 		if (widget.getUpdateLocation() ==  null) throw new ResourceNotFoundException();
@@ -116,8 +114,7 @@ public class UpdatesController extends C
 			throws ResourceNotFoundException, InvalidParametersException,
 			UnauthorizedAccessException {
 			// attempt to get specific widget by id
-			IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-			IWidget widget = persistenceManager.findById(IWidget.class, resourceId);
+			IWidget widget = WidgetMetadataService.Factory.getInstance().getWidget(resourceId);
 			if (widget == null) throw new ResourceNotFoundException();
 			
 			// Check to see if we're requiring updates over HTTPS - if not output a warning
@@ -176,8 +173,7 @@ public class UpdatesController extends C
 	public List<UpdateInformation> getAllUpdates(){
 		ArrayList<UpdateInformation> updates = new ArrayList<UpdateInformation>();
 		// Get all installed widgets
-		IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		IWidget[] widgets = persistenceManager.findAll(IWidget.class);
+		IWidget[] widgets = WidgetMetadataService.Factory.getInstance().getAllWidgets();
 		for (IWidget widget: widgets){
 			// Check for a valid update document; if there is one, create a new UpdateInformation object and add to list
 			UpdateDescriptionDocument udd = UpdateUtils.checkForUpdate(widget.getUpdateLocation(), widget.getVersion());