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 2013/11/17 11:09:18 UTC
[1/3] git commit: ISIS-587: fixing bug that all strings shown as
textareas
Updated Branches:
refs/heads/master 60e80afd6 -> 62c91ddae
ISIS-587: fixing bug that all strings shown as textareas
Was not checking whether MultiLineFacet when present was a no-op or not,
with effect that (because of MultiLineFacetNone) all strings were being
shown as text areas.
Also:
- have added a @TypicalLength to ToDoItem#description, to illustrate its use.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c9460e42
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c9460e42
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c9460e42
Branch: refs/heads/master
Commit: c9460e42778be11066ef88d1337d13802c15e180
Parents: 60e80af
Author: Dan Haywood <da...@apache.org>
Authored: Sun Nov 17 09:17:34 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Nov 17 09:17:34 2013 +0000
----------------------------------------------------------------------
.../wicket/ui/components/scalars/string/StringPanelFactory.java | 5 +----
.../dom/src/main/java/dom/todo/ToDoItem.java | 4 +++-
2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c9460e42/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanelFactory.java
index 17eb3ce..cfa3e3f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanelFactory.java
@@ -19,8 +19,6 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.string;
-import com.google.common.collect.Lists;
-
import org.apache.wicket.Component;
import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
@@ -31,7 +29,6 @@ public class StringPanelFactory extends ComponentFactoryScalarAbstract {
private static final long serialVersionUID = 1L;
- @SuppressWarnings("rawtypes")
public StringPanelFactory() {
super(
StringPanel.class,
@@ -41,7 +38,7 @@ public class StringPanelFactory extends ComponentFactoryScalarAbstract {
@Override
public Component createComponent(final String id, final ScalarModel scalarModel) {
final MultiLineFacet multiLineFacet = scalarModel.getFacet(MultiLineFacet.class);
- if (multiLineFacet != null) {
+ if (multiLineFacet != null && !multiLineFacet.isNoop()) {
return new MultiLineStringPanel(id, scalarModel);
} else {
return new StringPanel(id, scalarModel);
http://git-wip-us.apache.org/repos/asf/isis/blob/c9460e42/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index 4ad7cec..0fa748e 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -59,6 +59,7 @@ import org.apache.isis.applib.annotation.RegEx;
import org.apache.isis.applib.annotation.Render;
import org.apache.isis.applib.annotation.Render.Type;
import org.apache.isis.applib.annotation.SortedBy;
+import org.apache.isis.applib.annotation.TypicalLength;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.util.ObjectContracts;
@@ -151,8 +152,9 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
private String description;
- @javax.jdo.annotations.Column(allowsNull="false", length=30)
+ @javax.jdo.annotations.Column(allowsNull="false", length=100)
@RegEx(validation = "\\w[@&:\\-\\,\\.\\+ \\w]*")
+ @TypicalLength(50)
public String getDescription() {
return description;
}
[2/3] git commit: ISIS-591, ISIS-589: loading javascript from footer
Posted by da...@apache.org.
ISIS-591, ISIS-589: loading javascript from footer
In addition, also bundling CSS of some other components.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/0d8076da
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/0d8076da
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/0d8076da
Branch: refs/heads/master
Commit: 0d8076dacf2709118108c3e1d070889f523b163c
Parents: c9460e4
Author: Dan Haywood <da...@apache.org>
Authored: Sun Nov 17 09:19:26 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Nov 17 09:19:26 2013 +0000
----------------------------------------------------------------------
.../wicket/viewer/IsisWicketApplication.java | 34 ++++++++++++++------
.../entity/properties/EntityPropertiesForm.java | 2 +-
.../widgets/cssmenu/CssMenuItemPanel.java | 2 +-
.../viewer/wicket/ui/pages/PageAbstract.html | 3 ++
.../viewer/wicket/ui/pages/PageAbstract.java | 11 +++++--
5 files changed, 37 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/0d8076da/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 32a933a..953106b 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
@@ -43,8 +43,9 @@ import org.apache.wicket.RuntimeConfigurationType;
import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
import org.apache.wicket.guice.GuiceComponentInjector;
-import org.apache.wicket.markup.html.IPackageResourceGuard;
-import org.apache.wicket.markup.html.SecurePackageResourceGuard;
+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;
@@ -82,14 +83,16 @@ 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.scalars.isisapplib.IsisBlobOrClobPanelAbstract;
+import org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel;
+import org.apache.isis.viewer.wicket.ui.components.entity.properties.EntityPropertiesForm;
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.pages.BookmarkedPagesModelProvider;
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;
-import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
import org.apache.isis.viewer.wicket.viewer.integration.isis.DeploymentTypeWicketAbstract;
import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServer;
import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServerPrototype;
@@ -236,13 +239,18 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
// must be done after injected componentFactoryRegistry into the app itself
buildCssBundle();
- IPackageResourceGuard guard = getResourceSettings().getPackageResourceGuard();
- if (guard instanceof SecurePackageResourceGuard)
+ // filters Javascript header contributions so rendered to bottom of page
+ setHeaderResponseDecorator(new IHeaderResponseDecorator()
{
- SecurePackageResourceGuard secureGuard = (SecurePackageResourceGuard) guard;
- secureGuard.addPattern("+org/apache/wicket/merged-resources");
- }
-
+ @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");
+ }
+ });
+
} catch(RuntimeException ex) {
// because Wicket's handling in its WicketFilter (that calls this method) does not log the exception.
LOG.error("Failed to initialize", ex);
@@ -284,6 +292,12 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
// 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));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/0d8076da/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
index 83c2e07..e4168cc 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
@@ -73,7 +73,7 @@ import org.apache.isis.viewer.wicket.ui.panels.FormAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
+public class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/isis/blob/0d8076da/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItemPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItemPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItemPanel.java
index 3c4628b..3a6792c 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItemPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItemPanel.java
@@ -24,7 +24,7 @@ import org.apache.wicket.model.Model;
/**
* Panel containing a single {@link CssMenuItem}.
*/
-class CssMenuItemPanel extends CssMenuItemPanelAbstract<CssMenuItemPanel.MyModel> {
+public class CssMenuItemPanel extends CssMenuItemPanelAbstract<CssMenuItemPanel.MyModel> {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/isis/blob/0d8076da/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
index b6ecb04..237cdc0 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
@@ -70,5 +70,8 @@
</div>
</div>
+ <div class="javascriptInFooter">
+ <wicket:container wicket:id="footerJS"></wicket:container>
+ </div>
</body>
</html>
http://git-wip-us.apache.org/repos/asf/isis/blob/0d8076da/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index d882b17..396196a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -35,6 +35,8 @@ import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
+import org.apache.wicket.markup.head.filter.FilteredHeaderItem;
+import org.apache.wicket.markup.head.filter.HeaderResponseContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.ExternalLink;
@@ -142,6 +144,9 @@ public abstract class PageAbstract extends WebPage {
addAboutLink();
add(new Label(ID_PAGE_TITLE, PageParameterNames.PAGE_TITLE.getStringFrom(pageParameters, applicationName)));
+ // ensure that all collected JavaScript contributions are loaded at the page footer
+ add(new HeaderResponseContainer("footerJS", "footerJS"));
+
} catch(RuntimeException ex) {
LOG.error("Failed to construct page, going back to sign in page", ex);
@@ -180,9 +185,9 @@ public abstract class PageAbstract extends WebPage {
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(Application.get().getJavaScriptLibrarySettings().getJQueryReference())));
- response.render(new PriorityHeaderItem(JavaScriptReferenceHeaderItem.forReference(JQUERY_JGROWL_JS)));
- response.render(new PriorityHeaderItem(JavaScriptReferenceHeaderItem.forReference(JQUERY_LIVEQUERY_JS)));
- response.render(new PriorityHeaderItem(JavaScriptReferenceHeaderItem.forReference(JQUERY_ISIS_WICKET_VIEWER_JS)));
+ response.render(JavaScriptReferenceHeaderItem.forReference(JQUERY_JGROWL_JS));
+ response.render(JavaScriptReferenceHeaderItem.forReference(JQUERY_LIVEQUERY_JS));
+ response.render(JavaScriptReferenceHeaderItem.forReference(JQUERY_ISIS_WICKET_VIEWER_JS));
final String feedbackMsg = JGrowlUtil.asJGrowlCalls(getMessageBroker());
if (!Strings.isNullOrEmpty(feedbackMsg)) {
[3/3] git commit: ISIS-587: fixing integ test for example quickstart
app
Posted by da...@apache.org.
ISIS-587: fixing integ test for example quickstart app
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/62c91dda
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/62c91dda
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/62c91dda
Branch: refs/heads/master
Commit: 62c91ddaed9ff26d9baab749a54f61a95ec6f650
Parents: 0d8076d
Author: Dan Haywood <da...@apache.org>
Authored: Sun Nov 17 10:07:45 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Nov 17 10:07:45 2013 +0000
----------------------------------------------------------------------
.../tests/props/ToDoItemTest_description.java | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/62c91dda/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
index 0411a90..5dadac7 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/tests/props/ToDoItemTest_description.java
@@ -77,15 +77,23 @@ public class ToDoItemTest_description extends ToDoIntegTest {
public void onlyJustShortEnough() throws Exception {
// when, then
- toDoItem.setDescription("123456789012345678901234567890");
+ toDoItem.setDescription(characters(100));
}
@Test
public void tooLong() throws Exception {
// when, then
- expectedExceptions.expectMessage("The value proposed exceeds the maximum length of 30");
- toDoItem.setDescription("1234567890123456789012345678901");
+ expectedExceptions.expectMessage("The value proposed exceeds the maximum length of 100");
+ toDoItem.setDescription(characters(101));
+ }
+
+ private static String characters(final int n) {
+ StringBuffer buf = new StringBuffer();
+ for(int i=0; i<n; i++) {
+ buf.append("a");
+ }
+ return buf.toString();
}
}
\ No newline at end of file