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));