Author: jrthomerson
Date: Tue Mar 31 07:16:58 2009
New Revision: 760347

URL: http://svn.apache.org/viewvc?rev=760347&view=rev
Log:
addition of debug bar

Added:
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/IDebugBarContributor.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/SessionSizeDebugPanel.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.html
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.html
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/harddrive.png
   (with props)
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/remove.png
   (with props)
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.css
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket.png
   (with props)
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionSizeModel.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionTotalSizeModel.java
Modified:
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionView.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleApplication.java
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.html
    
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.java

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/IDebugBarContributor.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/IDebugBarContributor.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/IDebugBarContributor.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/IDebugBarContributor.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,11 @@
+package org.apache.wicket.devutils.debugbar;
+
+import java.io.Serializable;
+
+import org.apache.wicket.Component;
+
+public interface IDebugBarContributor extends Serializable {
+
+       Component createComponent(String id, WicketDebugBar debugBar);
+
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/SessionSizeDebugPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/SessionSizeDebugPanel.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/SessionSizeDebugPanel.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/SessionSizeDebugPanel.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,71 @@
+package org.apache.wicket.devutils.debugbar;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.ResourceReference;
+import org.apache.wicket.Session;
+import org.apache.wicket.devutils.inspector.LiveSessionsPage;
+import org.apache.wicket.devutils.inspector.SessionSizeModel;
+import org.apache.wicket.devutils.inspector.SessionTotalSizeModel;
+import org.apache.wicket.model.AbstractReadOnlyModel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.util.lang.Bytes;
+
+/**
+ * A panel for the debug bar that shows the session size and links to the page
+ * that shows more information about sessions.
+ * 
+ * @author Jeremy Thomerson <[email protected]>
+ */
+public class SessionSizeDebugPanel extends StandardDebugPanel {
+       private static final long serialVersionUID = 1L;
+
+       public static final IDebugBarContributor DEBUG_BAR_CONTRIB = new 
IDebugBarContributor() {
+               private static final long serialVersionUID = 1L;
+
+               public Component createComponent(String id, WicketDebugBar 
debugBar) {
+                       return new SessionSizeDebugPanel(id);
+               }
+
+       };
+
+       public SessionSizeDebugPanel(String id) {
+               super(id);
+       }
+
+       @Override
+       protected Class<? extends Page> getLinkPageClass() {
+               return LiveSessionsPage.class;
+       }
+       
+       @Override
+       protected ResourceReference getImageResourceReference() {
+               // TODO: need better image for this:
+               return new ResourceReference(SessionSizeDebugPanel.class,
+                               "harddrive.png");
+       }
+
+       @Override
+       protected IModel<String> getDataModel() {
+               return new AbstractReadOnlyModel<String>() {
+                       private static final long serialVersionUID = 1L;
+
+                       private IModel<Bytes> size = new 
SessionSizeModel(Session.get());
+                       private IModel<Bytes> totalSize = new 
SessionTotalSizeModel(Session
+                                       .get());
+
+                       @Override
+                       public String getObject() {
+                               return size.getObject() + " / " + 
totalSize.getObject();
+                       }
+
+                       @Override
+                       public void detach() {
+                               super.detach();
+                               size.detach();
+                               totalSize.detach();
+                       }
+               };
+       }
+
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.html
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.html?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.html
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.html
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,28 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You 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.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml"; >
+<head>
+</head>
+<body>
+ 
+       <wicket:panel>
+               <a href="#" wicket:id="link"><img wicket:id="img" /><span 
wicket:id="data"></span></a>
+       </wicket:panel>
+
+</body>
+</html>

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/StandardDebugPanel.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,45 @@
+package org.apache.wicket.devutils.debugbar;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.ResourceReference;
+import org.apache.wicket.devutils.DevUtilsPanel;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.image.Image;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.model.IModel;
+
+/**
+ * A standard looking debug panel with an img (optional) and a string of data,
+ * and the whole thing is a link.
+ * 
+ * @author Jeremy Thomerson <[email protected]>
+ */
+public abstract class StandardDebugPanel extends DevUtilsPanel {
+
+       private static final long serialVersionUID = 1L;
+
+       public StandardDebugPanel(String id) {
+               super(id);
+               BookmarkablePageLink<Void> link = createLink("link");
+               add(link);
+               ResourceReference img = getImageResourceReference();
+               if (img == null) {
+                       link.add(new 
WebMarkupContainer("img").setVisibilityAllowed(false));
+               } else {
+                       link.add(new Image("img", img));
+               }
+               link.add(new Label("data", getDataModel()));
+       }
+
+       protected BookmarkablePageLink<Void> createLink(String id) {
+               return new BookmarkablePageLink<Void>(id, getLinkPageClass());
+       }
+
+       protected abstract IModel<String> getDataModel();
+
+       protected abstract ResourceReference getImageResourceReference();
+
+       protected abstract Class<? extends Page> getLinkPageClass();
+
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.html
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.html?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.html
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.html
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,34 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You 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.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml"; >
+<head>
+</head>
+<body>
+ 
+       <wicket:panel>
+               <div id="wicketDebugBar">
+                       <a id="wicketDebugBarCollapse" 
onclick="wicketDebugBarCollapse();"><img wicket:id="logo" src="wicket.png" 
/></a>
+                       <span id="wicketDebugBarContents">
+                               <span wicket:id="contributors"><span 
wicket:id="contrib" class="debugPanel"></span></span>
+                               <a id="wicketDebugBarRemove" 
onclick="wicketDebugBarRemove();"><img wicket:id="removeImg" src="remove.png" 
/></a>
+                       </span>
+               </div>
+       </wicket:panel>
+
+</body>
+</html>

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/WicketDebugBar.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,87 @@
+package org.apache.wicket.devutils.debugbar;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.wicket.Application;
+import org.apache.wicket.MetaDataKey;
+import org.apache.wicket.ResourceReference;
+import org.apache.wicket.devutils.DevUtilsPanel;
+import org.apache.wicket.markup.html.CSSPackageResource;
+import org.apache.wicket.markup.html.JavascriptPackageResource;
+import org.apache.wicket.markup.html.image.Image;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+
+/**
+ * 
+ * @author Jeremy Thomerson <[email protected]>
+ */
+public class WicketDebugBar extends DevUtilsPanel {
+
+       private static final MetaDataKey<List<IDebugBarContributor>> 
CONTRIBS_META_KEY = new MetaDataKey<List<IDebugBarContributor>>() {
+               private static final long serialVersionUID = 1L;
+       };
+
+       static {
+               registerStandardContributors();
+       }
+
+       private static final long serialVersionUID = 1L;
+
+       public WicketDebugBar(String id) {
+               super(id);
+               
add(CSSPackageResource.getHeaderContribution(WicketDebugBar.class,
+                               "wicket-debugbar.css"));
+               add(JavascriptPackageResource.getHeaderContribution(
+                               WicketDebugBar.class, "wicket-debugbar.js"));
+               add(new Image("logo", new 
ResourceReference(WicketDebugBar.class,
+                               "wicket.png")));
+               add(new Image("removeImg", new 
ResourceReference(WicketDebugBar.class,
+                               "remove.png")));
+               List<IDebugBarContributor> contributors = getContributors();
+               if (contributors.isEmpty()) {
+                       // we do this so that if you have multiple applications 
running in the same container,
+                       //      each ends up registering its' own contributors 
(wicket-examples for example)
+                       registerStandardContributors();
+                       contributors = getContributors();
+               }
+               add(new ListView<IDebugBarContributor>("contributors", 
contributors) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void 
populateItem(ListItem<IDebugBarContributor> item) {
+                               
item.add(item.getModelObject().createComponent("contrib",
+                                               WicketDebugBar.this));
+                       }
+               });
+       }
+
+       /**
+        * Register your own custom contributor that will be part of the debug 
bar.
+        * You must have the context of an application for this thread at the 
time
+        * of calling this method.
+        * 
+        * @param contrib
+        *            custom contributor - can not be null
+        */
+       public static void registerContributor(IDebugBarContributor contrib) {
+               if (contrib == null) {
+                       throw new IllegalArgumentException("contrib can not be 
null");
+               }
+
+               List<IDebugBarContributor> contributors = getContributors();
+               contributors.add(contrib);
+               Application.get().setMetaData(CONTRIBS_META_KEY, contributors);
+       }
+
+       private static List<IDebugBarContributor> getContributors() {
+               List<IDebugBarContributor> list = Application.get().getMetaData(
+                               CONTRIBS_META_KEY);
+               return list == null ? new ArrayList<IDebugBarContributor>() : 
list;
+       }
+
+       private static void registerStandardContributors() {
+               registerContributor(SessionSizeDebugPanel.DEBUG_BAR_CONTRIB);   
        
+       }
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/harddrive.png
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/harddrive.png?rev=760347&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/harddrive.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/remove.png
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/remove.png?rev=760347&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/remove.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.css
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.css?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.css
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.css
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,17 @@
+#wicketDebugBar {
+       display: block;
+       height: 24px;
+       position: absolute;
+       right: 0;
+       top: 0;
+       background-color: #DDDDDD;
+       opacity: 0.8;
+       padding: 0px 10px 0px 5px;
+}
+#wicketDebugBar img {
+       margin: 4px 10px -3px 0px;
+}
+#wicketDebugBarRemove img {
+       margin-left: 10px;
+       margin-right: 0px;
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+function wicketDebugBarCollapse() {
+       wicketDebugBarToggleVisibility('wicketDebugBarContents');
+}
+
+function wicketDebugBarRemove() {
+       wicketDebugBarToggleVisibility('wicketDebugBar');
+}
+
+function wicketDebugBarToggleVisibility(elemID) {
+       var elem = document.getElementById(elemID);
+       var vis  = elem.style.display != 'none';
+       elem.style.display = (vis ? 'none' : '');
+}
\ No newline at end of file

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket.png
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket.png?rev=760347&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionSizeModel.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionSizeModel.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionSizeModel.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionSizeModel.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,28 @@
+package org.apache.wicket.devutils.inspector;
+
+import org.apache.wicket.Session;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.lang.Objects;
+
+public class SessionSizeModel extends LoadableDetachableModel<Bytes> {
+
+       private static final long serialVersionUID = 1L;
+
+       private Session session;
+
+       public SessionSizeModel(Session session) {
+               this.session = session;
+       }
+
+       @Override
+       protected Bytes load() {
+               return Bytes.bytes(Objects.sizeof(session));
+       }
+
+       @Override
+       protected void onDetach() {
+               super.onDetach();
+               this.session = null;
+       }
+}

Added: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionTotalSizeModel.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionTotalSizeModel.java?rev=760347&view=auto
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionTotalSizeModel.java
 (added)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionTotalSizeModel.java
 Tue Mar 31 07:16:58 2009
@@ -0,0 +1,27 @@
+package org.apache.wicket.devutils.inspector;
+
+import org.apache.wicket.Session;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.util.lang.Bytes;
+
+public class SessionTotalSizeModel extends LoadableDetachableModel<Bytes> {
+
+       private static final long serialVersionUID = 1L;
+
+       private Session session;
+
+       public SessionTotalSizeModel(Session session) {
+               this.session = session;
+       }
+
+       @Override
+       protected Bytes load() {
+               return Bytes.bytes(session.getSizeInBytes());
+       }
+
+       @Override
+       protected void onDetach() {
+               super.onDetach();
+               this.session = null;
+       }
+}

Modified: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionView.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionView.java?rev=760347&r1=760346&r2=760347&view=diff
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionView.java
 (original)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/SessionView.java
 Tue Mar 31 07:16:58 2009
@@ -25,9 +25,6 @@
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.util.lang.Bytes;
-import org.apache.wicket.util.lang.Objects;
 
 
 /**
@@ -55,26 +52,8 @@
                add(new Label("id", session.getId()));
                add(new Label("locale", session.getLocale().toString()));
                add(new Label("style", session.getStyle() == null ? "[None]" : 
session.getStyle()));
-               add(new Label("size", new Model<Bytes>()
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public Bytes getObject()
-                       {
-                               return Bytes.bytes(Objects.sizeof(session));
-                       }
-               }));
-               add(new Label("totalSize", new Model<Bytes>()
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public Bytes getObject()
-                       {
-                               return Bytes.bytes(session.getSizeInBytes());
-                       }
-               }));
+               add(new Label("size", new SessionSizeModel(session)));
+               add(new Label("totalSize", new SessionTotalSizeModel(session)));
 
                // Get pagemaps
                final List<IPageMap> pagemaps = session.getPageMaps();
@@ -95,4 +74,5 @@
                        }
                });
        }
+       
 }

Modified: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleApplication.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleApplication.java?rev=760347&r1=760346&r2=760347&view=diff
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleApplication.java
 (original)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleApplication.java
 Tue Mar 31 07:16:58 2009
@@ -63,6 +63,8 @@
                // box.
                getSecuritySettings().setCryptFactory(
                        new ClassCryptFactory(NoCrypt.class, 
ISecuritySettings.DEFAULT_ENCRYPTION_KEY));
+
+               getDebugSettings().setDevelopmentUtilitiesEnabled(true);
        }
 
        /**

Modified: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.html
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.html?rev=760347&r1=760346&r2=760347&view=diff
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.html
 (original)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.html
 Tue Mar 31 07:16:58 2009
@@ -1,7 +1,7 @@
 <html xmlns:wicket>
 <body>
   <wicket:panel>
-    <div wicket:id="hideInPortlet"><a href="index.html" style="color: #E9601A" 
target="_top"><img src="logo.png" /></a><span wicket:id="inspector"/></div>     
 
+    <div wicket:id="hideInPortlet"><a href="index.html" style="color: #E9601A" 
target="_top"><img src="logo.png" /></a><span wicket:id="inspector"/><div 
wicket:id="debug"></div></div>      
       <div id="titleblock" 
style="font-size:larger;height:1.5em;vertical-align:center;">
         <div style="float:left;"><span wicket:id="exampleTitle">Example Title 
Goes Here</span></div>
              <div style="float:right;padding-right:10px"><a href="#" 
wicket:id="sources">Source code</a></div>

Modified: 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.java?rev=760347&r1=760346&r2=760347&view=diff
==============================================================================
--- 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.java
 (original)
+++ 
wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket-examples/src/main/java/org/apache/wicket/examples/WicketExampleHeader.java
 Tue Mar 31 07:16:58 2009
@@ -18,6 +18,7 @@
 
 import org.apache.wicket.PageMap;
 import org.apache.wicket.RequestContext;
+import org.apache.wicket.devutils.debugbar.WicketDebugBar;
 import org.apache.wicket.devutils.inspector.InspectorBug;
 import org.apache.wicket.examples.source.SourcesPage;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -47,7 +48,6 @@
        public WicketExampleHeader(String id, String exampleTitle, WebPage page)
        {
                super(id);
-               
getApplication().getDebugSettings().setDevelopmentUtilitiesEnabled(true);
                WebMarkupContainer hideInPortlet = new 
WebMarkupContainer("hideInPortlet")
                {
                        /**
@@ -61,6 +61,7 @@
                };
                add(hideInPortlet);
                hideInPortlet.add(new InspectorBug("inspector", page));
+               hideInPortlet.add(new WicketDebugBar("debug"));
                add(new Label("exampleTitle", exampleTitle));
                BookmarkablePageLink<Void> link = new 
BookmarkablePageLink<Void>("sources",
                        SourcesPage.class, 
SourcesPage.generatePageParameters(page));


Reply via email to