[HippoCMS-svn] [20632] hippo-ecm: HREPTWO-2715: fix tests and convert some more interfaces to use generics

View: New views
1 Messages — Rating Filter:   Alert me  

[HippoCMS-svn] [20632] hippo-ecm: HREPTWO-2715: fix tests and convert some more interfaces to use generics

by bvanhalderen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Revision: 20632
Author:   fvlankvelt
Date:     2009-11-11 22:16:55 +0100 (Wed, 11 Nov 2009)
Log Message:
-----------
HREPTWO-2715: fix tests and convert some more interfaces to use generics

Modified Paths:
--------------
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/builder/TemplateBuilder.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/impl/EditableTypes.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutControl.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutDescriptor.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutPad.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutProvider.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutTransition.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/JavaLayoutDescriptor.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutControl.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProvider.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProviderPlugin.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/XmlLayoutDescriptor.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/gotolink/src/test/java/org/hippoecm/frontend/plugins/gotolink/GotolinkDocumentsShortcutPluginTest.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/addon/standards/frontend/src/test/java/org/hippoecm/frontend/plugins/standards/tabs/TabsTest.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/model/event/EventCollection.java
    hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/session/SessionClassLoaderModel.java

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/builder/TemplateBuilder.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/builder/TemplateBuilder.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/builder/TemplateBuilder.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -826,7 +826,7 @@
 
     private void notifyObservers() {
         if (obContext != null) {
-            EventCollection<IEvent> collection = new EventCollection<IEvent>();
+            EventCollection<IEvent<IObservable>> collection = new EventCollection<IEvent<IObservable>>();
             collection.add(new IEvent() {
 
                 public IObservable getSource() {

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/impl/EditableTypes.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/impl/EditableTypes.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/impl/EditableTypes.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -117,8 +117,8 @@
                 new String[] { HippoNodeType.NT_NAMESPACE }) {
             @Override
             public void onEvent(EventIterator events) {
-                EventCollection<IEvent> collection = new EventCollection<IEvent>();
-                collection.add(new IEvent() {
+                EventCollection<IEvent<IObservable>> collection = new EventCollection<IEvent<IObservable>>();
+                collection.add(new IEvent<IObservable>() {
 
                     public IObservable getSource() {
                         return EditableTypes.this;

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutControl.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutControl.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutControl.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -21,7 +21,6 @@
  * Interface for layout aware services to control their position.
  */
 public interface ILayoutControl extends IClusterable {
-    @SuppressWarnings("unused")
     final static String SVN_ID = "$Id$";
 
     ILayoutPad getLayoutPad();

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutDescriptor.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutDescriptor.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutDescriptor.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -45,7 +45,7 @@
      * The localized name of the layout.
      * @return
      */
-    IModel/*<String>*/ getName();
+    IModel<String> getName();
     
     Resource getIcon();
 

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutPad.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutPad.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutPad.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -24,7 +24,6 @@
  * child render service registers.  It allows the child to reposition itself.
  */
 public interface ILayoutPad extends IClusterable {
-    @SuppressWarnings("unused")
     final static String SVN_ID = "$Id$";
 
     /**

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutProvider.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutProvider.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutProvider.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -20,7 +20,6 @@
 import org.apache.wicket.IClusterable;
 
 public interface ILayoutProvider extends IClusterable {
-    @SuppressWarnings("unused")
     final static String SVN_ID = "$Id$";
 
     List<String> getLayouts();

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutTransition.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutTransition.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/ILayoutTransition.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -18,7 +18,6 @@
 import org.apache.wicket.IClusterable;
 
 public interface ILayoutTransition extends IClusterable {
-    @SuppressWarnings("unused")
     final static String SVN_ID = "$Id$";
 
     String getName();

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/JavaLayoutDescriptor.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/JavaLayoutDescriptor.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/JavaLayoutDescriptor.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -79,8 +79,8 @@
         return null;
     }
 
-    public IModel getName() {
-        return new Model(name);
+    public IModel<String> getName() {
+        return new Model<String>(name);
     }
     
 }

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutControl.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutControl.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutControl.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -18,8 +18,6 @@
 import org.hippoecm.frontend.editor.builder.BuilderContext;
 import org.hippoecm.frontend.editor.builder.ILayoutAware;
 import org.hippoecm.frontend.plugin.config.IPluginConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Context for layout editing plugins.  It implements the ILayoutControl interface
@@ -31,8 +29,6 @@
 
     private static final long serialVersionUID = 1L;
 
-    private static final Logger log = LoggerFactory.getLogger(LayoutControl.class);
-
     protected final BuilderContext builder;
     protected final ILayoutPad pad;
     protected final String wicketId; // undecorated wicket.id

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProvider.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProvider.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProvider.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -48,6 +48,7 @@
     static final Logger log = LoggerFactory.getLogger(LayoutProvider.class);
 
     private static class LayoutEntry implements Serializable {
+        private static final long serialVersionUID = 1L;
 
         String plugin;
         String variant;
@@ -73,12 +74,12 @@
     }
 
     private Map<String, LayoutEntry> layouts;
-    private IModel classLoaderModel;
+    private IModel<ClassLoader> classLoaderModel;
 
-    public LayoutProvider(IModel loaderModel) {
+    public LayoutProvider(IModel<ClassLoader> loaderModel) {
         this.classLoaderModel = loaderModel;
 
-        ClassLoader loader = (ClassLoader) classLoaderModel.getObject();
+        ClassLoader loader = classLoaderModel.getObject();
         layouts = new TreeMap<String, LayoutEntry>();
         try {
             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProviderPlugin.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProviderPlugin.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/LayoutProviderPlugin.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -16,7 +16,7 @@
 package org.hippoecm.frontend.editor.layout;
 
 import org.apache.wicket.Session;
-import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 import org.hippoecm.frontend.plugin.IPlugin;
 import org.hippoecm.frontend.plugin.IPluginContext;
 import org.hippoecm.frontend.plugin.config.IPluginConfig;
@@ -34,19 +34,13 @@
     
     public LayoutProviderPlugin(IPluginContext context, IPluginConfig config) {
 
-        ILayoutProvider layoutProvider = new LayoutProvider(new IModel() {
+        ILayoutProvider layoutProvider = new LayoutProvider(new LoadableDetachableModel<ClassLoader>() {
             private static final long serialVersionUID = 1L;
 
-            public Object getObject() {
+            @Override
+            protected ClassLoader load() {
                 return ((UserSession) Session.get()).getClassLoader();
             }
-
-            public void setObject(Object object) {
-                throw new UnsupportedOperationException("class loader model is readonly");
-            }
-
-            public void detach() {
-            }
             
         });
         context.registerService(layoutProvider, ILayoutProvider.class.getName());

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/XmlLayoutDescriptor.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/XmlLayoutDescriptor.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/editor/frontend/src/main/java/org/hippoecm/frontend/editor/layout/XmlLayoutDescriptor.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -33,6 +33,7 @@
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.html.WebResource;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.resource.IPropertiesFactory;
 import org.apache.wicket.resource.Properties;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -124,7 +125,7 @@
 
     }
 
-    private IModel clModel;
+    private IModel<ClassLoader> clModel;
     private String location;
     private String variant;
     private Map<String, ILayoutPad> pads;
@@ -136,11 +137,11 @@
      * @param classLoaderModel read-only IModel that returns a ClassLoader
      * @param plugin
      */
-    public XmlLayoutDescriptor(IModel/*<ClassLoader>*/classLoaderModel, String plugin) {
+    public XmlLayoutDescriptor(IModel<ClassLoader> classLoaderModel, String plugin) {
         this(classLoaderModel, plugin, null);
     }
 
-    public XmlLayoutDescriptor(IModel/*<ClassLoader>*/classLoaderModel, String plugin, String variant) {
+    public XmlLayoutDescriptor(IModel<ClassLoader> classLoaderModel, String plugin, String variant) {
         this.clModel = classLoaderModel;
         this.location = plugin.replace('.', '/');
         this.variant = variant;
@@ -150,7 +151,7 @@
 
         // Get layout description.  Use the variant description if it is available.
         // Otherwise, fall back to the default.
-        ClassLoader cl = (ClassLoader) clModel.getObject();
+        ClassLoader cl = clModel.getObject();
         InputStream stream = null;
         if (variant != null) {
             stream = cl.getResourceAsStream(location + "_" + variant + ".layout.xml");
@@ -221,7 +222,7 @@
 
             @Override
             public IResourceStream getResourceStream() {
-                ClassLoader cl = (ClassLoader) clModel.getObject();
+                ClassLoader cl = clModel.getObject();
                 URL url = null;
                 if (variant != null) {
                     url = cl.getResource(location + "_" + variant + ".png");
@@ -256,19 +257,20 @@
      * the variant appended and falling back to the using the name itself as key if
      * this fails.  Finally, if no properties files are found, the name is returned.
      */
-    public IModel getName() {
-        return new IModel() {
+    public IModel<String> getName() {
+        return new LoadableDetachableModel<String>() {
             private static final long serialVersionUID = 1L;
 
-            public Object getObject() {
+            @Override
+            protected String load() {
                 // Load the properties associated with the path
                 IPropertiesFactory propertiesFactory = Application.get().getResourceSettings().getPropertiesFactory();
 
                 Locale locale = Session.get().getLocale();
                 String name = location.substring(location.lastIndexOf('/') + 1);
-                ResourceNameIterator iterator = new ResourceNameIterator(location, variant, locale, "properties");
+                ResourceNameIterator iterator = new ResourceNameIterator(location, variant, locale, null);
                 while (iterator.hasNext()) {
-                    String path = (String) iterator.next();
+                    String path = iterator.next();
                     final Properties props = propertiesFactory.load(null, path);
                     if (props != null) {
                         if (variant != null) {
@@ -287,12 +289,6 @@
                 return name;
             }
 
-            public void setObject(Object object) {
-            }
-
-            public void detach() {
-            }
-
         };
     }
 

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/gotolink/src/test/java/org/hippoecm/frontend/plugins/gotolink/GotolinkDocumentsShortcutPluginTest.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/gotolink/src/test/java/org/hippoecm/frontend/plugins/gotolink/GotolinkDocumentsShortcutPluginTest.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/gotolink/src/test/java/org/hippoecm/frontend/plugins/gotolink/GotolinkDocumentsShortcutPluginTest.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -70,7 +70,7 @@
 
         expect(mockModelReference.getModel()).andReturn(mockModel);
         mockModel.detach();
-        expectLastCall().times(2);
+        expectLastCall().times(3);
 
         mockBrowseService.browse(isA(JcrNodeModel.class));
         mockRenderService.focus(null);

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/addon/standards/frontend/src/test/java/org/hippoecm/frontend/plugins/standards/tabs/TabsTest.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/addon/standards/frontend/src/test/java/org/hippoecm/frontend/plugins/standards/tabs/TabsTest.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/addon/standards/frontend/src/test/java/org/hippoecm/frontend/plugins/standards/tabs/TabsTest.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -101,8 +101,8 @@
         }
         
         void notifyObservers() {
-            EventCollection<IEvent> events = new EventCollection<IEvent>();
-            events.add(new IEvent() {
+            EventCollection<IEvent<IObservable>> events = new EventCollection<IEvent<IObservable>>();
+            events.add(new IEvent<IObservable>() {
 
                 public IObservable getSource() {
                     return ObservableModel.this;

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/model/event/EventCollection.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/model/event/EventCollection.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/model/event/EventCollection.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -20,7 +20,7 @@
 import java.util.Iterator;
 import java.util.List;
 
-public class EventCollection<T extends IEvent<?>> implements Iterable<T>, Serializable {
+public class EventCollection<T extends IEvent> implements Iterable<T>, Serializable {
     @SuppressWarnings("unused")
     private final static String SVN_ID = "$Id$";
 

Modified: hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/session/SessionClassLoaderModel.java
===================================================================
--- hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/session/SessionClassLoaderModel.java 2009-11-11 16:27:34 UTC (rev 20631)
+++ hippo-ecm/branches/wicket_upgrade_to_1_4/frontend/engine/src/main/java/org/hippoecm/frontend/session/SessionClassLoaderModel.java 2009-11-11 21:16:55 UTC (rev 20632)
@@ -16,23 +16,17 @@
 package org.hippoecm.frontend.session;
 
 import org.apache.wicket.Session;
-import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 
-public class SessionClassLoaderModel implements IModel {
+public class SessionClassLoaderModel extends LoadableDetachableModel<ClassLoader> {
     @SuppressWarnings("unused")
     private final static String SVN_ID = "$Id$";
 
     private static final long serialVersionUID = 1L;
 
-    public Object getObject() {
+    @Override
+    protected ClassLoader load() {
         return ((UserSession) Session.get()).getClassLoader();
     }
 
-    public void setObject(Object object) {
-        throw new UnsupportedOperationException();
-    }
-
-    public void detach() {
-    }
-
 }

_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@...
http://lists.hippo.nl/mailman/listinfo/hippocms-svn