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 2017/05/17 09:57:00 UTC
[1/7] isis git commit: ISIS-1613: renames default promptStyle
configuration property, and changes default to INLINE
Repository: isis
Updated Branches:
refs/heads/master 19b2962b6 -> 96813fabb
ISIS-1613: renames default promptStyle configuration property, and changes default to INLINE
property itself renamed from "isis.objects.promptStyle" to "isis.viewer.wicket.promptStyle"
default, if not specified using annotation/layout.xml, and config property not present, is now INLINE rather than DIALOG (so apps automatically updated to the new behaviour).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9853fc6d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9853fc6d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9853fc6d
Branch: refs/heads/master
Commit: 9853fc6d2b743fb762fb53b5c3f854b5490d7255
Parents: 19b2962
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 06:52:55 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 06:52:55 2017 +0100
----------------------------------------------------------------------
.../rgant/_rgant-ActionLayout_promptStyle.adoc | 4 ++--
.../rgant/_rgant-PropertyLayout_promptStyle.adoc | 4 ++--
.../guides/rgcfg/_rgcfg_configuring-core.adoc | 11 +----------
.../ugvw/_ugvw_configuration-properties.adoc | 8 ++++++++
.../apache/isis/applib/annotation/PromptStyle.java | 8 ++++----
.../promptStyle/PromptStyleConfiguration.java | 8 ++++----
.../promptStyle/PromptStyleFacetAsConfigured.java | 8 ++++----
.../settings/WicketViewerSettingsDefault.java | 7 +++++++
.../wicket/model/isis/WicketViewerSettings.java | 15 ++++++++++++++-
.../main/webapp/WEB-INF/viewer_wicket.properties | 17 ++++++++++++++---
10 files changed, 60 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_promptStyle.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_promptStyle.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_promptStyle.adoc
index bf1fbbb..4363633 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_promptStyle.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ActionLayout_promptStyle.adoc
@@ -7,8 +7,8 @@
The `promptStyle()` attribute is used to specify whether, when invoking an action associated with a domain object property, the parameters for the action are prompted by way of a dialog box, or is prompted using an inline panel (replacing the property on the page).
-If the attribute is not set, then thevalue of the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.objects.promptStyle` is used.
-If this is itself not set, then a dialog box is used.
+If the attribute is not set, then the value of the xref:../ugvw/ugvw.adoc#_ugvw_configuration-properties[configuration property] `isis.viewer.wicket.promptStyle` is used.
+If this is itself not set, then an inline prompt is used.
For example:
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_promptStyle.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_promptStyle.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_promptStyle.adoc
index 08b46ef..bcbe637 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_promptStyle.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_promptStyle.adoc
@@ -7,8 +7,8 @@
The `promptStyle()` attribute is used to specify whether, when editing a domain object property, the new value for the property is prompted by way of a dialog box, or is prompted using an inline panel (replacing the property on the page).
-If the attribute is not set, then the value of the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.objects.promptStyle` is used.
-If this is itself not set, then a dialog box is used.
+If the attribute is not set, then the value of the xref:../ugvw/ugvw.adoc#_ugvw_configuration-properties[configuration property] `isis.viewer.wicket.promptStyle` is used.
+If this is itself not set, then an inline prompt is used.
For example:
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
index 17f6ff9..72ae0a1 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
@@ -582,14 +582,6 @@ If enabled, this configuration property will ensure that domain services only de
|Whether objects' properties and collections can be edited directly (for objects annotated with xref:../rgant/rgant.adoc#_rgant-DomainObject_editing[`@DomainObject#editing()`]); see xref:../rgcfg/rgcfg.adoc#__rgcfg_configuring-core_isis-objects-editing[below] for further discussion.
-|`isis.objects.` +
-`promptStyle`
-|`dialog`,`inline` +
-(`dialog`)
-|(`1.15.0-SNAPSHOT`) whether the prompt for editing a domain object property is shown in a dialog box or inline within the form.
-Can be overridden on a property-by-property basis using xref:../rgant/rgant.adoc#_rgant-PropertyLayout_promptStyle[`@Property#promptStyle()`]).
-
-
|`isis.persistor.` +
`disable` +
`ConcurrencyChecking`
@@ -670,13 +662,12 @@ See xref:../ugbtb/ugbtb.adoc#_ugbtb_programming-model_layout-metadata-reader[Lay
-
-
|`isis.viewers.` +
`paged.parented`
|positive integer (12)
|Default page size for parented collections (as owned by an object, eg `Customer#getOrders()`)
+
|`isis.viewers.` +
`paged.standalone`
|positive integer (25)
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_configuration-properties.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_configuration-properties.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_configuration-properties.adoc
index 1de2b88..35ad690 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_configuration-properties.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_configuration-properties.adoc
@@ -135,6 +135,14 @@ for further details).
| Whether to disable a no-arg action button after it has been clicked, to prevent users causing an error if they do a double click.
|`isis.viewer.wicket.` +
+`promptStyle`
+|`dialog`,`inline` +
+(`inline`)
+|(`1.15.0-SNAPSHOT`) whether the prompt for editing a domain object property or invoking an action (associated with a property) is shown inline within the property's form, or instead shown in a modal dialog box.
+Can be overridden on a property-by-property basis using xref:../rgant/rgant.adoc#_rgant-PropertyLayout_promptStyle[`@Property#promptStyle()`]) or xref:../rgant/rgant.adoc#_rgant-ActionLayout_promptStyle[`@Action#promptStyle()`]).
+
+
+|`isis.viewer.wicket.` +
`redirectEvenIfSameObject`
| `true`,`false` +
(`_false_`)
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
index 46f4012..efe8664 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
@@ -21,17 +21,17 @@ package org.apache.isis.applib.annotation;
import javax.xml.bind.annotation.XmlType;
/**
- * How prompting for new values (property edit) should be performed
+ * How prompting for new values of a property/arguments for an action should be performed
*/
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum PromptStyle {
/**
- * Edit the property according to the default edit style policy configured in <tt>isis.properties</tt>.
+ * Prompt using the style configured by <tt>isis.viewer.wicket.promptStyle</tt>.
*
* <p>
- * If no editing style is configured, then {@link #DIALOG} is assumed.
+ * If no style is configured, then {@link #INLINE} is assumed.
* </p>
*/
AS_CONFIGURED,
@@ -40,7 +40,7 @@ public enum PromptStyle {
*/
DIALOG,
/**
- * Show the form inline, replacing the rendering of the property.
+ * Show the form inline, temporarily replacing the rendering of the property.
*/
INLINE
}
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
index f833a64..a38b9c2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
@@ -26,7 +26,7 @@ public class PromptStyleConfiguration {
private PromptStyleConfiguration() {}
- public static final String PROMPT_STYLE_KEY = "isis.objects.promptStyle";
+ public static final String PROMPT_STYLE_KEY = "isis.viewer.wicket.promptStyle";
public static PromptStyle parse(final IsisConfiguration configuration) {
final String configuredValue = configuration.getString(PROMPT_STYLE_KEY);
@@ -34,9 +34,9 @@ public class PromptStyleConfiguration {
}
private static PromptStyle parse(final String value) {
- return value != null && value.trim().equalsIgnoreCase(PromptStyle.INLINE.name())
- ? PromptStyle.INLINE
- : PromptStyle.DIALOG;
+ return value != null && value.trim().equalsIgnoreCase(PromptStyle.DIALOG.name())
+ ? PromptStyle.DIALOG
+ : PromptStyle.INLINE;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAsConfigured.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAsConfigured.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAsConfigured.java
index 722bc1d..e0a25da 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAsConfigured.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAsConfigured.java
@@ -24,14 +24,14 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
public class PromptStyleFacetAsConfigured extends PromptStyleFacetAbstract {
- private final PromptStyle editStyle;
+ private final PromptStyle promptStyle;
- public PromptStyleFacetAsConfigured(final PromptStyle editStyle, final FacetHolder holder) {
+ public PromptStyleFacetAsConfigured(final PromptStyle promptStyle, final FacetHolder holder) {
super(holder);
- this.editStyle = editStyle;
+ this.promptStyle = promptStyle;
}
@Override public PromptStyle value() {
- return editStyle;
+ return promptStyle;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
index 2da0dd4..6782fd9 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
@@ -21,7 +21,9 @@ package org.apache.isis.viewer.wicket.viewer.settings;
import com.google.inject.Singleton;
+import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
@@ -97,6 +99,11 @@ public class WicketViewerSettingsDefault implements WicketViewerSettings {
}
@Override
+ public PromptStyle getPromptStyle() {
+ return PromptStyleConfiguration.parse(getConfiguration());
+ }
+
+ @Override
public boolean isRedirectEvenIfSameObject() {
return getConfiguration().getBoolean("isis.viewer.wicket.redirectEvenIfSameObject", false);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
index 848d0d1..cd9b5ad 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.model.isis;
import java.io.Serializable;
+import org.apache.isis.applib.annotation.PromptStyle;
+
public interface WicketViewerSettings extends Serializable {
/**
@@ -102,10 +104,21 @@ public interface WicketViewerSettings extends Serializable {
boolean isUseIndicatorForNoArgAction();
/**
+ * Whether to use a modal dialog for property edits and for actions associated with properties.
+ * This can be overridden on a case-by-case basis using <code>@PropertyLayout#promptStyle</code> and
+ * <code>@ActionLayout#promptStyle</code>.
+ *
+ * This behaviour is disabled by default; the viewer will use an inline prompt in these cases, making for a smoother
+ * user experience. If enabled then this reinstates the pre-1.15.0 behaviour of using a dialog prompt in all cases.
+ */
+ PromptStyle getPromptStyle();
+
+ /**
* Whether to redirect to a new page, even if the object being shown (after an action invocation or a property edit)
* is the same as the previous page.
*
- * This behaviour is disable by default; the viewer will update the existing page if it can.
+ * This behaviour is disabled by default; the viewer will update the existing page if it can, making for a
+ * smoother user experience. If enabled then this reinstates the pre-1.15.0 behaviour of redirecting in all cases.
*/
boolean isRedirectEvenIfSameObject();
http://git-wip-us.apache.org/repos/asf/isis/blob/9853fc6d/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
index b85d0da..c51e860 100644
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/viewer_wicket.properties
@@ -1,4 +1,4 @@
-# Licensed to the Apache Software Foundation (ASF) under one
+ # 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
@@ -134,7 +134,18 @@ isis.viewer.wicket.themes.showChooser=true
#
+# specifies whether an INLINE or DIALOG prompt should be used for property edits and for action invocations (of actions
+# associated with a property). This is a fallback where not specified on a case-by-case using @PropertyLayout or
+# @ActionLayout (or equivalents in the Xxx.layout.xml file).
+#
+# If not specified then the default is an inline prompt.
+#
+#isis.viewer.wicket.promptStyle=INLINE
+
+
+#
# If set then reverts to pre-1.15.0 behaviour of redirecting to a new page on any action invocation or property edit.
-# If left to its default then the page will be updated if the same object is rendered, improving the user experience.
+# If left to its default then the page will be updated if the same object is rendered, making for a smoother user
+# experience.
#
-#isis.viewer.wicket.redirectEvenIfSameObject=false
\ No newline at end of file
+#isis.viewer.wicket.redirectEvenIfSameObject=false
[3/7] isis git commit: ISIS-1621: moves HsqlDbManagerMenu to applib
(from simpleapp)
Posted by da...@apache.org.
ISIS-1621: moves HsqlDbManagerMenu to applib (from simpleapp)
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/7c6d97b6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/7c6d97b6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/7c6d97b6
Branch: refs/heads/master
Commit: 7c6d97b6d53f9ce548f3c54786030d39463cd8eb
Parents: 503ce7b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 06:50:10 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 06:53:34 2017 +0100
----------------------------------------------------------------------
.../services/hsqldb/HsqlDbManagerMenu.java | 84 ++++++++++++++++++++
.../services/dbmanager/HsqlDbManagerMenu.java | 74 -----------------
2 files changed, 84 insertions(+), 74 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/7c6d97b6/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
new file mode 100644
index 0000000..48843ae
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package org.apache.isis.applib.services.hsqldb;
+
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+
+import com.google.common.base.Strings;
+
+import org.hsqldb.util.DatabaseManagerSwing;
+
+import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.applib.annotation.RestrictTo;
+import org.apache.isis.applib.annotation.SemanticsOf;
+
+@DomainService(
+ nature = NatureOfService.VIEW_MENU_ONLY,
+ objectType = "isisApplib.HsqlDbManagerMenu"
+)
+@DomainServiceLayout(
+ named = "Prototyping",
+ menuOrder = "500.800",
+ menuBar = DomainServiceLayout.MenuBar.SECONDARY
+)
+public class HsqlDbManagerMenu {
+
+
+ private String url;
+
+ @PostConstruct
+ public void init(Map<String,String> properties) {
+ this.url = properties.get("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL");
+ }
+
+
+ public static class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<HsqlDbManagerMenu>{}
+
+ @Action(
+ semantics = SemanticsOf.SAFE,
+ restrictTo = RestrictTo.PROTOTYPING,
+ domainEvent = ActionDomainEvent.class
+ )
+ @ActionLayout(
+ named = "HSQL DB Manager",
+ cssClassFa = "database"
+ )
+ public void hsqlDbManager() {
+ String[] args = {"--url", url, "--noexit" };
+ DatabaseManagerSwing.main(args);
+ }
+ public boolean hideHsqlDbManager() {
+ try {
+ // hsqldb is configured as optional in the applib's pom.xml
+ Thread.currentThread().getContextClassLoader().loadClass(DatabaseManagerSwing.class.getCanonicalName());
+ } catch (ClassNotFoundException e) {
+ return true;
+ }
+ return Strings.isNullOrEmpty(url) || !url.contains("hsqldb:mem");
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/7c6d97b6/example/application/simpleapp/application/src/main/java/domainapp/application/services/dbmanager/HsqlDbManagerMenu.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/application/src/main/java/domainapp/application/services/dbmanager/HsqlDbManagerMenu.java b/example/application/simpleapp/application/src/main/java/domainapp/application/services/dbmanager/HsqlDbManagerMenu.java
deleted file mode 100644
index 7d85cdc..0000000
--- a/example/application/simpleapp/application/src/main/java/domainapp/application/services/dbmanager/HsqlDbManagerMenu.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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.
- */
-package domainapp.application.services.dbmanager;
-
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-
-import com.google.common.base.Strings;
-
-import org.hsqldb.util.DatabaseManagerSwing;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.annotation.RestrictTo;
-import org.apache.isis.applib.annotation.SemanticsOf;
-
-@DomainService(
- nature = NatureOfService.VIEW_MENU_ONLY,
- objectType = "prototyping.HsqlDbManagerMenu"
-)
-@DomainServiceLayout(
- named = "Prototyping",
- menuOrder = "999",
- menuBar = DomainServiceLayout.MenuBar.SECONDARY
-)
-public class HsqlDbManagerMenu {
-
-
- private String url;
-
- @PostConstruct
- public void init(Map<String,String> properties) {
- this.url = properties.get("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL");
- }
-
-
- @Action(
- semantics = SemanticsOf.SAFE,
- restrictTo = RestrictTo.PROTOTYPING
- )
- @ActionLayout(
- named = "HSQL DB Manager",
- cssClassFa = "database"
- )
- public void hsqlDbManager() {
- String[] args = {"--url", url, "--noexit" };
- DatabaseManagerSwing.main(args);
- }
- public boolean hideHsqlDbManager() {
- return Strings.isNullOrEmpty(url) || !url.contains("hsqldb:mem");
- }
-
-
-}
[7/7] isis git commit: ISIS-1613: fixes unit tests
Posted by da...@apache.org.
ISIS-1613: fixes unit tests
from earlier commit changing promptStyle config property and fallback default
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/96813fab
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/96813fab
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/96813fab
Branch: refs/heads/master
Commit: 96813fabb80d18cab6d662bcafec2e1df6fae109
Parents: 281f25c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 10:53:24 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 10:56:50 2017 +0100
----------------------------------------------------------------------
...youtXmlLayoutAnnotationFacetFactoryTest.java | 2 +-
.../PromptStyleConfiguration_Test.java | 74 ---------
...itStyleFacetFromPropertyAnnotation_Test.java | 158 -------------------
.../PromptStyleConfiguration_Test.java | 74 +++++++++
...ptStyleFacetFromPropertyAnnotation_Test.java | 158 +++++++++++++++++++
5 files changed, 233 insertions(+), 233 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/96813fab/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
index 79ca4a1..b09a42f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
@@ -74,7 +74,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
will(returnValue(null));
- allowing(mockConfiguration).getString("isis.objects.promptStyle");
+ allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
will(returnValue(null));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/96813fab/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PromptStyleConfiguration_Test.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PromptStyleConfiguration_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PromptStyleConfiguration_Test.java
deleted file mode 100644
index 479e113..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PromptStyleConfiguration_Test.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.isis.core.metamodel.facets.properties.editstyle;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.is;
-
-public class PromptStyleConfiguration_Test {
-
- @Rule
- public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
- @Mock
- IsisConfiguration mockIsisConfiguration;
-
- @Test
- public void when_none() throws Exception {
- context.checking(new Expectations() {{
- oneOf(mockIsisConfiguration).getString("isis.objects.promptStyle");
- will(returnValue(null));
- }});
- PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
- Assert.assertThat(editStyle, is(PromptStyle.DIALOG));
- }
-
- @Test
- public void when_inline() throws Exception {
- context.checking(new Expectations() {{
- oneOf(mockIsisConfiguration).getString("isis.objects.promptStyle");
- will(returnValue("inline"));
- }});
- PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
- Assert.assertThat(editStyle, is(PromptStyle.INLINE));
- }
-
- @Test
- public void when_inline_mixed_case_and_superfluous_characters() throws Exception {
- context.checking(new Expectations() {{
- oneOf(mockIsisConfiguration).getString("isis.objects.promptStyle");
- will(returnValue(" inLIne "));
- }});
- PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
- Assert.assertThat(editStyle, is(PromptStyle.INLINE));
- }
-
- @Test
- public void when_dialog() throws Exception {
- context.checking(new Expectations() {{
- oneOf(mockIsisConfiguration).getString("isis.objects.promptStyle");
- will(returnValue("dialog"));
- }});
- PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
- Assert.assertThat(editStyle, is(PromptStyle.DIALOG));
- }
-
- @Test
- public void when_invalid() throws Exception {
- context.checking(new Expectations() {{
- oneOf(mockIsisConfiguration).getString("isis.objects.promptStyle");
- will(returnValue("garbage"));
- }});
- PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
- Assert.assertThat(editStyle, is(PromptStyle.DIALOG));
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/96813fab/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PropertyEditStyleFacetFromPropertyAnnotation_Test.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PropertyEditStyleFacetFromPropertyAnnotation_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PropertyEditStyleFacetFromPropertyAnnotation_Test.java
deleted file mode 100644
index f52091d..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/editstyle/PropertyEditStyleFacetFromPropertyAnnotation_Test.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.isis.core.metamodel.facets.properties.editstyle;
-
-import org.hamcrest.Matcher;
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.matchers.IsisMatchers;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetFallBack;
-import org.apache.isis.core.metamodel.facets.properties.propertylayout.PromptStyleFacetForPropertyLayoutAnnotation;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.nullValue;
-
-public class PropertyEditStyleFacetFromPropertyAnnotation_Test {
-
- @Rule
- public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
- @Mock
- IsisConfiguration mockConfiguration;
-
- @Mock
- FacetHolder mockFacetHolder;
-
- @Mock
- PropertyLayout mockPropertyLayout;
-
-
- public static class Create_Test extends PropertyEditStyleFacetFromPropertyAnnotation_Test {
-
- @Test
- public void when_annotated_with_dialog() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(PromptStyle.DIALOG));
-
- never(mockConfiguration);
- }});
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
- Assert.assertThat(facet.value(), is(PromptStyle.DIALOG));
- }
-
- @Test
- public void when_annotated_with_inline() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(PromptStyle.INLINE));
-
- never(mockConfiguration);
- }});
-
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
- Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
- }
-
- @Test
- public void when_annotated_with_as_configured() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(PromptStyle.AS_CONFIGURED));
-
- oneOf(mockConfiguration).getString("isis.objects.promptStyle");
- will(returnValue(PromptStyle.INLINE.name()));
-
- allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
- will(returnValue(false));
- }});
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetAsConfigured.class)));
- Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
- }
-
- @Test
- public void when_annotated_with_as_configured_but_already_has_doop_facet() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(PromptStyle.AS_CONFIGURED));
-
- oneOf(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
- will(returnValue(true));
-
- never(mockConfiguration);
- }});
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet, is(nullValue()));
- }
-
- @Test
- public void when_not_annotated() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(null));
-
- allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
- will(returnValue(false));
-
- never(mockConfiguration);
- }});
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet.value(), is(PromptStyle.DIALOG));
- Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetFallBack.class)));
- }
-
- @Test
- public void when_not_annotated_but_already_has_doop_facet() throws Exception {
-
- context.checking(new Expectations() {{
- allowing(mockPropertyLayout).promptStyle();
- will(returnValue(null));
-
- allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
- will(returnValue(true));
-
- never(mockConfiguration);
- }});
-
- PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
- .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
-
- Assert.assertThat(facet, is(nullValue()));
- }
-
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/96813fab/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java
new file mode 100644
index 0000000..b74d156
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java
@@ -0,0 +1,74 @@
+package org.apache.isis.core.metamodel.facets.properties.promptstyle;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
+import static org.hamcrest.CoreMatchers.is;
+
+public class PromptStyleConfiguration_Test {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ IsisConfiguration mockIsisConfiguration;
+
+ @Test
+ public void when_none() throws Exception {
+ context.checking(new Expectations() {{
+ oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue(null));
+ }});
+ PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
+ Assert.assertThat(editStyle, is(PromptStyle.INLINE));
+ }
+
+ @Test
+ public void when_inline() throws Exception {
+ context.checking(new Expectations() {{
+ oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue("inline"));
+ }});
+ PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
+ Assert.assertThat(editStyle, is(PromptStyle.INLINE));
+ }
+
+ @Test
+ public void when_inline_mixed_case_and_superfluous_characters() throws Exception {
+ context.checking(new Expectations() {{
+ oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue(" inLIne "));
+ }});
+ PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
+ Assert.assertThat(editStyle, is(PromptStyle.INLINE));
+ }
+
+ @Test
+ public void when_dialog() throws Exception {
+ context.checking(new Expectations() {{
+ oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue("dialog"));
+ }});
+ PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
+ Assert.assertThat(editStyle, is(PromptStyle.DIALOG));
+ }
+
+ @Test
+ public void when_invalid() throws Exception {
+ context.checking(new Expectations() {{
+ oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue("garbage"));
+ }});
+ PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
+ Assert.assertThat(editStyle, is(PromptStyle.INLINE));
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/96813fab/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
new file mode 100644
index 0000000..5deea3f
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
@@ -0,0 +1,158 @@
+package org.apache.isis.core.metamodel.facets.properties.promptstyle;
+
+import org.hamcrest.Matcher;
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.matchers.IsisMatchers;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
+import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
+import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetFallBack;
+import org.apache.isis.core.metamodel.facets.properties.propertylayout.PromptStyleFacetForPropertyLayoutAnnotation;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+
+public class PromptStyleFacetFromPropertyAnnotation_Test {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ IsisConfiguration mockConfiguration;
+
+ @Mock
+ FacetHolder mockFacetHolder;
+
+ @Mock
+ PropertyLayout mockPropertyLayout;
+
+
+ public static class Create_Test extends PromptStyleFacetFromPropertyAnnotation_Test {
+
+ @Test
+ public void when_annotated_with_dialog() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(PromptStyle.DIALOG));
+
+ never(mockConfiguration);
+ }});
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
+ Assert.assertThat(facet.value(), is(PromptStyle.DIALOG));
+ }
+
+ @Test
+ public void when_annotated_with_inline() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(PromptStyle.INLINE));
+
+ never(mockConfiguration);
+ }});
+
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
+ Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
+ }
+
+ @Test
+ public void when_annotated_with_as_configured() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(PromptStyle.AS_CONFIGURED));
+
+ oneOf(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
+ will(returnValue(PromptStyle.INLINE.name()));
+
+ allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
+ will(returnValue(false));
+ }});
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetAsConfigured.class)));
+ Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
+ }
+
+ @Test
+ public void when_annotated_with_as_configured_but_already_has_doop_facet() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(PromptStyle.AS_CONFIGURED));
+
+ oneOf(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
+ will(returnValue(true));
+
+ never(mockConfiguration);
+ }});
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet, is(nullValue()));
+ }
+
+ @Test
+ public void when_not_annotated() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(null));
+
+ allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
+ will(returnValue(false));
+
+ never(mockConfiguration);
+ }});
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
+ Assert.assertThat(facet, is((Matcher) IsisMatchers.anInstanceOf(PromptStyleFacetFallBack.class)));
+ }
+
+ @Test
+ public void when_not_annotated_but_already_has_doop_facet() throws Exception {
+
+ context.checking(new Expectations() {{
+ allowing(mockPropertyLayout).promptStyle();
+ will(returnValue(null));
+
+ allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
+ will(returnValue(true));
+
+ never(mockConfiguration);
+ }});
+
+ PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
+ .create(mockPropertyLayout, mockConfiguration, mockFacetHolder);
+
+ Assert.assertThat(facet, is(nullValue()));
+ }
+
+
+ }
+
+}
[5/7] isis git commit: ISIS-1613: fixes fallback for prompt style.
Posted by da...@apache.org.
ISIS-1613: fixes fallback for prompt style.
was not defaulting to INLINE, and also was not possible to replace the fallback if explicitly specified.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/756a4600
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/756a4600
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/756a4600
Branch: refs/heads/master
Commit: 756a4600219f27be2878eb1249fd86abe291d8e4
Parents: 1926179
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 09:48:39 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 09:48:39 2017 +0100
----------------------------------------------------------------------
.../org/apache/isis/core/metamodel/facetapi/FacetHolder.java | 5 +++++
.../apache/isis/core/metamodel/facetapi/FacetHolderImpl.java | 6 ++++++
.../layout/PromptStyleFacetForActionLayoutAnnotation.java | 2 +-
.../facets/object/promptStyle/PromptStyleFacetAbstract.java | 8 ++++++--
.../facets/object/promptStyle/PromptStyleFacetFallBack.java | 4 ++--
.../specloader/specimpl/ObjectActionParameterAbstract.java | 7 +++++++
.../metamodel/specloader/specimpl/ObjectMemberAbstract.java | 5 +++++
7 files changed, 32 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolder.java
index 60b1461..c448e8c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolder.java
@@ -56,6 +56,11 @@ public interface FacetHolder {
*/
boolean containsDoOpFacet(Class<? extends Facet> facetType);
+ /**
+ * As {@link #containsDoOpFacet(Class)}, which additional requirement that the
+ * facet is not {@link Facet#isDerived()}.
+ */
+ boolean containsDoOpNotDerivedFacet(Class<? extends Facet> facetType);
/**
* Returns all {@link Facet}s matching the specified {@link Filter}.
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java
index 4a0cf5f..03f46e9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java
@@ -44,6 +44,12 @@ public class FacetHolderImpl implements FacetHolder {
}
@Override
+ public boolean containsDoOpNotDerivedFacet(final Class<? extends Facet> facetType) {
+ final Facet facet = getFacet(facetType);
+ return facet != null && !facet.isNoop() && !facet.isDerived();
+ }
+
+ @Override
public void addFacet(final Facet facet) {
addFacet(facet.facetType(), facet);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
index 1361aa0..0656db8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
@@ -46,7 +46,7 @@ public class PromptStyleFacetForActionLayoutAnnotation extends PromptStyleFacetA
PromptStyle promptStyle = actionLayout != null? actionLayout.promptStyle() : null;
if(promptStyle == null) {
- if (holder.containsDoOpFacet(PromptStyleFacet.class)) {
+ if (holder.containsDoOpNotDerivedFacet(PromptStyleFacet.class)) {
// do not replace
return null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAbstract.java
index 9d1e3b7..0084f7f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetAbstract.java
@@ -31,8 +31,12 @@ public abstract class PromptStyleFacetAbstract extends FacetAbstract
return PromptStyleFacet.class;
}
- public PromptStyleFacetAbstract(final FacetHolder holder) {
- super( type(), holder, Derivation.NOT_DERIVED);
+ protected PromptStyleFacetAbstract(final FacetHolder holder) {
+ this( holder, Derivation.NOT_DERIVED);
+ }
+
+ protected PromptStyleFacetAbstract(final FacetHolder holder, final Derivation derivation) {
+ super( type(), holder, derivation);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBack.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBack.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBack.java
index 29f6074..7cb0e69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBack.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBack.java
@@ -25,11 +25,11 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
public class PromptStyleFacetFallBack extends PromptStyleFacetAbstract {
public PromptStyleFacetFallBack(final FacetHolder holder) {
- super(holder);
+ super(holder, Derivation.DERIVED);
}
@Override
public PromptStyle value() {
- return PromptStyle.DIALOG;
+ return PromptStyle.INLINE;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 89e48e6..f6cc3b1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -221,6 +221,13 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
}
@Override
+ public boolean containsDoOpNotDerivedFacet(final Class<? extends Facet> facetType) {
+ final FacetHolder facetHolder = getFacetHolder();
+ return facetHolder != null && facetHolder.containsDoOpNotDerivedFacet(facetType);
+ }
+
+
+ @Override
public <T extends Facet> T getFacet(final Class<T> cls) {
final FacetHolder facetHolder = getFacetHolder();
return facetHolder != null ? facetHolder.getFacet(cls) : null;
http://git-wip-us.apache.org/repos/asf/isis/blob/756a4600/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index 3d7dab1..b059bf9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -136,6 +136,11 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
}
@Override
+ public boolean containsDoOpNotDerivedFacet(final Class<? extends Facet> facetType) {
+ return getFacetHolder().containsDoOpNotDerivedFacet(facetType);
+ }
+
+ @Override
public <T extends Facet> T getFacet(final Class<T> cls) {
return getFacetHolder().getFacet(cls);
}
[6/7] isis git commit: ISIS-1613: fix rendering of inline prompt for
multiline string panel (ie notes)
Posted by da...@apache.org.
ISIS-1613: fix rendering of inline prompt for multiline string panel (ie notes)
should use a textarea, not a span
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/281f25c3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/281f25c3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/281f25c3
Branch: refs/heads/master
Commit: 281f25c31b619ed0ba87b442fed802fe32cbdd5b
Parents: 756a460
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 10:46:44 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 10:46:44 2017 +0100
----------------------------------------------------------------------
.../scalars/ScalarPanelAbstract2.java | 19 +++++++---
.../scalars/ScalarPanelTextFieldAbstract.html | 13 ++++++-
.../scalars/ScalarPanelTextFieldAbstract.java | 24 ++++++++++--
.../ScalarPanelTextFieldDatePickerAbstract.java | 8 ++--
.../scalars/ScalarPanelTextFieldNumeric.java | 2 +-
.../scalars/primitive/BooleanPanel.java | 2 +-
.../scalars/reference/ReferencePanel.java | 2 +-
.../scalars/string/MultiLineStringPanel.java | 39 ++++++++++----------
.../valuechoices/ValueChoicesSelect2Panel.java | 2 +-
9 files changed, 71 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index d74b644..5e93b65 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -267,7 +267,7 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
}
if(scalarModel.getKind() == ScalarModel.Kind.PROPERTY &&
scalarModel.getMode() == EntityModel.Mode.VIEW &&
- scalarModel.getPromptStyle() != PromptStyle.INLINE) {
+ (scalarModel.getPromptStyle() != PromptStyle.INLINE || !scalarModel.canEnterEditMode())) {
getScalarValueComponent().add(new AttributeAppender("tabindex", "-1"));
}
@@ -493,26 +493,33 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
}
private WebMarkupContainer createInlinePromptLink() {
- final IModel<?> inlineLinkModel = obtainPromptInlineLinkModel();
- if(inlineLinkModel == null) {
- throw new IllegalStateException(this.getClass().getName() + ": obtainPromptInlineLinkModel() returning null is not compatible with supportsInlinePrompt() returning true ");
+ final IModel<String> inlinePromptModel = obtainInlinePromptModel();
+ if(inlinePromptModel == null) {
+ throw new IllegalStateException(this.getClass().getName() + ": obtainInlinePromptModel() returning null is not compatible with supportsInlinePrompt() returning true ");
}
final WebMarkupContainer inlinePromptLink = new WebMarkupContainer(ID_SCALAR_VALUE_INLINE_PROMPT_LINK);
inlinePromptLink.setOutputMarkupId(true);
- final Label editInlineLinkLabel = new Label(ID_SCALAR_VALUE_INLINE_PROMPT_LABEL, inlineLinkModel);
+ final Component editInlineLinkLabel = createInlinePromptComponent(ID_SCALAR_VALUE_INLINE_PROMPT_LABEL,
+ inlinePromptModel
+ );
inlinePromptLink.add(editInlineLinkLabel);
return inlinePromptLink;
}
+ protected Component createInlinePromptComponent(
+ final String id, final IModel<String> inlinePromptModel) {
+ return new Label(id, inlinePromptModel);
+ }
+
// ///////////////////////////////////////////////////////////////////
/**
* Components returning true for {@link #getInlinePromptConfig()} are required to override and return a non-null value.
*/
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
return null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
index c827e7f..912809e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
@@ -42,9 +42,9 @@
<a href="#"
name="scalarValueInlinePromptLink"
- class="form-control input-sm scalarValueInlinePromptLink"
+ class="scalarValueInlinePromptLink"
wicket:id="scalarValueInlinePromptLink">
- <span wicket:id="scalarValueInlinePromptLabel"></span>
+ <wicket:container wicket:id="scalarValueInlinePromptLabel"/>
</a>
<wicket:container wicket:id="scalarValueContainer"/>
@@ -81,6 +81,15 @@
wicket:id="scalarValue" />
</wicket:fragment>
+ <wicket:fragment wicket:id="textInlinePrompt">
+ <span class="form-control input-sm" wicket:id="scalarValue"></span>
+ </wicket:fragment>
+
+ <wicket:fragment wicket:id="textareaInlinePrompt">
+ <textarea rows="10" maxlength="4000" class="form-control input-sm" wicket:id="scalarValue"></textarea>
+ </wicket:fragment>
+
+
<wicket:fragment wicket:id="textarea">
<textarea
name="scalarValue"
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 3e37b4a..c92a5e4 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -185,8 +185,25 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
return formGroup;
}
- protected Fragment createTextFieldFragment(String id) {
- return new Fragment(id, "text", ScalarPanelTextFieldAbstract.this);
+ private Fragment createTextFieldFragment(String id) {
+ return new Fragment(id, createTextFieldFragmentId(), this);
+ }
+
+ protected String createTextFieldFragmentId() {
+ return "text";
+ }
+
+ /**
+ * Overrides default to use a fragment, allowing the inner rendering to switch between a simple span
+ * or a textarea
+ */
+ protected Component createInlinePromptComponent(
+ final String id,
+ final IModel<String> inlinePromptModel) {
+ final Fragment fragment = new Fragment(id, "textInlinePrompt", this);
+ final Label label = new Label("scalarValue", inlinePromptModel);
+ fragment.add(label);
+ return fragment;
}
protected void addStandardSemantics() {
@@ -196,7 +213,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
addValidatorForIsisValidation();
}
-
private void addValidatorForIsisValidation() {
final ScalarModel scalarModel = getModel();
@@ -284,7 +300,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
}
@Override
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
IModel<T> model = textField.getModel();
// must be "live", for ajax updates.
return (IModel<String>) model;
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index 1b10b83..24d7db0 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -70,12 +70,12 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
return new TextFieldWithDateTimePicker<>(id, newTextFieldValueModel(), cls, converter);
}
+
@Override
- protected Fragment createTextFieldFragment(String id) {
- return new Fragment(id, "date", ScalarPanelTextFieldDatePickerAbstract.this);
+ protected String createTextFieldFragmentId() {
+ return "date";
}
-
protected Component createComponentForCompact() {
Fragment compactFragment = getCompactFragment(CompactType.SPAN);
final Label label = new Label(ID_SCALAR_IF_COMPACT, newTextFieldValueModel()) {
@@ -98,7 +98,7 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
return label;
}
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
return new Model<String>() {
@Override public String getObject() {
ObjectAdapter object = scalarModel.getObject();
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index 318fced..8701607 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -68,7 +68,7 @@ public abstract class ScalarPanelTextFieldNumeric<T extends Serializable> extend
return label;
}
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
ObjectAdapter object = scalarModel.getObject();
final T value = object != null ? (T) object.getObject() : null;
final String str =
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index a54a294..af136f4 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -109,7 +109,7 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
}
@Override
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
return new Model<String>() {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index c5804c3..a8b2c62 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -204,7 +204,7 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
}
@Override
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
final IModel<ObjectAdapterMemento> model = select2.getModel();
return new IModel<String>() {
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
index e6f06b3..b98793e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
@@ -24,6 +24,7 @@ import org.apache.wicket.Component;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.panel.Fragment;
+import org.apache.wicket.model.IModel;
import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet;
@@ -46,26 +47,36 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
@Override
protected AbstractTextComponent<String> createTextFieldForRegular(final String id) {
TextFieldStringModel model = new TextFieldStringModel(this);
- final TextArea<String> textField = new TextArea<String>(id, model);
+ final TextArea<String> textArea = new TextArea<String>(id, model);
+ setRowsAndMaxLengthAttributesOn(textArea);
+ return textArea;
+ }
+ private void setRowsAndMaxLengthAttributesOn(final TextArea<String> textField) {
final MultiLineFacet multiLineFacet = getModel().getFacet(MultiLineFacet.class);
setAttribute(textField, "rows", multiLineFacet.numberOfLines());
-
-
+
final Integer maxLength = getValueOf(getModel(), MaxLengthFacet.class);
if(maxLength != null) {
// in conjunction with javascript in jquery.isis.wicket.viewer.js
// see http://stackoverflow.com/questions/4459610/set-maxlength-in-html-textarea
setAttribute(textField, "maxlength", maxLength);
}
-
- return textField;
}
-
@Override
- protected Fragment createTextFieldFragment(String id) {
- return new Fragment(id, "textarea", MultiLineStringPanel.this);
+ protected String createTextFieldFragmentId() {
+ return "textarea";
+ }
+
+ protected Component createInlinePromptComponent(
+ final String id,
+ final IModel<String> inlinePromptModel) {
+ final Fragment fragment = new Fragment(id, "textareaInlinePrompt", this);
+ final TextArea<String> inlinePromptTextArea = new TextArea<>("scalarValue", inlinePromptModel);
+ setRowsAndMaxLengthAttributesOn(inlinePromptTextArea);
+ fragment.add(inlinePromptTextArea);
+ return fragment;
}
@Override
@@ -82,16 +93,4 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
return facet != null ? facet.value() : null;
}
-
- public int getNumberOfLines(final ScalarModel scalarModel) {
- final MultiLineFacet multiLineFacet = scalarModel.getFacet(MultiLineFacet.class);
- int numberOfLines = 1;
-
- if (multiLineFacet != null) {
- numberOfLines = multiLineFacet.numberOfLines();
- }
-
- return numberOfLines;
- }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/281f25c3/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index 756b5f7..f082954 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -103,7 +103,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract impleme
}
@Override
- protected IModel<String> obtainPromptInlineLinkModel() {
+ protected IModel<String> obtainInlinePromptModel() {
ObjectAdapterMemento modelObject = select2.getModelObject();
String str = modelObject != null ? modelObject.asString(): null;
return Model.of(str);
[2/7] isis git commit: ISIS-1621: updates applib's pom.xml to add in
optional dependency on hsqldb
Posted by da...@apache.org.
ISIS-1621: updates applib's pom.xml to add in optional dependency on hsqldb
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/503ce7b3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/503ce7b3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/503ce7b3
Branch: refs/heads/master
Commit: 503ce7b35ad0495a005ccfc5790a2ad05c2d1200
Parents: 9853fc6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 06:53:22 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 06:53:22 2017 +0100
----------------------------------------------------------------------
core/applib/pom.xml | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/503ce7b3/core/applib/pom.xml
----------------------------------------------------------------------
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 24833ad..d36a7ad 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -120,6 +120,12 @@
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <optional>true</optional>
+ </dependency>
+
<!-- DataNucleus' standard JDO support -->
<dependency>
<groupId>javax.jdo</groupId>
[4/7] isis git commit: ISIS-1617: removes inspector from the wicket
debug bar
Posted by da...@apache.org.
ISIS-1617: removes inspector from the wicket debug bar
also some minor tweaks in the CSS
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/19261797
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/19261797
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/19261797
Branch: refs/heads/master
Commit: 19261797dc52b66627f0a1f27c68a3b117d36381
Parents: 7c6d97b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 17 09:33:08 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 17 09:33:08 2017 +0100
----------------------------------------------------------------------
.../isis/viewer/wicket/ui/pages/PageAbstract.html | 2 +-
.../isis/viewer/wicket/ui/pages/PageAbstract.java | 16 +++++++++++++++-
.../viewer/wicket/ui/pages/bootstrap-overrides.css | 12 ++++++------
3 files changed, 22 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/19261797/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
index 3a67bc1..9785ed1 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.html
@@ -31,8 +31,8 @@
<wicket:header-items/>
</head>
<body>
- <div wicket:id="debugBar"></div>
<div id="container" class="page container-fluid">
+ <div wicket:id="debugBar"></div>
<div wicket:id="theme">
<wicket:container wicket:id="header"></wicket:container>
http://git-wip-us.apache.org/repos/asf/isis/blob/19261797/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index 3acf763..3318340 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.pages;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
@@ -32,6 +33,8 @@ import org.apache.wicket.Page;
import org.apache.wicket.RestartResponseAtInterceptPageException;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.devutils.debugbar.DebugBar;
+import org.apache.wicket.devutils.debugbar.IDebugBarContributor;
+import org.apache.wicket.devutils.debugbar.InspectorDebugPanel;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
@@ -234,7 +237,18 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
}
protected DebugBar newDebugBar(final String id) {
- return new DebugBar(id);
+ final DebugBar debugBar = new DebugBar(id);
+ final List<IDebugBarContributor> contributors = DebugBar.getContributors(getApplication());
+ for (Iterator<IDebugBarContributor> iterator = contributors.iterator(); iterator.hasNext(); ) {
+ final IDebugBarContributor contributor = iterator.next();
+ // the InspectorDebug invokes load on every model found.
+ // for ActionModels this has the rather unfortunate effect of invoking them!
+ // https://issues.apache.org/jira/browse/ISIS-1622 raised to refactor and then reinstate this
+ if(contributor == InspectorDebugPanel.DEBUG_BAR_CONTRIB) {
+ iterator.remove();
+ }
+ }
+ return debugBar;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/19261797/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index 7cd3221..4e1d63b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -925,23 +925,23 @@ tr.headers th form input {
}
*/
-#wicketDebugBar {
+#container.page #wicketDebugBar {
padding-top: 60px;
padding-bottom: 30px;
}
-#wicketDebugBar a#wicketDebugBarCollapse img {
+#container.page #wicketDebugBar a#wicketDebugBarCollapse img {
margin-top: 2px;
margin-right: 20px;
}
-#wicketDebugBar span#wicketDebugBarContents > span {
+#container.page #wicketDebugBar span#wicketDebugBarContents > span {
vertical-align: sub;
}
-#wicketDebugBar span.wicketversioncontrib {
+#container.page #wicketDebugBar span.wicketversioncontrib {
display: none;
}
-#wicketDebugBar span#wicketDebugBarContents a img {
+#container.page #wicketDebugBar span#wicketDebugBarContents a img {
margin-top: -5px;
}
-#wicketDebugBar span#wicketDebugBarContents a#wicketDebugBarRemove img {
+#container.page #wicketDebugBar span#wicketDebugBarContents a#wicketDebugBarRemove img {
margin-top: 2px;
}