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 2010/08/23 11:46:43 UTC
svn commit: r988048 [3/6] - in /incubator/wookie/trunk: ./
WebContent/WEB-INF/ WebContent/admin/ WebContent/deploy/
WebContent/webmenu/ WebContent/wservices/notsupported/
WebContent/wservices/notsupported/locales/
WebContent/wservices/notsupported/loca...
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=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/WidgetAdminServlet.java Mon Aug 23 09:46:30 2010
@@ -28,12 +28,13 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.configuration.Configuration;
import org.apache.log4j.Logger;
-import org.apache.wookie.beans.ApiKey;
-import org.apache.wookie.beans.ServerFeature;
-import org.apache.wookie.beans.Whitelist;
-import org.apache.wookie.beans.Widget;
-import org.apache.wookie.beans.WidgetDefault;
-import org.apache.wookie.beans.WidgetService;
+import org.apache.wookie.beans.IApiKey;
+import org.apache.wookie.beans.IWhitelist;
+import org.apache.wookie.beans.IWidget;
+import org.apache.wookie.beans.IWidgetDefault;
+import org.apache.wookie.beans.IWidgetService;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
import org.apache.wookie.controller.WidgetServicesController;
import org.apache.wookie.exceptions.InvalidParametersException;
import org.apache.wookie.exceptions.ResourceDuplicationException;
@@ -104,36 +105,36 @@ public class WidgetAdminServlet extends
/**
* Add a new service type to the DB
- * @param session
* @param request
* @param manager
*/
- private void addNewService(HttpSession session, HttpServletRequest request) {
+ private void addNewService(HttpServletRequest request) {
String serviceName = request.getParameter("newservice"); //$NON-NLS-1$
Messages localizedMessages = LocaleHandler.localizeMessages(request);
try {
WidgetServicesController.create(serviceName);
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
} catch (ResourceDuplicationException e) {
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
} catch (InvalidParametersException e) {
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* Adds a new entry to the whitelist DB
*/
- private void addWhiteListEntry(HttpSession session, HttpServletRequest request) {
+ private void addWhiteListEntry(HttpServletRequest request) {
Messages localizedMessages = LocaleHandler.localizeMessages(request);
String uri = request.getParameter("newuri"); //$NON-NLS-1$
- Whitelist list = new Whitelist();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWhitelist list = persistenceManager.newInstance(IWhitelist.class);
list.setfUrl(uri);
- if(list.save()){
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.2")); //$NON-NLS-1$ //$NON-NLS-2$
+ if(persistenceManager.save(list)){
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.2")); //$NON-NLS-1$ //$NON-NLS-2$
}
else{
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
@@ -163,11 +164,7 @@ public class WidgetAdminServlet extends
}
Configuration properties = (Configuration) session.getServletContext().getAttribute("properties"); //$NON-NLS-1$
- session.setAttribute("error_value", null); //$NON-NLS-1$
- session.setAttribute("message_value", null); //$NON-NLS-1$
- session.setAttribute("widget_defaults", null); //$NON-NLS-1$
- session.setAttribute("widgets", null); //$NON-NLS-1$
- session.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
String task = request.getParameter("operation"); //$NON-NLS-1$
Operation op=null;
// sanity check...
@@ -176,19 +173,19 @@ public class WidgetAdminServlet extends
try {op = Operation.valueOf(task);}
catch (IllegalArgumentException e) {
op=null;
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
if(op!=null){
switch (op) {
case ADDNEWWHITELISTENTRY: {
- addWhiteListEntry(session, request);
- listWhiteListOperation(session);
+ addWhiteListEntry(request);
+ listWhiteListOperation(request);
doForward(request, response, faddToWhiteListPage);
break;
}
case VIEWWHITELIST: {
- listWhiteListOperation(session);
+ listWhiteListOperation(request);
if(request.getParameter("param").equalsIgnoreCase("list")){ //$NON-NLS-1$ //$NON-NLS-2$
doForward(request, response, fViewWhiteListPage);
}
@@ -201,40 +198,40 @@ public class WidgetAdminServlet extends
break;
}
case REMOVEWIDGET: {
- removeWidget(session, request, properties, manager);
- listOperation(session, false);
+ removeWidget(request, properties, manager);
+ listOperation(request, false);
doForward(request, response, fListWidgetsForDeletePage);
break;
}
case REVISETYPES: {
- reviseTypes(session, request, manager);
+ reviseTypes(request, manager);
doForward(request, response, fUpLoadResultsPage);
break;
}
case ADDNEWSERVICE: {
- addNewService(session, request);
- retrieveServices(session);
+ addNewService(request);
+ retrieveServices(request);
doForward(request, response, fAddNewServicesPage);
break;
}
case UPLOADWIDGET: {
- uploadOperation(request, properties, manager, session);
+ uploadOperation(request, properties, manager);
doForward(request, response, fUpLoadResultsPage);
break;
}
case LISTWIDGETS: {
if(request.getParameter("param").equalsIgnoreCase("remove")){ //$NON-NLS-1$ //$NON-NLS-2$
- listOperation(session, false);
+ listOperation(request, false);
doForward(request, response, fListWidgetsForDeletePage);
}
else{
- listOperation(session, true);
+ listOperation(request, true);
doForward(request, response, fListWidgetsPage);
}
break;
}
case LISTSERVICES: {
- retrieveServices(session);
+ retrieveServices(request);
if(request.getParameter("param").equalsIgnoreCase("list")){ //$NON-NLS-1$ //$NON-NLS-2$
doForward(request, response, fListServicesPage);
}
@@ -247,51 +244,51 @@ public class WidgetAdminServlet extends
break;
}
case SETWIDGETTYPES: {
- updateWidgetTypes(session, request, manager);
- listOperation(session, true);
+ updateWidgetTypes(request, manager);
+ listOperation(request, true);
doForward(request, response, fListWidgetsPage);
break;
}
case REMOVESERVICE:{
- removeServiceOperation(session, request);
+ removeServiceOperation(request);
doForward(request, response, fRemoveServicesPage);
break;
}
case REMOVEWHITELISTENTRY: {
- removeWhiteListEntry(session, request);
- listWhiteListOperation(session);
+ removeWhiteListEntry(request);
+ listWhiteListOperation(request);
doForward(request, response, fremoveWhiteListPage);
break;
}
case REMOVESINGLEWIDGETTYPE:{
- removeSingleWidgetTypeOperation(session, request, manager);
- listOperation(session, true);
+ removeSingleWidgetTypeOperation(request, manager);
+ listOperation(request, true);
doForward(request, response, fListWidgetsPage);
break;
}
case SETDEFAULTWIDGET:{
- setDefaultWidgetOperation(session, request, manager);
+ setDefaultWidgetOperation(request, manager);
doForward(request, response, fListWidgetsPage);
break;
}
case REGISTERGADGET:{
- registerOperation(request, properties, session);
+ registerOperation(request, properties);
doForward(request, response,fMainPage);
break;
}
case LISTAPIKEYS:{
- listAPIKeysOperation(session, request);
+ listAPIKeysOperation(request);
doForward(request, response, fListAPIKeysPage);
break;
}
case REVOKEAPIKEY:{
- revokeAPIKeyOperation(session, request);
+ revokeAPIKeyOperation(request);
doForward(request, response, fListAPIKeysPage);
break;
}
default: {
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.5"));// need to i18n this //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.5"));// need to i18n this //$NON-NLS-1$ //$NON-NLS-2$
doForward(request, response, fMainPage);
}
}
@@ -312,107 +309,112 @@ public class WidgetAdminServlet extends
doGet(request, response);
}
- private void listOperation(HttpSession session, boolean getDefaults){
- retrieveWidgets(session);
+ private void listOperation(HttpServletRequest request, boolean getDefaults){
+ retrieveWidgets(request);
if(getDefaults){
- Hashtable<String, Integer> defaultHash = new Hashtable<String, Integer>();
- WidgetDefault[] wds = WidgetDefault.findAll();
+ Hashtable<String, Object> defaultHash = new Hashtable<String, Object>();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetDefault[] wds = persistenceManager.findAll(IWidgetDefault.class);
if (wds != null){
- for(WidgetDefault defaultWidget : wds){
- defaultHash.put(defaultWidget.getWidgetContext(), defaultWidget.getWidgetId());
+ for(IWidgetDefault defaultWidget : wds){
+ defaultHash.put(defaultWidget.getWidgetContext(), defaultWidget.getWidget().getId());
}
}
- session.setAttribute("widget_defaults", defaultHash); //$NON-NLS-1$
+ request.setAttribute("widget_defaults", defaultHash); //$NON-NLS-1$
}
}
- private void listWhiteListOperation(HttpSession session) {
- session.setAttribute("whitelist", Whitelist.findAll()); //$NON-NLS-1$
+ private void listWhiteListOperation(HttpServletRequest request) {
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ request.setAttribute("whitelist", persistenceManager.findAll(IWhitelist.class)); //$NON-NLS-1$
}
- private void removeServiceOperation(HttpSession session, HttpServletRequest request) {
+ private void removeServiceOperation(HttpServletRequest request) {
Messages localizedMessages = LocaleHandler.localizeMessages(request);
String serviceId = request.getParameter("serviceId"); //$NON-NLS-1$
try {
WidgetServicesController.remove(serviceId);
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.6")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.6")); //$NON-NLS-1$ //$NON-NLS-2$
} catch (ResourceNotFoundException e) {
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.7")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.7")); //$NON-NLS-1$ //$NON-NLS-2$
}
- retrieveServices(session);
+ retrieveServices(request);
}
- private void removeSingleWidgetTypeOperation(HttpSession session,
- HttpServletRequest request, IWidgetAdminManager manager) {
+ private void removeSingleWidgetTypeOperation(HttpServletRequest request, IWidgetAdminManager manager) {
Messages localizedMessages = LocaleHandler.localizeMessages(request);
String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
String widgetType = request.getParameter("widgetType"); //$NON-NLS-1$
- if(manager.removeSingleWidgetType(Integer.parseInt(widgetId), widgetType)){
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.8")); //$NON-NLS-1$ //$NON-NLS-2$
+ if(manager.removeSingleWidgetType(widgetId, widgetType)){
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.8")); //$NON-NLS-1$ //$NON-NLS-2$
}
else{
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.9")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.9")); //$NON-NLS-1$ //$NON-NLS-2$
}
- session.setAttribute("widgets", null); //$NON-NLS-1$
+ request.setAttribute("widgets", null); //$NON-NLS-1$
}
- private void removeWhiteListEntry(HttpSession session, HttpServletRequest request) {
+ private void removeWhiteListEntry(HttpServletRequest request) {
Messages localizedMessages = LocaleHandler.localizeMessages(request);
String entryId = request.getParameter("entryId"); //$NON-NLS-1$
- Whitelist entry = Whitelist.findById(Integer.valueOf(entryId));
- if(entry.delete()){
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.10")); //$NON-NLS-1$ //$NON-NLS-2$
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWhitelist entry = persistenceManager.findById(IWhitelist.class, entryId);
+ if(persistenceManager.delete(entry)){
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.10")); //$NON-NLS-1$ //$NON-NLS-2$
}
else{
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.11")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.11")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
- private void removeWidget(HttpSession session, HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
- final String WIDGETFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
+ private void removeWidget(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
+ final String WIDGETFOLDER = getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
Messages localizedMessages = LocaleHandler.localizeMessages(request);
String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
- Widget widget = Widget.findById(Integer.parseInt(widgetId));
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidget widget = persistenceManager.findById(IWidget.class, widgetId);
String guid = widget.getGuid();
- if(WidgetFactory.destroy(Integer.parseInt(widgetId))){
+ if(WidgetFactory.destroy(widgetId)){
if(WidgetFileUtils.removeWidgetResources(WIDGETFOLDER, guid)){
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.12")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.12")); //$NON-NLS-1$ //$NON-NLS-2$
}
else{
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.13")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.13")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
else{
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.14")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.14")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
- private void retrieveServices(HttpSession session){
- session.setAttribute("services", WidgetService.findAll()); //$NON-NLS-1$
+ private void retrieveServices(HttpServletRequest request){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ request.setAttribute("services", persistenceManager.findAll(IWidgetService.class)); //$NON-NLS-1$
}
- private void retrieveWidgets(HttpSession session){
- session.setAttribute("widgets", Widget.findAll()); //$NON-NLS-1$
+ private void retrieveWidgets(HttpServletRequest request){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ request.setAttribute("widgets", persistenceManager.findAll(IWidget.class)); //$NON-NLS-1$
}
- private void reviseTypes(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager) {
- retrieveServices(session);
- session.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
- session.setAttribute("closeWindow", Boolean.valueOf(false)); //$NON-NLS-1$
+ private void reviseTypes(HttpServletRequest request, IWidgetAdminManager manager) {
+ retrieveServices(request);
+ request.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
+ request.setAttribute("closeWindow", Boolean.valueOf(false)); //$NON-NLS-1$
String dbkey = request.getParameter("dbkey"); //$NON-NLS-1$
- session.setAttribute("dbkey", Integer.parseInt(dbkey)); //$NON-NLS-1$
+ request.setAttribute("dbkey", Integer.parseInt(dbkey)); //$NON-NLS-1$
}
- private void setDefaultWidgetOperation(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager){
+ private void setDefaultWidgetOperation(HttpServletRequest request, IWidgetAdminManager manager){
String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
String widgetType = request.getParameter("widgetType"); //$NON-NLS-1$
- manager.setDefaultWidget(Integer.parseInt(widgetId), widgetType);
- listOperation(session, true);
+ manager.setDefaultWidget(widgetId, widgetType);
+ listOperation(request, true);
}
- private void updateWidgetTypes(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager) throws IOException{
+ private void updateWidgetTypes(HttpServletRequest request, IWidgetAdminManager manager) throws IOException{
Messages localizedMessages = LocaleHandler.localizeMessages(request);
boolean canMax = false;
@@ -420,110 +422,113 @@ public class WidgetAdminServlet extends
if(maximize!=null){
canMax = Boolean.valueOf(maximize);
}
- int dbKey = Integer.parseInt(request.getParameter("dbkey")); //$NON-NLS-1$
+ String dbKey = request.getParameter("dbkey"); //$NON-NLS-1$
String[] widgetTypes = request.getParameterValues("widgetTypes"); //$NON-NLS-1$
manager.setWidgetTypesForWidget(dbKey, widgetTypes, canMax);
- session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.15")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.15")); //$NON-NLS-1$ //$NON-NLS-2$
}
- private void registerOperation(HttpServletRequest request, Configuration properties, HttpSession session){
+ private void registerOperation(HttpServletRequest request, Configuration properties){
Messages localizedMessages = LocaleHandler.localizeMessages(request);
try {
W3CWidget widgetModel = GadgetUtils.createWidget(request);
- if(!Widget.exists(widgetModel.getIdentifier())){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ if(persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()) == null){
WidgetFactory.addNewWidget(widgetModel);
- session.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.16")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.16")); //$NON-NLS-1$ //$NON-NLS-2$
} else {
- session.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.17")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.17")); //$NON-NLS-1$ //$NON-NLS-2$
}
} catch (Exception e1) {
e1.printStackTrace();
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.18")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.18")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
- private void listAPIKeysOperation(HttpSession session, HttpServletRequest request){
- session.setAttribute("keys", ApiKey.findAll());
+ private void listAPIKeysOperation(HttpServletRequest request){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ request.setAttribute("keys", persistenceManager.findAll(IApiKey.class));
}
- private void revokeAPIKeyOperation(HttpSession session, HttpServletRequest request){
+ private void revokeAPIKeyOperation(HttpServletRequest request){
String value = request.getParameter("key");
if (WidgetKeyManager.revokeKey(value)){
- session.setAttribute("message_value", "Key revoked");
+ request.setAttribute("message_value", "Key revoked");
} else {
- session.setAttribute("error_value", "Key could not be revoked");
+ request.setAttribute("error_value", "Key could not be revoked");
}
}
- private void uploadOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager, HttpSession session) {
+ private void uploadOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
- final String WIDGETFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
- final String UPLOADFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.useruploadfolder"));//$NON-NLS-1$
+ final String WIDGETFOLDER = getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
+ final String UPLOADFOLDER = getServletContext().getRealPath(properties.getString("widget.useruploadfolder"));//$NON-NLS-1$
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- session.setAttribute("hasValidated", Boolean.valueOf(false)); //$NON-NLS-1$
- session.setAttribute("closeWindow", Boolean.valueOf(true)); //$NON-NLS-1$
+ request.setAttribute("hasValidated", Boolean.valueOf(false)); //$NON-NLS-1$
+ request.setAttribute("closeWindow", Boolean.valueOf(true)); //$NON-NLS-1$
File zipFile;
try {
zipFile = WidgetFileUtils.upload(UPLOADFOLDER, request);
}
catch (Exception ex) {
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.28") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.28") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
return;
}
try {
if(zipFile.exists()){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
final String[] locales = properties.getStringArray("widget.locales");
W3CWidgetFactory fac = new W3CWidgetFactory();
fac.setLocales(locales);
- fac.setLocalPath(session.getServletContext().getContextPath()+properties.getString("widget.widgetfolder"));
+ fac.setLocalPath(getServletContext().getContextPath()+properties.getString("widget.widgetfolder"));
fac.setOutputDirectory(WIDGETFOLDER);
- fac.setFeatures(ServerFeature.getFeatureNames());
+ fac.setFeatures(persistenceManager.findServerFeatureNames());
fac.setStartPageProcessor(new StartPageProcessor());
W3CWidget widgetModel = fac.parse(zipFile);
- if(!Widget.exists(widgetModel.getIdentifier())){
+ if(persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()) == null){
// ADD
- Widget widget = WidgetFactory.addNewWidget(widgetModel);
- int dbkey = widget.getId();
+ IWidget widget = WidgetFactory.addNewWidget(widgetModel);
+ Object dbkey = widget.getId();
// widget added
- session.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.19")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- retrieveServices(session);
- session.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
- session.setAttribute("dbkey", dbkey); //$NON-NLS-1$
+ request.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.19")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ retrieveServices(request);
+ request.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
+ request.setAttribute("dbkey", dbkey); //$NON-NLS-1$
}
else{
// UPDATE
// TODO - call the manager to update required resources
// widget updated
- session.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.20")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ request.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.20")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
}
}
else{
// no file found to be uploaded - shouldn't happen
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.24")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.24")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
catch (InvalidStartFileException ex){
_logger.error(ex);
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.27") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.27") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
catch (BadManifestException ex) {
_logger.error(ex);
String message = ex.getMessage();
if (ex.getMessage() == null || ex.getMessage().equals("")) message = localizedMessages.getString("WidgetAdminServlet.28"); //$NON-NLS-1$
if (ex instanceof InvalidContentTypeException) message = localizedMessages.getString("WidgetAdminServlet.30");//$NON-NLS-1$
- session.setAttribute("error_value", message); //$NON-NLS-1$
+ request.setAttribute("error_value", message); //$NON-NLS-1$
}
catch (BadWidgetZipFileException ex) {
_logger.error(ex);
String message = ex.getMessage();
if (ex.getMessage() == null || ex.getMessage().equals("")) message = localizedMessages.getString("WidgetAdminServlet.29"); //$NON-NLS-1$
- session.setAttribute("error_value", message); //$NON-NLS-1$
+ request.setAttribute("error_value", message); //$NON-NLS-1$
}
catch (Exception ex) {
_logger.error(ex);
- session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.25") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.25") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
Modified: incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java Mon Aug 23 09:46:30 2010
@@ -27,8 +27,10 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.configuration.Configuration;
import org.apache.log4j.Logger;
-import org.apache.wookie.beans.Widget;
-import org.apache.wookie.beans.WidgetInstance;
+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.connector.framework.AbstractWookieConnectorService;
import org.apache.wookie.connector.framework.WookieConnectorException;
import org.apache.wookie.connector.framework.WookieConnectorService;
@@ -76,11 +78,7 @@ public class WidgetWebMenuServlet extend
}
Configuration properties = (Configuration) request.getSession().getServletContext().getAttribute("properties"); //$NON-NLS-1$
- session.setAttribute("error_value", null); //$NON-NLS-1$
- session.setAttribute("message_value", null); //$NON-NLS-1$
- session.setAttribute("widget_defaults", null); //$NON-NLS-1$
- session.setAttribute("widgets", null); //$NON-NLS-1$
- session.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
String task = request.getParameter("operation"); //$NON-NLS-1$
Operation op=null;
// sanity check...
@@ -89,7 +87,7 @@ public class WidgetWebMenuServlet extend
try {op = Operation.valueOf(task);}
catch (IllegalArgumentException e) {
op=null;
- session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
if(op!=null){
@@ -106,7 +104,8 @@ public class WidgetWebMenuServlet extend
case DEMO_WIDGET:{
String idKey = request.getParameter("idkey");
try {
- String guid = WidgetInstance.findByIdKey(idKey).getWidget().getGuid();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ String guid = persistenceManager.findWidgetInstanceByIdKey(idKey).getWidget().getGuid();
AbstractWookieConnectorService conn = getConnectorService(request);
conn.setCurrentUser("testuser");
org.apache.wookie.connector.framework.WidgetInstance instanceOne = conn.getOrCreateInstance(guid);
@@ -126,17 +125,17 @@ public class WidgetWebMenuServlet extend
break;
}
case INSTANTIATE: {
- instantiateOperation(session, manager);
+ instantiateOperation(request, manager);
doForward(request, response, fInstantiateWidgetsPage);
break;
}
case REQUESTAPIKEY:{
- requestApiKeyOperation(request,properties,manager,session);
+ requestApiKeyOperation(request,properties,manager);
doForward(request, response, fMainPage);
break;
}
default: {
- session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.2"));//$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.2"));//$NON-NLS-1$ //$NON-NLS-2$
doForward(request, response, fMainPage);
}
}
@@ -176,31 +175,34 @@ public class WidgetWebMenuServlet extend
doGet(request, response);
}
- private void instantiateOperation(HttpSession session, IWidgetAdminManager manager){
- Widget[] widgets = Widget.findAll();
- session.setAttribute("widgets", widgets); //$NON-NLS-1$
+ private void instantiateOperation(HttpServletRequest request, IWidgetAdminManager manager){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidget[] widgets = persistenceManager.findAll(IWidget.class);
+ request.setAttribute("widgets", widgets); //$NON-NLS-1$
}
/**
* Creates a table, looks for widget definitions with a string (the name of
* the widget) and an instance of the widget which references the actual widget
* object and its putting widgets in widgets_hash"
- * Results are returned in the session.
+ * Results are returned in the request.
*
* @param request
* @param session
* @param manager
*/
private void listOperation(HttpServletRequest request, HttpSession session, IWidgetAdminManager manager){
- Hashtable<String, Widget> widgetsHash = new Hashtable<String, Widget>();
+ Hashtable<String, IWidget> widgetsHash = new Hashtable<String, IWidget>();
- for(Widget widget:Widget.findAll()){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidget[] widgets = persistenceManager.findAll(IWidget.class);
+ for(IWidget widget : widgets){
// Create an instance of the widget so that we can display it as the demo widget
// An instance of a widget refers to a widget that has data stored on
// to it and is going to be deployed on different platforms. In this
// case its windows.
- WidgetInstance instance = null;
+ IWidgetInstance instance = null;
String apiKey = "TEST"; //$NON-NLS-1$
String userId = "testuser"; //$NON-NLS-1$
String sharedDataKey = "myshareddata"; //$NON-NLS-1$
@@ -216,30 +218,29 @@ public class WidgetWebMenuServlet extend
//for(WidgetDefault defaultWidget : manager.getAllDefaultWidgets()){
// widgetsHash.put(defaultWidget.getWidgetContext(), manager.getWidget(defaultWidget.getWidgetId()));
//}
- session.setAttribute("widgetsHash", widgetsHash); //$NON-NLS-1$
+ request.setAttribute("widgetsHash", widgetsHash); //$NON-NLS-1$
}
- private void requestApiKeyOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager, HttpSession session){
+ private void requestApiKeyOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager){
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- session.setAttribute("message_value", null); //$NON-NLS-1$
try {
String email = request.getParameter("email"); //$NON-NLS-1$
if (email == null) {
- session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
}
else {
if (email.trim().equals("")){ //$NON-NLS-1$
- session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
}
else {
// Otherwise, good to go
WidgetKeyManager.createKey(request, email, localizedMessages);
- session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
}
catch (Exception ex) {
- session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
+ request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
_logger.error(localizedMessages.getString("WidgetWebMenuServlet.4"), ex); //$NON-NLS-1$
}
Modified: incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/IWidgetAPI.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/IWidgetAPI.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/IWidgetAPI.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/IWidgetAPI.java Mon Aug 23 09:46:30 2010
@@ -17,7 +17,7 @@ package org.apache.wookie.ajaxmodel;
import java.util.Map;
import java.util.List;
-import org.apache.wookie.beans.Preference;
+import org.apache.wookie.beans.IPreference;
/**
@@ -73,7 +73,7 @@ public interface IWidgetAPI {
* @param id_key
* @return
*/
- public List<Preference> preferences(String id_key);
+ public List<IPreference> preferences(String id_key);
/**
* Returns the widget metadata
Modified: incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/impl/WidgetAPIImpl.java Mon Aug 23 09:46:30 2010
@@ -24,10 +24,12 @@ import javax.servlet.http.HttpServletReq
import org.apache.log4j.Logger;
import org.apache.wookie.Messages;
import org.apache.wookie.ajaxmodel.IWidgetAPI;
-import org.apache.wookie.beans.Preference;
-import org.apache.wookie.beans.SharedData;
-import org.apache.wookie.beans.Widget;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IPreference;
+import org.apache.wookie.beans.ISharedData;
+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.controller.PropertiesController;
import org.apache.wookie.controller.WidgetInstancesController;
import org.apache.wookie.helpers.Notifier;
@@ -65,14 +67,15 @@ public class WidgetAPIImpl implements IW
/* (non-Javadoc)
* @see org.apache.wookie.ajaxmodel.IWidgetAPI#preferences2(java.lang.String)
*/
- public List<Preference> preferences(String id_key) {
- ArrayList<Preference> prefs = new ArrayList<Preference>();
+ public List<IPreference> preferences(String id_key) {
+ ArrayList<IPreference> prefs = new ArrayList<IPreference>();
if(id_key == null) return prefs;
// check if instance is valid
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance==null) return prefs;
- for(Preference preference : Preference.findPreferencesForInstance(widgetInstance)){
- prefs.add(preference);
+ for(IPreference preference : widgetInstance.getPreferences()){
+ prefs.add(new PreferenceDelegate(preference));
}
return prefs;
}
@@ -85,10 +88,11 @@ public class WidgetAPIImpl implements IW
if(id_key == null) return map;
// check if instance is valid
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance==null) return map;
// Add in metadata
- Widget widget = widgetInstance.getWidget();
+ IWidget widget = widgetInstance.getWidget();
map.put("id", String.valueOf(widget.getGuid())); //$NON-NLS-1$
map.put("author", String.valueOf(widget.getWidgetAuthor())); //$NON-NLS-1$
map.put("authorEmail", String.valueOf(widget.getWidgetAuthorEmail()));//$NON-NLS-1$
@@ -112,10 +116,11 @@ public class WidgetAPIImpl implements IW
if(id_key == null) return localizedMessages.getString("WidgetAPIImpl.0");
if(key == null)return localizedMessages.getString("WidgetAPIImpl.1");
// check if instance is valid
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if (widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
//
- Preference preference = Preference.findPreferenceForInstance(widgetInstance, key);
+ IPreference preference = widgetInstance.getPreference(key);
if (preference == null) return localizedMessages.getString("WidgetAPIImpl.1");
return preference.getDvalue();
}
@@ -129,11 +134,12 @@ public class WidgetAPIImpl implements IW
Messages localizedMessages = LocaleHandler.localizeMessages(request);
if(id_key==null) return localizedMessages.getString("WidgetAPIImpl.0");
if(key==null) return localizedMessages.getString("WidgetAPIImpl.1");
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if (widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
- SharedData data = SharedData.findSharedDataForInstance(widgetInstance, key);
+ ISharedData data = widgetInstance.getSharedData(key);
if (data == null) return localizedMessages.getString("WidgetAPIImpl.1");
- return SharedData.findSharedDataForInstance(widgetInstance, key).getDvalue();
+ return data.getDvalue();
}
/*
@@ -143,7 +149,8 @@ public class WidgetAPIImpl implements IW
public String setPreferenceForKey(String id_key, String key, String value) {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if (widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
//
PropertiesController.updatePreference(widgetInstance, key, value);
@@ -157,7 +164,8 @@ public class WidgetAPIImpl implements IW
public String setSharedDataForKey(String id_key, String key, String value) {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
if(widgetInstance.isLocked()) return localizedMessages.getString("WidgetAPIImpl.2");
//
@@ -173,7 +181,8 @@ public class WidgetAPIImpl implements IW
public String appendSharedDataForKey(String id_key, String key, String value) {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
if(widgetInstance.isLocked()) return localizedMessages.getString("WidgetAPIImpl.2");
//
@@ -189,7 +198,8 @@ public class WidgetAPIImpl implements IW
public String lock(String id_key) {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
//
String sharedDataKey = widgetInstance.getSharedDataKey();
@@ -205,7 +215,8 @@ public class WidgetAPIImpl implements IW
public String unlock(String id_key) {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance==null) return localizedMessages.getString("WidgetAPIImpl.0");
//
String sharedDataKey = widgetInstance.getSharedDataKey();
@@ -221,7 +232,8 @@ public class WidgetAPIImpl implements IW
public String hide(String id_key){
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if (widgetInstance == null) return localizedMessages.getString("WidgetAPIImpl.0");
//
Notifier.callSiblings(widgetInstance,"window.onHide()");//$NON-NLS-1$
@@ -235,7 +247,8 @@ public class WidgetAPIImpl implements IW
public String show(String id_key){
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
if(widgetInstance==null) return localizedMessages.getString("WidgetAPIImpl.0");
Notifier.callSiblings(widgetInstance,"window.onShow()"); //$NON-NLS-1$
return "okay"; //$NON-NLS-1$
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java Mon Aug 23 09:46:30 2010
@@ -24,8 +24,10 @@ import javax.servlet.http.HttpServletRes
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
-import org.apache.wookie.beans.Participant;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IParticipant;
+import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
import org.apache.wookie.exceptions.InvalidParametersException;
import org.apache.wookie.exceptions.ResourceDuplicationException;
import org.apache.wookie.exceptions.ResourceNotFoundException;
@@ -72,9 +74,10 @@ public class ParticipantsController exte
@Override
public void show(String resourceId,HttpServletRequest request, HttpServletResponse response) throws UnauthorizedAccessException,ResourceNotFoundException, IOException{
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new ResourceNotFoundException();
- Participant[] participants = Participant.getParticipants(instance);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IParticipant[] participants = persistenceManager.findParticipants(instance);
returnXml(ParticipantHelper.createXMLParticipantsDocument(participants), response);
}
@@ -84,7 +87,7 @@ public class ParticipantsController exte
UnauthorizedAccessException {
return create(request);
}
-
+
/**
* Add a participant to a widget.
*
@@ -99,23 +102,23 @@ public class ParticipantsController exte
UnauthorizedAccessException {
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new InvalidParametersException();
HttpSession session = request.getSession(true);
- String participant_id = request.getParameter("participant_id"); //$NON-NLS-1$
- String participant_display_name = request.getParameter("participant_display_name"); //$NON-NLS-1$
- String participant_thumbnail_url = request.getParameter("participant_thumbnail_url"); //$NON-NLS-1$
+ String participantId = request.getParameter("participant_id"); //$NON-NLS-1$
+ String participantDisplayName = request.getParameter("participant_display_name"); //$NON-NLS-1$
+ String participantThumbnailUrl = request.getParameter("participant_thumbnail_url"); //$NON-NLS-1$
// Check required params
- if (participant_id == null || participant_id.trim().equals("")) {
- _logger.error("participant_id parameter cannot be null");
- throw new InvalidParametersException();
+ if (participantId == null || participantId.trim().equals("")) {
+ _logger.error("participant_id parameter cannot be null");
+ throw new InvalidParametersException();
}
- if (addParticipantToWidgetInstance(instance, participant_id, participant_display_name, participant_thumbnail_url)){
+ if (addParticipantToWidgetInstance(instance, participantId, participantDisplayName, participantThumbnailUrl)){
Notifier.notifyWidgets(session, instance, Notifier.PARTICIPANTS_UPDATED);
- _logger.debug("added user to widget instance: " + participant_id);
+ _logger.debug("added user to widget instance: " + participantId);
return true;
} else {
// No need to create a new participant, it already existed
@@ -133,11 +136,11 @@ public class ParticipantsController exte
throws ResourceNotFoundException, UnauthorizedAccessException,
InvalidParametersException {
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new InvalidParametersException();
HttpSession session = request.getSession(true);
- String participant_id = request.getParameter("participant_id"); //$NON-NLS-1$
- if(removeParticipantFromWidgetInstance(instance, participant_id)){
+ String participantId = request.getParameter("participant_id"); //$NON-NLS-1$
+ if(removeParticipantFromWidgetInstance(instance, participantId)){
Notifier.notifyWidgets(session, instance, Notifier.PARTICIPANTS_UPDATED);
return true;
}else{
@@ -153,25 +156,26 @@ public class ParticipantsController exte
* @param participantThumbnailUrl the thumbnail url property of the participant to add
* @return true if the participant was successfully added, otherwise false
*/
- public static boolean addParticipantToWidgetInstance(WidgetInstance instance,
+ public static boolean addParticipantToWidgetInstance(IWidgetInstance instance,
String participantId, String participantDisplayName,
String participantThumbnailUrl) {
// Does participant already exist?
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
Map<String, Object> map = new HashMap<String, Object>();
map.put("sharedDataKey", instance.getSharedDataKey());//$NON-NLS-1$
- map.put("widgetGuid", instance.getWidget().getGuid());//$NON-NLS-1$
- map.put("participant_id", participantId);//$NON-NLS-1$
- if (Participant.findByValues(map).length != 0) return false;
+ map.put("widget", instance.getWidget());//$NON-NLS-1$
+ map.put("participantId", participantId);//$NON-NLS-1$
+ if (persistenceManager.findByValues(IParticipant.class, map).length != 0) return false;
// Add participant
- Participant participant = new Participant();
- participant.setParticipant_id(participantId);
- participant.setParticipant_display_name(participantDisplayName);
- participant.setParticipant_thumbnail_url(participantThumbnailUrl);
+ IParticipant participant = persistenceManager.newInstance(IParticipant.class);
+ participant.setParticipantId(participantId);
+ participant.setParticipantDisplayName(participantDisplayName);
+ participant.setParticipantThumbnailUrl(participantThumbnailUrl);
participant.setSharedDataKey(instance.getSharedDataKey());
- participant.setWidgetGuid(instance.getWidget().getGuid());
- participant.save();
+ participant.setWidget(instance.getWidget());
+ persistenceManager.save(participant);
return true;
}
@@ -181,18 +185,19 @@ public class ParticipantsController exte
* @param participantId the id property of the participant
* @return true if the participant is successfully removed, otherwise false
*/
- private static boolean removeParticipantFromWidgetInstance(WidgetInstance instance,
+ private static boolean removeParticipantFromWidgetInstance(IWidgetInstance instance,
String participantId) {
- Participant[] participants;
+ IParticipant[] participants;
// Does participant exist?
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
Map<String, Object> map = new HashMap<String, Object>();
map.put("sharedDataKey", instance.getSharedDataKey());//$NON-NLS-1$
- map.put("widgetGuid", instance.getWidget().getGuid());//$NON-NLS-1$
- map.put("participant_id", participantId);//$NON-NLS-1$
- participants = Participant.findByValues(map);
+ map.put("widget", instance.getWidget());//$NON-NLS-1$
+ map.put("participantId", participantId);//$NON-NLS-1$
+ participants = persistenceManager.findByValues(IParticipant.class, map);
if (participants.length != 1) return false;
// Remove participant
- Participant.delete(participants[0]);
+ persistenceManager.delete(participants[0]);
return true;
}
}
\ No newline at end of file
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java Mon Aug 23 09:46:30 2010
@@ -22,9 +22,12 @@ import javax.servlet.http.HttpServletReq
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
-import org.apache.wookie.beans.Preference;
-import org.apache.wookie.beans.SharedData;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IPreference;
+import org.apache.wookie.beans.ISharedData;
+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.exceptions.InvalidParametersException;
import org.apache.wookie.exceptions.ResourceDuplicationException;
import org.apache.wookie.exceptions.ResourceNotFoundException;
@@ -79,16 +82,16 @@ public class PropertiesController extend
HttpServletResponse response) throws ResourceNotFoundException,
UnauthorizedAccessException, IOException {
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new ResourceNotFoundException();
String name = request.getParameter("propertyname"); //$NON-NLS-1$
if (name == null || name.trim().equals("")) throw new ResourceNotFoundException();
String value = null;
// Note that preferences and shared data keys may be the same!
// We let the shared data values override.
- Preference pref = Preference.findPreferenceForInstance(instance, name);
+ IPreference pref = instance.getPreference(name);
if (pref != null) value = pref.getDvalue();
- SharedData data = SharedData.findSharedDataForInstance(instance, name);
+ ISharedData data = instance.getSharedData(name);
if (data != null) value = data.getDvalue();
if (value == null) throw new ResourceNotFoundException();
PrintWriter out = response.getWriter();
@@ -101,7 +104,7 @@ public class PropertiesController extend
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
if (request.getParameter("value") != null) throw new InvalidParametersException();//$NON-NLS-1$
String name = request.getParameter("propertyname"); //$NON-NLS-1$
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new InvalidParametersException();
if (name == null || name.trim().equals("")) throw new InvalidParametersException();
@@ -142,7 +145,7 @@ public class PropertiesController extend
if (!WidgetKeyManager.isValidRequest(request)) throw new UnauthorizedAccessException();
String name = request.getParameter("propertyname"); //$NON-NLS-1$
String value = request.getParameter("propertyvalue"); //$NON-NLS-1$
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null) throw new InvalidParametersException();
if (name == null || name.trim().equals("")) throw new InvalidParametersException();
@@ -160,30 +163,29 @@ public class PropertiesController extend
* @param name
* @param value
*/
- public static boolean updatePreference(WidgetInstance widgetInstance, String name, String value){
+ public static boolean updatePreference(IWidgetInstance widgetInstance, String name, String value){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
boolean found=false;
- for (Preference preference : Preference.findPreferencesForInstance(widgetInstance)){
- if(preference.getDkey().equals(name)){
- // if the value is null we need to remove the tuple
- if(value==null || value.equalsIgnoreCase("null")){
- preference.delete();
- }
- else{
- preference.setDvalue(value);
- preference.save();
- }
- found=true;
- }
+ IPreference preference = widgetInstance.getPreference(name);
+ if (preference != null)
+ {
+ if(value==null || value.equalsIgnoreCase("null")){
+ widgetInstance.getPreferences().remove(preference);
+ }
+ else{
+ preference.setDvalue(value);
+ }
+ found=true;
}
if(!found){
if (value != null){
- Preference pref = new Preference();
- pref.setWidgetInstance(widgetInstance);
- pref.setDkey(name);
- pref.setDvalue(value);
- pref.save();
+ preference = persistenceManager.newInstance(IPreference.class);
+ preference.setDkey(name);
+ preference.setDvalue(value);
+ widgetInstance.getPreferences().add(preference);
}
}
+ persistenceManager.save(widgetInstance);
return found;
}
@@ -195,38 +197,38 @@ public class PropertiesController extend
* @param append
* @return
*/
- public synchronized static boolean updateSharedDataEntry(WidgetInstance widgetInstance, String name, String value, boolean append){
- boolean found=false;
- for (SharedData sharedData : SharedData.findSharedDataForInstance(widgetInstance)){
- if(sharedData.getDkey().equals(name)){
- // if the value is null we need to remove the tuple
- if(value==null || value.equalsIgnoreCase("null")){
- sharedData.delete();
- }
- else{
- if(append){
- sharedData.setDvalue(sharedData.getDvalue() + value);
- }
- else{
- sharedData.setDvalue(value);
- }
- sharedData.save();
- }
- found=true;
- }
- }
+ public synchronized static boolean updateSharedDataEntry(IWidgetInstance widgetInstance, String name, String value, boolean append){
+ IWidget widget = widgetInstance.getWidget();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ boolean found=false;
+ ISharedData sharedData = widget.getSharedData(widgetInstance.getSharedDataKey(), name);
+ if (sharedData != null)
+ {
+ if(value==null || value.equalsIgnoreCase("null")){
+ widget.getSharedData().remove(sharedData);
+ }
+ else{
+ if(append){
+ sharedData.setDvalue(sharedData.getDvalue() + value);
+ }
+ else{
+ sharedData.setDvalue(value);
+ }
+ }
+ found=true;
+ }
if(!found){
if(value!=null){
String sharedDataKey = widgetInstance.getSharedDataKey();
- SharedData sharedData= new SharedData();
- sharedData.setWidgetGuid(widgetInstance.getWidget().getGuid());
+ sharedData = persistenceManager.newInstance(ISharedData.class);
sharedData.setSharedDataKey(sharedDataKey);
sharedData.setDkey(name);
sharedData.setDvalue(value);
- sharedData.save();
+ widget.getSharedData().add(sharedData);
}
}
- return found;
+ persistenceManager.save(widget);
+ return found;
}
/// Utilities
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetAccessRequestPolicyController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetAccessRequestPolicyController.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetAccessRequestPolicyController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetAccessRequestPolicyController.java Mon Aug 23 09:46:30 2010
@@ -19,8 +19,10 @@ import java.net.URI;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.wookie.beans.AccessRequest;
-import org.apache.wookie.beans.Widget;
+import org.apache.wookie.beans.IAccessRequest;
+import org.apache.wookie.beans.IWidget;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
import org.apache.wookie.exceptions.InvalidParametersException;
import org.apache.wookie.exceptions.ResourceDuplicationException;
import org.apache.wookie.exceptions.ResourceNotFoundException;
@@ -40,16 +42,17 @@ public class WidgetAccessRequestPolicyCo
HttpServletResponse response) throws UnauthorizedAccessException,
IOException {
- AccessRequest[] accessRequests = null;
+ IAccessRequest[] accessRequests = null;
String widgetId = request.getParameter("widgetId");
- if (widgetId == null){
- accessRequests = AccessRequest.findAll();
- }
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ if (widgetId == null){
+ accessRequests = persistenceManager.findAll(IAccessRequest.class);
+ }
if (widgetId != null && widgetId.trim().length()>0){
// Filter by widgetId
- Widget widget = Widget.findById(widgetId);
- if (widget != null) accessRequests = AccessRequest.findByValue("widget",widget);
+ IWidget widget = persistenceManager.findById(IWidget.class, widgetId);
+ if (widget != null) accessRequests = persistenceManager.findByValue(IAccessRequest.class, "widget", widget);
}
switch (format(request)) {
@@ -62,12 +65,13 @@ public class WidgetAccessRequestPolicyCo
protected void show(String resourceId, HttpServletRequest request,
HttpServletResponse response) throws ResourceNotFoundException,
UnauthorizedAccessException, IOException {
- AccessRequest ar = AccessRequest.findById(Integer.valueOf(resourceId));
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IAccessRequest ar = persistenceManager.findById(IAccessRequest.class, resourceId);
if (ar == null) throw new ResourceNotFoundException();
switch (format(request)) {
- case XML: returnXml(AccessRequestHelper.createXMLAccessRequestDocument(new AccessRequest[]{ar}),response);break;
- case HTML: returnHtml(AccessRequestHelper.createAccessRequestHTMLTable(new AccessRequest[]{ar}),response);break;
+ case XML: returnXml(AccessRequestHelper.createXMLAccessRequestDocument(new IAccessRequest[]{ar}),response);break;
+ case HTML: returnHtml(AccessRequestHelper.createAccessRequestHTMLTable(new IAccessRequest[]{ar}),response);break;
}
}
@@ -75,13 +79,14 @@ public class WidgetAccessRequestPolicyCo
protected void update(String resourceId, HttpServletRequest request)
throws ResourceNotFoundException, InvalidParametersException,
UnauthorizedAccessException {
- AccessRequest ar = AccessRequest.findById(Integer.valueOf(resourceId));
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IAccessRequest ar = persistenceManager.findById(IAccessRequest.class, resourceId);
if (ar == null) throw new ResourceNotFoundException();
String granted = request.getParameter("granted");
if (granted == null) throw new InvalidParametersException();
if (!granted.equals("true") && !granted.equals("false")) throw new InvalidParametersException();
- if (granted.equals("true")) grantAccess(ar);
- if (granted.equals("false")) revokeAccess(ar);
+ if (granted.equals("true")) grantAccess(persistenceManager, ar);
+ if (granted.equals("false")) revokeAccess(persistenceManager, ar);
}
@Override
@@ -101,34 +106,36 @@ public class WidgetAccessRequestPolicyCo
String subdomains = request.getParameter("subdomains");
String widgetId = request.getParameter("widgetId");
- Widget widget = Widget.findById(Integer.valueOf(widgetId));
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidget widget = persistenceManager.findById(IWidget.class, widgetId);
if (widget == null) throw new InvalidParametersException();
- AccessRequest ar = new AccessRequest();
+ IAccessRequest ar = persistenceManager.newInstance(IAccessRequest.class);
ar.setOrigin(origin);
if (subdomains.equals("true")) ar.setSubdomains(true);
ar.setGranted(false);
ar.setWidget(widget);
- return ar.save();
+ return persistenceManager.save(ar);
}
@Override
protected boolean remove(String resourceId, HttpServletRequest request)
throws ResourceNotFoundException, UnauthorizedAccessException,
InvalidParametersException {
- AccessRequest ar = AccessRequest.findById(Integer.valueOf(resourceId));
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IAccessRequest ar = persistenceManager.findById(IAccessRequest.class, resourceId);
if (ar == null) throw new ResourceNotFoundException();
- return ar.delete();
+ return persistenceManager.delete(ar);
}
- private void grantAccess(AccessRequest ar){
+ private void grantAccess(IPersistenceManager persistenceManager, IAccessRequest ar){
ar.setGranted(true);
- ar.save();
+ persistenceManager.save(ar);
}
- private void revokeAccess(AccessRequest ar){
+ private void revokeAccess(IPersistenceManager persistenceManager, IAccessRequest ar){
ar.setGranted(false);
- ar.save();
+ persistenceManager.save(ar);
}
/**
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java Mon Aug 23 09:46:30 2010
@@ -29,9 +29,12 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.configuration.Configuration;
import org.apache.log4j.Logger;
import org.apache.wookie.Messages;
-import org.apache.wookie.beans.SharedData;
-import org.apache.wookie.beans.StartFile;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.ISharedData;
+import org.apache.wookie.beans.IStartFile;
+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.exceptions.InvalidWidgetCallException;
import org.apache.wookie.helpers.Notifier;
import org.apache.wookie.helpers.WidgetInstanceFactory;
@@ -156,7 +159,7 @@ public class WidgetInstancesController e
public static void doStopWidget(HttpServletRequest request, HttpServletResponse response) throws IOException{
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if(instance!=null){
lockWidgetInstance(instance);
Notifier.notifyWidgets(request.getSession(), instance, Notifier.STATE_UPDATED);
@@ -168,7 +171,7 @@ public class WidgetInstancesController e
public static void doResumeWidget(HttpServletRequest request, HttpServletResponse response) throws IOException{
Messages localizedMessages = LocaleHandler.localizeMessages(request);
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if(instance!=null){
unlockWidgetInstance(instance);
Notifier.notifyWidgets(request.getSession(), instance, Notifier.STATE_UPDATED);
@@ -198,7 +201,7 @@ public class WidgetInstancesController e
checkProxy(request);
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
String locale = request.getParameter("locale");//$NON-NLS-1$
// Widget exists
@@ -214,8 +217,9 @@ public class WidgetInstancesController e
(locale != null && instance.getLang()==null) ||
(locale != null && !instance.getLang().equals(locale))
){
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
instance.setLang(locale);
- instance.save();
+ persistenceManager.save(instance);
}
response.setStatus(HttpServletResponse.SC_OK);
}
@@ -233,7 +237,7 @@ public class WidgetInstancesController e
}
public static void cloneSharedData(HttpServletRequest request, HttpServletResponse response){
- WidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
+ IWidgetInstance instance = WidgetInstancesController.findWidgetInstance(request);
if (instance == null){
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return;
@@ -245,7 +249,17 @@ public class WidgetInstancesController e
return;
}
String cloneKey = String.valueOf((request.getParameter("apikey")+":"+cloneSharedDataKey).hashCode());//$NON-NLS-1$
- boolean ok = SharedData.clone(sharedDataKey, instance.getWidget().getGuid(), cloneKey);
+ IWidget widget = instance.getWidget();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ for (ISharedData sharedData : widget.getSharedData(sharedDataKey))
+ {
+ ISharedData clone = persistenceManager.newInstance(ISharedData.class);
+ clone.setDkey(sharedData.getDkey());
+ clone.setDvalue(sharedData.getDvalue());
+ clone.setSharedDataKey(cloneKey);
+ widget.getSharedData().add(clone);
+ }
+ boolean ok = persistenceManager.save(widget);
if (ok){
response.setStatus(HttpServletResponse.SC_OK);
} else {
@@ -253,18 +267,20 @@ public class WidgetInstancesController e
}
}
- public synchronized static void lockWidgetInstance(WidgetInstance instance){
+ public synchronized static void lockWidgetInstance(IWidgetInstance instance){
//doLock(instance, true);
PropertiesController.updateSharedDataEntry(instance, "isLocked", "true", false);//$NON-NLS-1$ //$NON-NLS-2$
instance.setLocked(true);
- instance.save();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ persistenceManager.save(instance);
}
- public synchronized static void unlockWidgetInstance(WidgetInstance instance){
+ public synchronized static void unlockWidgetInstance(IWidgetInstance instance){
//doLock(instance, false);
PropertiesController.updateSharedDataEntry(instance, "isLocked", "false", false);//$NON-NLS-1$ //$NON-NLS-2$
instance.setLocked(false);
- instance.save();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ persistenceManager.save(instance);
}
// Utility methods
@@ -286,12 +302,13 @@ public class WidgetInstancesController e
* @return the absolute URL
* @throws IOException
*/
- protected static String getUrl(HttpServletRequest request, WidgetInstance instance) throws IOException{
+ protected static String getUrl(HttpServletRequest request, IWidgetInstance instance) throws IOException{
String url = "";
-
- StartFile sf = (StartFile) LocalizationUtils.getLocalizedElement(StartFile.findByValue("widget", instance.getWidget()), new String[]{instance.getLang()});
+
+ IStartFile[] startFiles = instance.getWidget().getStartFiles().toArray(new IStartFile[instance.getWidget().getStartFiles().size()]);
+ IStartFile sf = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles, new String[]{instance.getLang()});
// Try default locale if no appropriate localization found
- if (sf == null) sf = (StartFile) LocalizationUtils.getLocalizedElement(StartFile.findByValue("widget", instance.getWidget()), null);
+ if (sf == null) sf = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles, null);
// No start file found, so throw an exception
if (sf == null) throw new IOException("No start file located for widget "+instance.getWidget().getGuid());
@@ -317,36 +334,37 @@ public class WidgetInstancesController e
* @param request
* @return
*/
- public static WidgetInstance findWidgetInstance(HttpServletRequest request){
- WidgetInstance instance;
-
+ public static IWidgetInstance findWidgetInstance(HttpServletRequest request){
+ IWidgetInstance instance;
+
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
String id_key = request.getParameter("id_key"); //$NON-NLS-1$
if (id_key != null & id_key != ""){
- instance = WidgetInstance.findByIdKey(id_key);
+ instance = persistenceManager.findWidgetInstanceByIdKey(id_key);
return instance;
}
- try {
- String apiKey = URLDecoder.decode(request.getParameter("api_key"), "UTF-8"); //$NON-NLS-1$
- String userId = URLDecoder.decode(request.getParameter("userid"), "UTF-8"); //$NON-NLS-1$
- String sharedDataKey = WidgetInstancesController.getSharedDataKey(request);
- String widgetId = request.getParameter("widgetid");
- if (widgetId != null){
- widgetId = URLDecoder.decode(widgetId, "UTF-8"); //$NON-NLS-1$
- _logger.debug("Looking for widget instance with widgetid of " + widgetId);
- instance = WidgetInstance.getWidgetInstanceById(apiKey, userId, sharedDataKey, widgetId);
- } else {
- String serviceType = URLDecoder.decode(request.getParameter("servicetype"), "UTF-8"); //$NON-NLS-1$
- _logger.debug("Looking for widget instance of service type " + serviceType);
- instance = WidgetInstance.getWidgetInstance(apiKey, userId, sharedDataKey, serviceType);
- }
- if (instance == null) {
- _logger.error("No widget instance for found");
- }
- return instance;
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException("Server must support UTF-8 encoding", e);
- } //$NON-NLS-1$
-
+ try {
+ String apiKey = URLDecoder.decode(request.getParameter("api_key"), "UTF-8"); //$NON-NLS-1$
+ String userId = URLDecoder.decode(request.getParameter("userid"), "UTF-8"); //$NON-NLS-1$
+ String sharedDataKey = WidgetInstancesController.getSharedDataKey(request);
+ String widgetId = request.getParameter("widgetid");
+ if (widgetId != null){
+ widgetId = URLDecoder.decode(widgetId, "UTF-8"); //$NON-NLS-1$
+ _logger.debug("Looking for widget instance with widgetid of " + widgetId);
+ instance = persistenceManager.findWidgetInstanceByGuid(apiKey, userId, sharedDataKey, widgetId);
+ } else {
+ String serviceType = URLDecoder.decode(request.getParameter("servicetype"), "UTF-8"); //$NON-NLS-1$
+ _logger.debug("Looking for widget instance of service type " + serviceType);
+ instance = persistenceManager.findWidgetInstance(apiKey, userId, sharedDataKey, serviceType);
+ }
+ if (instance == null) {
+ _logger.debug("No widget instance found for APIkey= "+apiKey+" userId="+userId+" widgetId="+widgetId);
+ }
+ return instance;
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException("Server must support UTF-8 encoding", e);
+ } //$NON-NLS-1$
+
}
}
\ No newline at end of file
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetServicesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetServicesController.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetServicesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetServicesController.java Mon Aug 23 09:46:30 2010
@@ -15,15 +15,17 @@
package org.apache.wookie.controller;
import java.io.IOException;
-import java.util.Set;
+import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.wookie.beans.Widget;
-import org.apache.wookie.beans.WidgetDefault;
-import org.apache.wookie.beans.WidgetService;
-import org.apache.wookie.beans.WidgetType;
+import org.apache.wookie.beans.IWidget;
+import org.apache.wookie.beans.IWidgetDefault;
+import org.apache.wookie.beans.IWidgetService;
+import org.apache.wookie.beans.IWidgetType;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
import org.apache.wookie.exceptions.InvalidParametersException;
import org.apache.wookie.exceptions.ResourceDuplicationException;
import org.apache.wookie.exceptions.ResourceNotFoundException;
@@ -55,7 +57,7 @@ public class WidgetServicesController ex
* @see org.apache.wookie.controller.Controller#show(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void show(String resourceId, HttpServletRequest request, HttpServletResponse response) throws ResourceNotFoundException, IOException{
- WidgetService ws = getWidgetService(resourceId);
+ IWidgetService ws = getWidgetService(resourceId);
returnXml(WidgetServiceHelper.createXMLWidgetServiceDocument(ws, getLocalPath(request),getLocales(request)), response);
}
@@ -63,7 +65,8 @@ public class WidgetServicesController ex
* @see org.apache.wookie.controller.Controller#index(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void index(HttpServletRequest request, HttpServletResponse response) throws IOException{
- WidgetService[] ws = WidgetService.findAll();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetService[] ws = persistenceManager.findAll(IWidgetService.class);
boolean defaults = (request.getParameter("defaults") != null);
returnXml(WidgetServiceHelper.createXMLWidgetServicesDocument(ws, getLocalPath(request),defaults, getLocales(request)), response);
}
@@ -84,14 +87,15 @@ public class WidgetServicesController ex
*/
public static boolean create(String resourceId) throws ResourceDuplicationException,InvalidParametersException{
if (resourceId == null || resourceId.trim().equals("")) throw new InvalidParametersException();
- WidgetService ws;
+ IWidgetService ws;
try {
ws = getWidgetService(resourceId);
throw new ResourceDuplicationException();
} catch (ResourceNotFoundException e) {
- ws = new WidgetService();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ ws = persistenceManager.newInstance(IWidgetService.class);
ws.setServiceName(resourceId);
- return ws.save();
+ return persistenceManager.save(ws);
}
}
@@ -111,28 +115,30 @@ public class WidgetServicesController ex
* @throws ResourceNotFoundException
*/
public static boolean remove(String resourceId) throws ResourceNotFoundException {
- WidgetService service = getWidgetService(resourceId);
+ IWidgetService service = getWidgetService(resourceId);
if (service == null) throw new ResourceNotFoundException();
String serviceName = service.getServiceName();
// if exists, remove from widget default table
- WidgetDefault[] widgetDefaults = WidgetDefault.findByValue("widgetContext", serviceName);
- WidgetDefault.delete(widgetDefaults);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetDefault[] widgetDefaults = persistenceManager.findByValue(IWidgetDefault.class, "widgetContext", serviceName);
+ persistenceManager.delete(widgetDefaults);
// delete from the widget service table
- service.delete();
+ persistenceManager.delete(service);
// remove any widgetTypes for each widget that match
- Widget[] widgets = Widget.findByType(serviceName);
+ IWidget[] widgets = persistenceManager.findWidgetsByType(serviceName);
if (widgets == null||widgets.length==0) return true;
- for(Widget widget : widgets){
+ for(IWidget widget : widgets){
// remove any widget types for this widget
- Set<?> types = widget.getWidgetTypes();
- WidgetType[] widgetTypes = types.toArray(new WidgetType[types.size()]);
- for(int j=0;j<widgetTypes.length;++j){
- if(serviceName.equalsIgnoreCase(widgetTypes[j].getWidgetContext())){
- widgetTypes[j].delete();
- }
- }
+ Iterator<IWidgetType> typesIter = widget.getWidgetTypes().iterator();
+ while(typesIter.hasNext()) {
+ IWidgetType widgetType = typesIter.next();
+ if(serviceName.equalsIgnoreCase(widgetType.getWidgetContext())){
+ typesIter.remove();
+ }
+ }
+ persistenceManager.save(widget);
}
return true;
}
@@ -145,10 +151,11 @@ public class WidgetServicesController ex
throws ResourceNotFoundException,InvalidParametersException {
String name = request.getParameter("name");
if (name == null || name.trim().equals("")) throw new InvalidParametersException();
- WidgetService ws = getWidgetService(resourceId);
+ IWidgetService ws = getWidgetService(resourceId);
if (ws == null) throw new ResourceNotFoundException();
ws.setServiceName(name);
- ws.save();
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ persistenceManager.save(ws);
}
// Utilities
@@ -159,13 +166,12 @@ public class WidgetServicesController ex
* @param resourceId
* @return
*/
- private static WidgetService getWidgetService(String resourceId) throws ResourceNotFoundException{
+ private static IWidgetService getWidgetService(String resourceId) throws ResourceNotFoundException{
if (resourceId == null) throw new ResourceNotFoundException();
- WidgetService ws = null;
- if (isAnInteger(resourceId)){
- ws = WidgetService.findById(Integer.valueOf(resourceId));
- } else {
- WidgetService[] wsa = WidgetService.findByValue("serviceName", resourceId);
+ IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+ IWidgetService ws = persistenceManager.findById(IWidgetService.class, resourceId);
+ if (ws == null) {
+ IWidgetService[] wsa = persistenceManager.findByValue(IWidgetService.class, "serviceName", resourceId);
if (wsa != null && wsa.length == 1) ws = wsa[0];
}
if (ws == null) throw new ResourceNotFoundException();