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 14:43:43 UTC
svn commit: r1565650 - in
/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl:
DefaultWidgetImpl.java DefaultWidgetMetadataService.java
Author: scottbw
Date: Fri Feb 7 13:43:43 2014
New Revision: 1565650
URL: http://svn.apache.org/r1565650
Log:
added default widget metadata service
Added:
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetImpl.java
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetMetadataService.java
Added: wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetImpl.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetImpl.java?rev=1565650&view=auto
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetImpl.java (added)
+++ wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetImpl.java Fri Feb 7 13:43:43 2014
@@ -0,0 +1,34 @@
+package org.apache.wookie.services.impl;
+
+import org.apache.wookie.beans.IWidget;
+import org.apache.wookie.w3c.impl.WidgetEntity;
+import org.jdom.Element;
+
+public class DefaultWidgetImpl extends WidgetEntity implements IWidget{
+
+ /**
+ * The path to the original .wgt package
+ */
+ private String packagePath;
+
+ @Override
+ public Object getId() {
+ return this.getIdentifier();
+ }
+
+ @Override
+ public Element toXml() {
+ return null;
+ }
+
+ @Override
+ public String getPackagePath() {
+ return this.packagePath;
+ }
+
+ @Override
+ public void setPackagePath(String path) {
+ this.packagePath = path;
+ }
+
+}
Added: wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetMetadataService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetMetadataService.java?rev=1565650&view=auto
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetMetadataService.java (added)
+++ wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultWidgetMetadataService.java Fri Feb 7 13:43:43 2014
@@ -0,0 +1,94 @@
+/*
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.wookie.services.impl;
+
+import java.util.HashMap;
+
+import org.apache.wookie.beans.IWidget;
+import org.apache.wookie.services.WidgetMetadataService;
+import org.apache.wookie.w3c.W3CWidget;
+
+/**
+ * Default implementation of a widget metadata service. This is backed by a hashmap
+ * in memory.
+ */
+public class DefaultWidgetMetadataService implements WidgetMetadataService {
+
+ private HashMap<String, IWidget> widgets;
+
+ public DefaultWidgetMetadataService(){
+ this.widgets = new HashMap<String, IWidget>();
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.wookie.services.WidgetMetadataService#removeWidget(org.apache.wookie.beans.IWidget)
+ */
+ @Override
+ public void removeWidget(IWidget widget) {
+ widgets.remove(widget.getIdentifier());
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.wookie.services.WidgetMetadataService#updateWidget(java.lang.String, org.apache.wookie.beans.IWidget)
+ */
+ @Override
+ public void updateWidget(IWidget widget, W3CWidget manifest) {
+ IWidget newWidget = createWidget(manifest, widget.getPackagePath());
+ widgets.put(widget.getIdentifier(), newWidget);
+ }
+
+ @Override
+ public IWidget importWidget(W3CWidget manifest, String packagePath) {
+ IWidget widget = createWidget(manifest, packagePath);
+ widgets.put(widget.getIdentifier(), widget);
+ return widget;
+ }
+
+ @Override
+ public IWidget getWidget(String identifier) {
+ return widgets.get(identifier);
+ }
+
+ @Override
+ public IWidget[] getAllWidgets() {
+ return widgets.values().toArray(new IWidget[widgets.size()]);
+ }
+
+ private IWidget createWidget(W3CWidget manifest, String packagePath) {
+ DefaultWidgetImpl widget = new DefaultWidgetImpl();
+ widget.setPackagePath(packagePath);
+ widget.setAuthor(manifest.getAuthor());
+ widget.setContentList(manifest.getContentList());
+ widget.setDefaultLocale(manifest.getDefaultLocale());
+ widget.setDescriptions(manifest.getDescriptions());
+ widget.setDir(manifest.getDir());
+ widget.setFeatures(manifest.getFeatures());
+ widget.setHeight(manifest.getHeight());
+ widget.setIcons(manifest.getIcons());
+ widget.setIdentifier(manifest.getIdentifier());
+ widget.setLang(manifest.getLang());
+ widget.setLicenses(manifest.getLicenses());
+ widget.setNames(manifest.getNames());
+ widget.setPreferences(manifest.getPreferences());
+ widget.setUpdateLocation(manifest.getUpdateLocation());
+ widget.setVersion(manifest.getVersion());
+ widget.setWidth(manifest.getWidth());
+
+ return widget;
+ }
+
+}