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());