You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/05/26 12:33:02 UTC

[01/12] git commit: ISIS-793: fix comment, make configuration of WebJars library easier to override

Repository: isis
Updated Branches:
  refs/heads/master d99641d06 -> 5e3751a67


ISIS-793: fix comment, make configuration of WebJars library easier to override


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d887d84f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d887d84f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d887d84f

Branch: refs/heads/master
Commit: d887d84fd38bf251a342208fb7b103e1c5f1648a
Parents: d99641d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 10:56:00 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 10:56:00 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 45 +++++++++-----------
 1 file changed, 21 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d887d84f/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 9a8f426..bddf816 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -132,24 +132,8 @@ import org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleFo
  * make the {@link ComponentFactory} defined within it available.
  *
  * <p>
- * Alternatively, {@link ComponentFactory}s can be specified by overridding
- * {@link #newComponentFactoryList()}. This offers more fine-grained control for
- * the ordering, but is more fiddly.
- *
- * <p>
- * There are also a number of other pluggable hooks (similar way to other Wicket
- * customizations)
- * <ul>
- * <li> {@link #newComponentFactoryList()} (mentioned above)</li>
- * <li> {@link #newComponentFactoryRegistry()} (uses the
- * {@link ComponentFactoryRegistrar} provided by {@link #newComponentFactoryList()})</li>
- * <li> {@link #newPageClassList()}</li>
- * <li> {@link #newPageRegistry()} (uses the {@link PageClassList} provided by
- * {@link #newPageClassList()})</li>
- * <li> {@link #newConverterLocator()} (probably should not be changed.)</li>
- * <li> {@link #newRequestCycle(Request, Response)} (probably should not be
- * changed.)</li>
- * </ul>
+ * Alternatively, {@link ComponentFactory}s can be specified by overridding {@link #newIsisWicketModule()}.
+ * This mechanism allows a number of other aspects to be customized.
  */
 public class IsisWicketApplication extends AuthenticatedWebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider {
 
@@ -226,13 +210,9 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         try {
             super.init();
 
-            // install 2 default collector instances 
-            // (FileAssetPathCollector(WEBJARS_PATH_PREFIX), JarAssetPathCollector)
-            // and a webjars resource finder.
-            WebjarsSettings settings = new WebjarsSettings();
+            configureWebJars();
+
 
-            WicketWebjars.install(this, settings);
-            
             String isisConfigDir = getServletContext().getInitParameter("isis.config.dir");
             final String loggingPropertiesDir;
             if(isisConfigDir != null) {
@@ -314,6 +294,23 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         }
     }
 
+    // //////////////////////////////////////
+
+    /**
+     * Install 2 default collector instances: (FileAssetPathCollector(WEBJARS_PATH_PREFIX), JarAssetPathCollector),
+     * and a webjars resource finder.
+     *
+     * <p>
+     * Factored out for easy (informal) pluggability.
+     * </p>
+     */
+    protected void configureWebJars() {
+        WebjarsSettings settings = new WebjarsSettings();
+        WicketWebjars.install(this, settings);
+    }
+
+    // //////////////////////////////////////
+
     /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
      */


[07/12] git commit: ISIS-793: just moving methods around in IsisWicketApplication (for instantiating IsisWicketModule)

Posted by da...@apache.org.
ISIS-793: just moving methods around in IsisWicketApplication (for instantiating IsisWicketModule)

... already protected visibility so can be overridden if required.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a14d2d21
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a14d2d21
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a14d2d21

Branch: refs/heads/master
Commit: a14d2d21786c41c3ef55f878056c9a4eb0410e6a
Parents: fe64d09
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:07:59 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:07:59 2014 +0100

----------------------------------------------------------------------
 .../viewer/wicket/viewer/IsisWicketApplication.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a14d2d21/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index b2a9f37..3ff19bc 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -479,6 +479,15 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         }
     }
 
+    // //////////////////////////////////////
+
+    /**
+     * Override if required
+     */
+    protected Module newIsisWicketModule() {
+        return new IsisWicketModule();
+    }
+
 
     // //////////////////////////////////////
 
@@ -560,13 +569,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         getComponentInstantiationListeners().add(new GuiceComponentInjector(this, injector, false));
     }
 
-    /**
-     * Override if required
-     */
-    protected Module newIsisWicketModule() {
-        return new IsisWicketModule();
-    }
-
     // /////////////////////////////////////////////////
     // Wicket Hooks
     // /////////////////////////////////////////////////


[11/12] git commit: ISIS-793: just moving methods around in IsisWicketApplication (mountPage supporting method)

Posted by da...@apache.org.
ISIS-793: just moving methods around in IsisWicketApplication (mountPage supporting method)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/16b195e5
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/16b195e5
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/16b195e5

Branch: refs/heads/master
Commit: 16b195e5fc1e1dc39aa078941554a19303bbe8a5
Parents: a6f2e57
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:18:07 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:18:07 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 43 ++++++++------------
 1 file changed, 17 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/16b195e5/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 0419078..0cf689f 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -19,11 +19,7 @@
 
 package org.apache.isis.viewer.wicket.viewer;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.ServiceLoader;
-import java.util.Set;
+import java.util.*;
 
 import javax.servlet.ServletContext;
 
@@ -38,8 +34,6 @@ import com.google.inject.Injector;
 import com.google.inject.Module;
 
 import de.agilecoders.wicket.webjars.WicketWebjars;
-import de.agilecoders.wicket.webjars.collectors.AssetPathCollector;
-import de.agilecoders.wicket.webjars.collectors.VfsJarAssetPathCollector;
 import de.agilecoders.wicket.webjars.settings.WebjarsSettings;
 
 import org.apache.wicket.Application;
@@ -56,10 +50,7 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.filter.JavaScriptFilteredIntoFooterHeaderResponse;
 import org.apache.wicket.markup.html.IHeaderResponseDecorator;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.Response;
 import org.apache.wicket.request.cycle.IRequestCycleListener;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
 import org.slf4j.Logger;
@@ -91,7 +82,6 @@ import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
 import org.apache.isis.viewer.wicket.model.models.ImageResourceCache;
 import org.apache.isis.viewer.wicket.model.models.PageType;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
-import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
 import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
@@ -99,9 +89,6 @@ import org.apache.isis.viewer.wicket.ui.components.entity.properties.EntityPrope
 import org.apache.isis.viewer.wicket.ui.components.scalars.string.MultiLineStringPanel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuItemPanel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssSubMenuItemsPanel;
-import org.apache.isis.viewer.wicket.ui.overlays.Overlays;
-import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
-import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
 import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
@@ -512,8 +499,20 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         mountPage("/action/${objectOid}/${actionOwningSpec}/${actionId}/${actionType}", PageType.ACTION_PROMPT);
     }
 
+    protected void mountPage(final String mountPath, final PageType pageType) {
+        final Class<? extends Page> pageClass = this.pageClassRegistry.getPageClass(pageType);
+        mount(new MountedMapper(mountPath, pageClass){
+            @Override
+            protected String getOptionalPlaceholder(String s) {
+                return getPlaceholder(s, '~');
+            }
+        });
+    }
+
+
     // //////////////////////////////////////
 
+
     /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
      */
@@ -535,17 +534,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         LOG.error(msg);
     }
 
-    private void mountPage(final String mountPath, final PageType pageType) {
-        final Class<? extends Page> pageClass = this.pageClassRegistry.getPageClass(pageType);
-        mount(new MountedMapper(mountPath, pageClass){
-            @Override
-            protected String getOptionalPlaceholder(String s) {
-                return getPlaceholder(s, '~');
-            }
-        });
-    }
-
-
     /**
      * Whether Wicket tags should be stripped from the markup, as specified by configuration settings (otherwise 
      * depends on the {@link #deploymentType deployment type}. 
@@ -558,7 +546,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         final boolean strip = configuration.getBoolean(STRIP_WICKET_TAGS_KEY, deploymentType.isProduction());
         return strip;
     }
-    
+
+    // //////////////////////////////////////
 
     @Override
     protected void onDestroy() {
@@ -572,6 +561,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         }
     }
 
+    // //////////////////////////////////////
+
     @Override
     public RuntimeConfigurationType getConfigurationType() {
         if(determiningDeploymentType) {


[09/12] git commit: ISIS-793: make easier to override filtering of Javascript contributions

Posted by da...@apache.org.
ISIS-793: make easier to override filtering of Javascript contributions


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c31e50ff
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c31e50ff
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c31e50ff

Branch: refs/heads/master
Commit: c31e50ffb1e8c3bec548c11784bf7996b2cdb418
Parents: 813841a
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:12:56 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:12:56 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 36 ++++++++++++++------
 1 file changed, 25 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c31e50ff/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index ae8c427..9d80a4c 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -239,17 +239,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
             // must be done after injected componentFactoryRegistry into the app itself
             buildCssBundle();
 
-            // filters Javascript header contributions so rendered to bottom of page
-            setHeaderResponseDecorator(new IHeaderResponseDecorator()
-            {
-                @Override
-                public IHeaderResponse decorate(IHeaderResponse response)
-                {
-                    // use this header resource decorator to load all JavaScript resources in the page
-                    // footer (after </body>)
-                    return new JavaScriptFilteredIntoFooterHeaderResponse(response, "footerJS");
-                }
-            });
+            filterJavascriptContributions();
+
 
             // 
             // map entity and action to provide prettier URLs
@@ -492,6 +483,29 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     // //////////////////////////////////////
 
     /**
+     * filters Javascript header contributions so rendered to bottom of page.
+     *
+     * <p>
+     * Factored out for easy (informal) pluggability.
+     * </p>
+     */
+    protected void filterJavascriptContributions() {
+        setHeaderResponseDecorator(new IHeaderResponseDecorator()
+        {
+            @Override
+            public IHeaderResponse decorate(IHeaderResponse response)
+            {
+                // use this header resource decorator to load all JavaScript resources in the page
+                // footer (after </body>)
+                return new JavaScriptFilteredIntoFooterHeaderResponse(response, "footerJS");
+            }
+        });
+    }
+
+
+    // //////////////////////////////////////
+
+    /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
      */
     public List<String> getValidationErrors() {


[05/12] git commit: ISIS-793: make easier to override the setup of CSS bundles

Posted by da...@apache.org.
ISIS-793: make easier to override the setup of CSS bundles


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c3136bf9
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c3136bf9
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c3136bf9

Branch: refs/heads/master
Commit: c3136bf92f0a058407664102cac9d88ee368d2c7
Parents: c566cae
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:04:46 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:04:46 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 106 ++++++++++---------
 1 file changed, 56 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c3136bf9/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 537ac22..259a0bd 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -371,102 +371,108 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     // //////////////////////////////////////
 
     /**
-     * The validation errors, if any, that occurred on {@link #init() startup}.
+     * Made protected visibility for easy (informal) pluggability.
      */
-    public List<String> getValidationErrors() {
-        return validationErrors;
-    }
-    
-    private void logError(String validationError) {
-        log(validationError);
-    }
-
-    private static void logBanner() {
-        String msg = "################################################ ISIS METAMODEL VALIDATION ERRORS ################################################################";
-        log(msg);
-    }
-
-    private static void log(String msg) {
-        System.err.println(msg);
-        LOG.error(msg);
-    }
-
-    private void mountPage(final String mountPath, final PageType pageType) {
-        final Class<? extends Page> pageClass = this.pageClassRegistry.getPageClass(pageType);
-        mount(new MountedMapper(mountPath, pageClass){
-            @Override
-            protected String getOptionalPlaceholder(String s) {
-                return getPlaceholder(s, '~');
-            }
-        });
-    }
-
-    private void buildCssBundle() {
+    protected void buildCssBundle() {
         // get the css for all components built by component factories
         final Set<CssResourceReference> references = cssResourceReferencesForAllComponents();
-        
+
         // some additional special cases.
         addSpecialCasesToCssBundle(references);
-        
+
         // create the bundle
         getResourceBundles().addCssBundle(
-                IsisWicketApplication.class, "isis-wicket-viewer-bundle.css", 
+                IsisWicketApplication.class, "isis-wicket-viewer-bundle.css",
                 references.toArray(new CssResourceReference[]{}));
     }
 
     /**
      * Additional special cases to be included in the main CSS bundle.
-     * 
+     *
      * <p>
      * These are typically either superclasses or components that don't have their own ComponentFactory, or
      * for {@link ComponentFactory}s (such as <tt>StringPanelFactory</tt>) that don't quite follow the usual pattern
      * (because they create different types of panels).
-     * 
+     *
      * <p>
-     * Note that it doesn't really matter if we miss one or two; their CSS will simply be served up individually. 
+     * Note that it doesn't really matter if we miss one or two; their CSS will simply be served up individually.
      */
-    private void addSpecialCasesToCssBundle(final Set<CssResourceReference> references) {
+    protected void addSpecialCasesToCssBundle(final Set<CssResourceReference> references) {
 
         // abstract classes
-        
-        // ... though it turns out we cannot add this particular one to the bundle, because 
+
+        // ... though it turns out we cannot add this particular one to the bundle, because
         // it has CSS image links intended to be resolved relative to LinksSelectorPanelAbstract.class.
-        // Adding them into the bundle would mean these CSS links are resolved relative to IsisWicketApplication.class 
+        // Adding them into the bundle would mean these CSS links are resolved relative to IsisWicketApplication.class
         // instead.
         // references.add(PanelUtil.cssResourceReferenceFor(LinksSelectorPanelAbstract.class));
-        
+
         // components without factories
         references.add(PanelUtil.cssResourceReferenceFor(AdditionalLinksPanel.class));
         references.add(PanelUtil.cssResourceReferenceFor(CssSubMenuItemsPanel.class));
         references.add(PanelUtil.cssResourceReferenceFor(CssMenuItemPanel.class));
         references.add(PanelUtil.cssResourceReferenceFor(EntityPropertiesForm.class));
-        
+
         // non-conforming component factories
         references.add(PanelUtil.cssResourceReferenceFor(MultiLineStringPanel.class));
     }
 
-    private final static Function<ComponentFactory, Iterable<CssResourceReference>> getCssResourceReferences = 
+    protected final static Function<ComponentFactory, Iterable<CssResourceReference>> getCssResourceReferences =
             new Function<ComponentFactory, Iterable<CssResourceReference>>(){
                 @Override
                 public Iterable<CssResourceReference> apply(final ComponentFactory input) {
-                   final CssResourceReference cssResourceReference = input.getCssResourceReference();
-                   return cssResourceReference != null? 
-                           Collections.singletonList(cssResourceReference): 
-                           Collections.<CssResourceReference>emptyList();
+                    final CssResourceReference cssResourceReference = input.getCssResourceReference();
+                    return cssResourceReference != null?
+                            Collections.singletonList(cssResourceReference):
+                            Collections.<CssResourceReference>emptyList();
                 }
-             };
+            };
 
 
-    private Set<CssResourceReference> cssResourceReferencesForAllComponents() {
+    protected Set<CssResourceReference> cssResourceReferencesForAllComponents() {
         Collection<ComponentFactory> componentFactories = getComponentFactoryRegistry().listComponentFactories();
         return Sets.newLinkedHashSet(
                 Iterables.concat(
                         Iterables.transform(
-                                componentFactories, 
+                                componentFactories,
                                 getCssResourceReferences)));
     }
 
 
+    // //////////////////////////////////////
+
+    /**
+     * The validation errors, if any, that occurred on {@link #init() startup}.
+     */
+    public List<String> getValidationErrors() {
+        return validationErrors;
+    }
+    
+    private void logError(String validationError) {
+        log(validationError);
+    }
+
+    private static void logBanner() {
+        String msg = "################################################ ISIS METAMODEL VALIDATION ERRORS ################################################################";
+        log(msg);
+    }
+
+    private static void log(String msg) {
+        System.err.println(msg);
+        LOG.error(msg);
+    }
+
+    private void mountPage(final String mountPath, final PageType pageType) {
+        final Class<? extends Page> pageClass = this.pageClassRegistry.getPageClass(pageType);
+        mount(new MountedMapper(mountPath, pageClass){
+            @Override
+            protected String getOptionalPlaceholder(String s) {
+                return getPlaceholder(s, '~');
+            }
+        });
+    }
+
+
     /**
      * Whether Wicket tags should be stripped from the markup, as specified by configuration settings (otherwise 
      * depends on the {@link #deploymentType deployment type}. 


[12/12] git commit: ISIS-793: make easier to override handling of runtime (metamodel) exceptions

Posted by da...@apache.org.
ISIS-793: make easier to override handling of runtime (metamodel) exceptions


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5e3751a6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5e3751a6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5e3751a6

Branch: refs/heads/master
Commit: 5e3751a672b7a63daacaa18d28af6cd599420fec
Parents: 16b195e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:20:38 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:20:38 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 30 +++++++-------------
 1 file changed, 11 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5e3751a6/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 0cf689f..d0390dc 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -19,10 +19,11 @@
 
 package org.apache.isis.viewer.wicket.viewer;
 
-import java.util.*;
+import de.agilecoders.wicket.webjars.WicketWebjars;
+import de.agilecoders.wicket.webjars.settings.WebjarsSettings;
 
+import java.util.*;
 import javax.servlet.ServletContext;
-
 import com.google.common.base.Function;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Iterables;
@@ -32,16 +33,7 @@ import com.google.inject.Guice;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.Module;
-
-import de.agilecoders.wicket.webjars.WicketWebjars;
-import de.agilecoders.wicket.webjars.settings.WebjarsSettings;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.ConverterLocator;
-import org.apache.wicket.IConverterLocator;
-import org.apache.wicket.Page;
-import org.apache.wicket.RuntimeConfigurationType;
-import org.apache.wicket.SharedResources;
+import org.apache.wicket.*;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
 import org.apache.wicket.core.request.mapper.MountedMapper;
@@ -55,7 +47,6 @@ import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
@@ -234,8 +225,7 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
             SharedResources sharedResources = getSharedResources();
             
         } catch(RuntimeException ex) {
-            List<MetaModelInvalidException> mmies = Lists.newArrayList(
-                    Iterables.filter(Throwables.getCausalChain(ex), MetaModelInvalidException.class));
+            List<MetaModelInvalidException> mmies = locateMetaModelInvalidExceptions(ex);
             if(!mmies.isEmpty()) {
                 final MetaModelInvalidException mmie = mmies.get(0);
                 log("");
@@ -512,6 +502,10 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
 
     // //////////////////////////////////////
 
+    protected List<MetaModelInvalidException> locateMetaModelInvalidExceptions(RuntimeException ex) {
+        return Lists.newArrayList(
+                Iterables.filter(Throwables.getCausalChain(ex), MetaModelInvalidException.class));
+    }
 
     /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
@@ -534,6 +528,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         LOG.error(msg);
     }
 
+    // //////////////////////////////////////
+
     /**
      * Whether Wicket tags should be stripped from the markup, as specified by configuration settings (otherwise 
      * depends on the {@link #deploymentType deployment type}. 
@@ -618,10 +614,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     // Component Factories
     // /////////////////////////////////////////////////
 
-    /**
-     * The {@link ComponentFactoryRegistry} created in
-     * {@link #newComponentFactoryRegistry()}.
-     */
     @Override
     public final ComponentFactoryRegistry getComponentFactoryRegistry() {
         return componentFactoryRegistry;


[03/12] git commit: ISIS-793: make registration of WebRequestCycleForIsis easier to override.

Posted by da...@apache.org.
ISIS-793: make registration of WebRequestCycleForIsis easier to override.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/ce09b83e
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/ce09b83e
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/ce09b83e

Branch: refs/heads/master
Commit: ce09b83e12012a7ace3c5f7be5bbc1ff6adf54a5
Parents: d0db510
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:00:14 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:00:14 2014 +0100

----------------------------------------------------------------------
 .../viewer/wicket/viewer/IsisWicketApplication.java     | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ce09b83e/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 85986e5..50f5110 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -58,6 +58,7 @@ import org.apache.wicket.markup.html.IHeaderResponseDecorator;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Response;
+import org.apache.wicket.request.cycle.IRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
@@ -218,7 +219,7 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     
             getRequestCycleSettings().setRenderStrategy(RenderStrategy.REDIRECT_TO_RENDER);
     
-            getRequestCycleListeners().add(new WebRequestCycleForIsis());
+            getRequestCycleListeners().add(newWebRequestCycleForIsis());
     
             getResourceSettings().setParentFolderPlaceholder("$up$");
             
@@ -318,6 +319,15 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         loggingConfigurer.configureLogging(loggingPropertiesDir, new String[0]);
     }
 
+    // //////////////////////////////////////
+
+    /**
+     * Factored out for easy (informal) pluggability.
+     */
+    protected IRequestCycleListener newWebRequestCycleForIsis() {
+        return new WebRequestCycleForIsis();
+    }
+
 
     // //////////////////////////////////////
 


[10/12] git commit: ISIS-793: make easier to override mapping of page URLs

Posted by da...@apache.org.
ISIS-793: make easier to override mapping of page URLs


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a6f2e576
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a6f2e576
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a6f2e576

Branch: refs/heads/master
Commit: a6f2e5760d4cd028ad42d7449ee5df7573959098
Parents: c31e50f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:14:54 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:14:54 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 27 +++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a6f2e576/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 9d80a4c..0419078 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -241,16 +241,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
 
             filterJavascriptContributions();
 
+            mountPages();
 
-            // 
-            // map entity and action to provide prettier URLs
-            //
-            // nb: action mount cannot contain {actionArgs}, because the default 
-            // parameters encoder doesn't seem to be able to handle multiple args
-            //
-            mountPage("/entity/${objectOid}", PageType.ENTITY);
-            mountPage("/action/${objectOid}/${actionOwningSpec}/${actionId}/${actionType}", PageType.ACTION_PROMPT);
-            
             @SuppressWarnings("unused")
             SharedResources sharedResources = getSharedResources();
             
@@ -502,6 +494,23 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         });
     }
 
+    // //////////////////////////////////////
+
+    /**
+     * Map entity and action to provide prettier URLs.
+     *
+     * <p>
+     * Factored out for easy (informal) pluggability.
+     * </p>
+     */
+    protected void mountPages() {
+
+        mountPage("/entity/${objectOid}", PageType.ENTITY);
+
+        // nb: action mount cannot contain {actionArgs}, because the default
+        // parameters encoder doesn't seem to be able to handle multiple args
+        mountPage("/action/${objectOid}/${actionOwningSpec}/${actionId}/${actionType}", PageType.ACTION_PROMPT);
+    }
 
     // //////////////////////////////////////
 


[04/12] git commit: ISIS-793: make determination of DeploymentType easier to override.

Posted by da...@apache.org.
ISIS-793: make determination of DeploymentType easier to override.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c566cae3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c566cae3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c566cae3

Branch: refs/heads/master
Commit: c566cae378444b6c56a0dcfc73ebcbe6a7672297
Parents: ce09b83
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:02:26 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:02:26 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 71 +++++++++++---------
 1 file changed, 39 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c566cae3/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 50f5110..537ac22 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -328,6 +328,45 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         return new WebRequestCycleForIsis();
     }
 
+    // //////////////////////////////////////
+
+    /**
+     * Made protected visibility for easy (informal) pluggability.
+     */
+    protected void determineDeploymentTypeIfRequired() {
+        if(deploymentType != null) {
+            return;
+        }
+
+        determiningDeploymentType = true;
+        try {
+            final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
+            final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
+            String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
+            deploymentType = determineDeploymentType(deploymentTypeFromConfig);
+        } finally {
+            determiningDeploymentType = false;
+        }
+    }
+
+    /**
+     * Made protected visibility for easy (informal) pluggability.
+     */
+    protected DeploymentTypeWicketAbstract determineDeploymentType(String deploymentTypeFromConfig) {
+        final DeploymentTypeWicketAbstract prototype = new WicketServerPrototype();
+        final DeploymentTypeWicketAbstract deployment = new WicketServer();
+
+        if(deploymentTypeFromConfig != null) {
+            final DeploymentType deploymentType = DeploymentType.lookup(deploymentTypeFromConfig);
+            return !deploymentType.getDeploymentCategory().isProduction()
+                    ? prototype
+                    : deployment;
+        } else {
+            return usesDevelopmentConfig()
+                    ? prototype
+                    : deployment;
+        }
+    }
 
     // //////////////////////////////////////
 
@@ -428,22 +467,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     }
 
 
-    private void determineDeploymentTypeIfRequired() {
-        if(deploymentType != null) {
-            return;
-        }
-        
-        determiningDeploymentType = true;
-        try {
-            final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
-            final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
-            String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
-            deploymentType = determineDeploymentType(deploymentTypeFromConfig);
-        } finally {
-            determiningDeploymentType = false;
-        }
-    }
-    
     /**
      * Whether Wicket tags should be stripped from the markup, as specified by configuration settings (otherwise 
      * depends on the {@link #deploymentType deployment type}. 
@@ -485,22 +508,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         return new IsisInjectModule(deploymentType, isisConfigurationBuilder);
     }
 
-    private DeploymentTypeWicketAbstract determineDeploymentType(String deploymentTypeFromConfig) {
-        final DeploymentTypeWicketAbstract prototype = new WicketServerPrototype();
-        final DeploymentTypeWicketAbstract deployment = new WicketServer();
-        
-        if(deploymentTypeFromConfig != null) {
-            final DeploymentType deploymentType = DeploymentType.lookup(deploymentTypeFromConfig);
-            return !deploymentType.getDeploymentCategory().isProduction() 
-                    ? prototype 
-                    : deployment;
-        } else {
-            return usesDevelopmentConfig() 
-                    ? prototype 
-                    : deployment;
-        }
-    }
-
     private IsisConfigurationBuilder createConfigBuilder() {
         return createConfigBuilder(getServletContext());
     }


[02/12] git commit: ISIS-793: make configuration of logging.properties easier to override.

Posted by da...@apache.org.
ISIS-793: make configuration of logging.properties easier to override.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d0db510f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d0db510f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d0db510f

Branch: refs/heads/master
Commit: d0db510ff698d65309496e619b49216e5c314fe3
Parents: d887d84
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 10:57:40 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 10:57:40 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 26 ++++++++++++++------
 1 file changed, 18 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d0db510f/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index bddf816..85986e5 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -212,16 +212,9 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
 
             configureWebJars();
 
-
             String isisConfigDir = getServletContext().getInitParameter("isis.config.dir");
-            final String loggingPropertiesDir;
-            if(isisConfigDir != null) {
-                loggingPropertiesDir = isisConfigDir;
-            } else {
-                loggingPropertiesDir = getServletContext().getRealPath("/WEB-INF");
-            }
 
-            loggingConfigurer.configureLogging(loggingPropertiesDir, new String[0]);
+            configureLogging(isisConfigDir);
     
             getRequestCycleSettings().setRenderStrategy(RenderStrategy.REDIRECT_TO_RENDER);
     
@@ -312,6 +305,23 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     // //////////////////////////////////////
 
     /**
+     * Factored out for easy (informal) pluggability.
+     */
+    protected void configureLogging(String isisConfigDir) {
+        final String loggingPropertiesDir;
+        if(isisConfigDir != null) {
+            loggingPropertiesDir = isisConfigDir;
+        } else {
+            loggingPropertiesDir = getServletContext().getRealPath("/WEB-INF");
+        }
+
+        loggingConfigurer.configureLogging(loggingPropertiesDir, new String[0]);
+    }
+
+
+    // //////////////////////////////////////
+
+    /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
      */
     public List<String> getValidationErrors() {


[06/12] git commit: ISIS-793: just moving methods around in IsisWicketApplication (for config builder)

Posted by da...@apache.org.
ISIS-793: just moving methods around in IsisWicketApplication (for config builder)

... already protected visibility so can be overridden if required.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fe64d09c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fe64d09c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fe64d09c

Branch: refs/heads/master
Commit: fe64d09c1623afee37e830995442222ede523609
Parents: c3136bf
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:06:26 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:06:26 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 79 ++++++++++----------
 1 file changed, 41 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fe64d09c/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 259a0bd..b2a9f37 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -438,6 +438,47 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
                                 getCssResourceReferences)));
     }
 
+    // //////////////////////////////////////
+
+    private IsisConfigurationBuilder createConfigBuilder() {
+        return createConfigBuilder(getServletContext());
+    }
+
+    protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
+
+        final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
+        final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
+        final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
+        final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
+        final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
+
+        if ( configLocation != null ) {
+            LOG.info( "Config override location: " + configLocation );
+            compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
+        } else {
+            LOG.info( "Config override location: No override location configured!" );
+        }
+
+        final IsisConfigurationBuilder configurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
+
+        primeConfigurationBuilder(configurationBuilder, servletContext);
+        configurationBuilder.addDefaultConfigurationResources();
+
+        IsisWebAppBootstrapperUtil.addConfigurationResourcesForViewers(configurationBuilder, servletContext);
+        return configurationBuilder;
+    }
+
+    @SuppressWarnings("unchecked")
+    private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
+        final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
+        if (isisConfigurationBuilderPrimers == null) {
+            return;
+        }
+        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
+            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
+        }
+    }
+
 
     // //////////////////////////////////////
 
@@ -514,44 +555,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         return new IsisInjectModule(deploymentType, isisConfigurationBuilder);
     }
 
-    private IsisConfigurationBuilder createConfigBuilder() {
-        return createConfigBuilder(getServletContext());
-    }
-
-    protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
-        
-        final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
-        final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
-        final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
-        final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
-        final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
-
-        if ( configLocation != null ) {
-            LOG.info( "Config override location: " + configLocation );
-            compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
-        } else {
-            LOG.info( "Config override location: No override location configured!" );
-        }
-        
-        final IsisConfigurationBuilder configurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
-        
-        primeConfigurationBuilder(configurationBuilder, servletContext);
-        configurationBuilder.addDefaultConfigurationResources();
-        
-        IsisWebAppBootstrapperUtil.addConfigurationResourcesForViewers(configurationBuilder, servletContext);
-        return configurationBuilder;
-    }
-
-    @SuppressWarnings("unchecked")
-    private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
-        final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
-        if (isisConfigurationBuilderPrimers == null) {
-            return;
-        }
-        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
-            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
-        }
-    }
 
     protected void initWicketComponentInjection(final Injector injector) {
         getComponentInstantiationListeners().add(new GuiceComponentInjector(this, injector, false));


[08/12] git commit: ISIS-793: just moving methods around in IsisWicketApplication (CSS bundle)

Posted by da...@apache.org.
ISIS-793: just moving methods around in IsisWicketApplication (CSS bundle)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/813841a8
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/813841a8
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/813841a8

Branch: refs/heads/master
Commit: 813841a8e12a53d6c43ec08a0f3e63399a8c3ddc
Parents: a14d2d2
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 26 11:10:53 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 26 11:10:53 2014 +0100

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 104 ++++++++++---------
 1 file changed, 53 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/813841a8/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 3ff19bc..ae8c427 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -368,6 +368,57 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         }
     }
 
+
+    // //////////////////////////////////////
+
+    private IsisConfigurationBuilder createConfigBuilder() {
+        return createConfigBuilder(getServletContext());
+    }
+
+    protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
+
+        final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
+        final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
+        final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
+        final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
+        final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
+
+        if ( configLocation != null ) {
+            LOG.info( "Config override location: " + configLocation );
+            compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
+        } else {
+            LOG.info( "Config override location: No override location configured!" );
+        }
+
+        final IsisConfigurationBuilder configurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
+
+        primeConfigurationBuilder(configurationBuilder, servletContext);
+        configurationBuilder.addDefaultConfigurationResources();
+
+        IsisWebAppBootstrapperUtil.addConfigurationResourcesForViewers(configurationBuilder, servletContext);
+        return configurationBuilder;
+    }
+
+    @SuppressWarnings("unchecked")
+    private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
+        final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
+        if (isisConfigurationBuilderPrimers == null) {
+            return;
+        }
+        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
+            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
+        }
+    }
+
+    // //////////////////////////////////////
+
+    /**
+     * Override if required
+     */
+    protected Module newIsisWicketModule() {
+        return new IsisWicketModule();
+    }
+
     // //////////////////////////////////////
 
     /**
@@ -440,57 +491,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
 
     // //////////////////////////////////////
 
-    private IsisConfigurationBuilder createConfigBuilder() {
-        return createConfigBuilder(getServletContext());
-    }
-
-    protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
-
-        final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
-        final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
-        final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
-        final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
-        final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
-
-        if ( configLocation != null ) {
-            LOG.info( "Config override location: " + configLocation );
-            compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
-        } else {
-            LOG.info( "Config override location: No override location configured!" );
-        }
-
-        final IsisConfigurationBuilder configurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
-
-        primeConfigurationBuilder(configurationBuilder, servletContext);
-        configurationBuilder.addDefaultConfigurationResources();
-
-        IsisWebAppBootstrapperUtil.addConfigurationResourcesForViewers(configurationBuilder, servletContext);
-        return configurationBuilder;
-    }
-
-    @SuppressWarnings("unchecked")
-    private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
-        final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
-        if (isisConfigurationBuilderPrimers == null) {
-            return;
-        }
-        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
-            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
-        }
-    }
-
-    // //////////////////////////////////////
-
-    /**
-     * Override if required
-     */
-    protected Module newIsisWicketModule() {
-        return new IsisWicketModule();
-    }
-
-
-    // //////////////////////////////////////
-
     /**
      * The validation errors, if any, that occurred on {@link #init() startup}.
      */
@@ -564,6 +564,8 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         return new IsisInjectModule(deploymentType, isisConfigurationBuilder);
     }
 
+    // //////////////////////////////////////
+
 
     protected void initWicketComponentInjection(final Injector injector) {
         getComponentInstantiationListeners().add(new GuiceComponentInjector(this, injector, false));