isis git commit: ISIS-1335: marks as ignored flaky TimeZone-sensitive tests.
Repository: isis Updated Branches: refs/heads/master bc700bee8 -> 6b4d0259b ISIS-1335: marks as ignored flaky TimeZone-sensitive tests. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/6b4d0259 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/6b4d0259 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/6b4d0259 Branch: refs/heads/master Commit: 6b4d0259b9d7f2115abc7bda577fb4c61bd6c7e0 Parents: bc700be Author: Dan Haywood Authored: Thu Jun 23 23:37:53 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 23:37:53 2016 +0100 -- .../facets/value/JavaSqlTimeValueSemanticsProviderTest.java | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/isis/blob/6b4d0259/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java -- diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java index 87010f3..93d18ce 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java @@ -25,6 +25,7 @@ import java.util.TimeZone; import org.jmock.Expectations; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.apache.isis.core.metamodel.facetapi.FacetHolder; @@ -67,18 +68,21 @@ public class JavaSqlTimeValueSemanticsProviderTest extends ValueSemanticsProvide setValue(value = new JavaSqlTimeValueSemanticsProvider(holder, mockServicesInjector)); } +@Ignore // flaky @Test public void testNewTime() { final String asEncodedString = value.toEncodedString(twoOClock); assertEquals("14000", asEncodedString); } +@Ignore // flaky @Test public void testAdd() { final Object newValue = value.add(twoOClock, 0, 0, 0, 1, 15); assertEquals("15:15:00", newValue.toString()); } +@Ignore // flaky @Test public void testAdd2() { final Object newValue = value.add(twoOClock, 0, 0, 0, 0, 0);
isis git commit: ISIS-1429: removes unused API - ObjectAction#promptForParameters
Repository: isis Updated Branches: refs/heads/master d48c5520a -> bc700bee8 ISIS-1429: removes unused API - ObjectAction#promptForParameters Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bc700bee Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bc700bee Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bc700bee Branch: refs/heads/master Commit: bc700bee80916eb6546d83b47e0862a2ba9ff9ae Parents: d48c552 Author: Dan Haywood Authored: Thu Jun 23 23:32:31 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 23:32:31 2016 +0100 -- .../metamodel/spec/feature/ObjectAction.java| 66 +--- .../specimpl/ObjectActionDefault.java | 4 -- 2 files changed, 30 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/bc700bee/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java -- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java index 9348f3e..d5838b1 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java @@ -52,11 +52,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification; public interface ObjectAction extends ObjectMember { - -// // -// semantics, realTarget, getOnType -// // - +//region > getSemantics, getOnType /** * The semantics of this action. */ @@ -67,19 +63,17 @@ public interface ObjectAction extends ObjectMember { * invoked upon. */ ObjectSpecification getOnType(); +//endregion -boolean promptForParameters(ObjectAdapter target); - -// // -// Type -// // +//region > getType, isPrototype ActionType getType(); -// // -// ReturnType -// // +boolean isPrototype(); +//endregion + +//region > ReturnType /** * Returns the specifications for the return type. */ @@ -91,9 +85,9 @@ public interface ObjectAction extends ObjectMember { */ boolean hasReturn(); -// // -// execute, executeWithRuleChecking -// // +//endregion + +//region > execute, executeWithRuleChecking /** * Invokes the action's method on the target object given the specified set @@ -120,10 +114,9 @@ public interface ObjectAction extends ObjectMember { ObjectAdapter[] parameters, final InteractionInitiatedBy interactionInitiatedBy); -// // -// valid -// // +//endregion +//region > isProposedArgumentSetValid /** * Whether the provided argument set is valid, represented as a {@link Consent}. @@ -133,9 +126,9 @@ public interface ObjectAction extends ObjectMember { ObjectAdapter[] proposedArguments, final InteractionInitiatedBy interactionInitiatedBy); -// // -// Parameters (declarative) -// // +//endregion + +//region > Parameters (declarative) /** * Returns the number of parameters used by this method. @@ -175,9 +168,9 @@ public interface ObjectAction extends ObjectMember { */ ObjectActionParameter getParameterByName(String paramName); -// // -// Parameters (per instance) -// // +//endregion + +//region > Parameters (per instance) /** * Returns the defaults references/values to be used for the action. @@ -192,8 +185,9 @@ public interface ObjectAction extends ObjectMember { final ObjectAdapter target, final InteractionInitiatedBy interactionInitiatedBy); +//endregion - +//region > setupBulkActionInvocationContext /** * internal API, called by {@link ActionInvocatio
[2/2] isis git commit: ISIS-1458: fixes issue whereby auditing could be incomplete
ISIS-1458: fixes issue whereby auditing could be incomplete for "non-trivial" updates where different but overlapping sets of properties of a given object are updated at different points in a single transaction. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d48c5520 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d48c5520 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d48c5520 Branch: refs/heads/master Commit: d48c5520ab955077612434f022ad5ae4a8da Parents: 98d7bac Author: Dan Haywood Authored: Thu Jun 23 23:25:41 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 23:25:41 2016 +0100 -- .../runtime/services/changes/ChangedObjectsServiceInternal.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/d48c5520/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java -- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java index ffd5721..d089168 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java @@ -132,7 +132,7 @@ public class ChangedObjectsServiceInternal implements WithTransactionScope { } if(enlistedObjectProperties.containsKey(aap)) { // already enlisted, so ignore -return; +continue; } PreAndPostValues papv = PreAndPostValues.pre(aap.getPropertyValue()); enlistedObjectProperties.put(aap, papv);
[1/2] isis git commit: ISIS-1335: fixes formatting of pom.xml for simpleapp's webapp module.
Repository: isis Updated Branches: refs/heads/master f84d86658 -> d48c5520a ISIS-1335: fixes formatting of pom.xml for simpleapp's webapp module. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/98d7bacb Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/98d7bacb Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/98d7bacb Branch: refs/heads/master Commit: 98d7bacb26c5855212288929025131cd2a518c3e Parents: f84d866 Author: Dan Haywood Authored: Thu Jun 23 23:24:32 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 23:24:32 2016 +0100 -- example/application/simpleapp/webapp/pom.xml | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/98d7bacb/example/application/simpleapp/webapp/pom.xml -- diff --git a/example/application/simpleapp/webapp/pom.xml b/example/application/simpleapp/webapp/pom.xml index 2d74be6..f7d0cf0 100644 --- a/example/application/simpleapp/webapp/pom.xml +++ b/example/application/simpleapp/webapp/pom.xml @@ -39,21 +39,19 @@ org.eclipse.jetty jetty-maven-plugin - org.codehaus.mojo build-helper-maven-plugin 1.8 - + - validate - -maven-version - +validate + +maven-version + - + - @@ -210,6 +208,7 @@ + eclipse-m2e
isis git commit: ISIS-1434: ensures that shiro Subject is logged out when user logs out via wicket viewer or RO viewer
Repository: isis Updated Branches: refs/heads/master e7d7ab5f3 -> f84d86658 ISIS-1434: ensures that shiro Subject is logged out when user logs out via wicket viewer or RO viewer This commit extends the Authenticator internal API to include a logout(...) method, called when the AuthenticationSession is closed. The AuthenticationManager#closeSession(...) is now called consistently by both the Wicket viewer and also Restful Objects viewer. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f84d8665 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f84d8665 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f84d8665 Branch: refs/heads/master Commit: f84d8665849d61d5d0865d1748c5148b318cf94c Parents: e7d7ab5 Author: Dan Haywood Authored: Thu Jun 23 19:11:40 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 19:11:40 2016 +0100 -- .../standard/AuthenticationManagerStandard.java | 4 ++ .../authentication/standard/Authenticator.java | 1 + .../standard/AuthenticatorAbstract.java | 6 +++ .../shiro/ShiroAuthenticatorOrAuthorizor.java | 50 +--- .../resources/UserResourceServerside.java | 2 +- .../wicket/AuthenticatedWebSessionForIsis.java | 4 ++ 6 files changed, 50 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/f84d8665/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java -- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java index fac9953..3540ce0 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java @@ -136,6 +136,10 @@ public class AuthenticationManagerStandard implements AuthenticationManager { @Programmatic @Override public void closeSession(final AuthenticationSession session) { +List authenticators = getAuthenticators(); +for (Authenticator authenticator : authenticators) { +authenticator.logout(session); +} userByValidationCode.remove(session.getValidationCode()); } http://git-wip-us.apache.org/repos/asf/isis/blob/f84d8665/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/Authenticator.java -- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/Authenticator.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/Authenticator.java index a9e113d..9dcd002 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/Authenticator.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/Authenticator.java @@ -44,4 +44,5 @@ public interface Authenticator extends ApplicationScopedComponent { */ AuthenticationSession authenticate(AuthenticationRequest request, String code); +void logout(AuthenticationSession session); } http://git-wip-us.apache.org/repos/asf/isis/blob/f84d8665/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstract.java -- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstract.java index 5268472..a6a275d 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstract.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstract.java @@ -85,6 +85,12 @@ public abstract class AuthenticatorAbstract implements Authenticator { */ protected abstract boolean isValid(AuthenticationRequest request); +@Override +public void logout(final AuthenticationSession session) { +// no-op +} + + //endregion //region > Injected (via constructor) http://git-wip-us.apache.org/repos/asf/isis/blob/f84d8665/core/security-shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java -- diff --git a/core/security-shiro/src/main/jav
isis git commit: ISIS-1435: fixes infinite recursion for updating()
Repository: isis Updated Branches: refs/heads/master 4dd4a435e -> e7d7ab5f3 ISIS-1435: fixes infinite recursion for updating() ... as demonstrated by public void updating() { setName(getName() + " - updating"; } We now only call the updating() callback, and also the domain event lifecycle callback, if it hasn't previously been called. We figure that out by looking asking the ChangedObjectsService (new API) as to whether the object was previously changed or not (if so, then don't fire the callbacks). Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e7d7ab5f Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e7d7ab5f Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e7d7ab5f Branch: refs/heads/master Commit: e7d7ab5f3a578f7c5434e2694c2fad8f2f97a2e0 Parents: 4dd4a43 Author: Dan Haywood Authored: Thu Jun 23 18:42:03 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 18:42:03 2016 +0100 -- .../changes/ChangedObjectsServiceInternal.java | 24 +--- .../system/persistence/PersistenceSession.java | 11 +++-- 2 files changed, 20 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/e7d7ab5f/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java -- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java index 9aa6d63..ffd5721 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/changes/ChangedObjectsServiceInternal.java @@ -24,7 +24,6 @@ import java.util.Set; import javax.enterprise.context.RequestScoped; -import com.google.common.base.Predicate; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -33,11 +32,12 @@ import org.apache.isis.applib.annotation.NatureOfService; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.applib.annotation.PublishedObject; import org.apache.isis.applib.services.HasTransactionId; +import org.apache.isis.applib.services.WithTransactionScope; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; +import org.apache.isis.core.metamodel.spec.ObjectSpecification; import org.apache.isis.core.metamodel.spec.feature.Contributed; import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; -import org.apache.isis.applib.services.WithTransactionScope; @DomainService(nature = NatureOfService.DOMAIN) @RequestScoped @@ -66,6 +66,12 @@ public class ChangedObjectsServiceInternal implements WithTransactionScope { // used for publishing private final Map changeKindByEnlistedAdapter = Maps.newLinkedHashMap(); +@Programmatic +public boolean isEnlisted(ObjectAdapter adapter) { +return changeKindByEnlistedAdapter.containsKey(adapter); +} + + /** * Auditing and publishing support: for object stores to enlist an object that has just been created, * capturing a dummy value '[NEW]' for the pre-modification value. @@ -172,9 +178,6 @@ public class ChangedObjectsServiceInternal implements WithTransactionScope { /** - * - * @param adapter - * @param current * @return true if successfully enlisted, false if was already enlisted */ private boolean enlistForPublishing(final ObjectAdapter adapter, final PublishedObject.ChangeKind current) { @@ -247,15 +250,10 @@ public class ChangedObjectsServiceInternal implements WithTransactionScope { Sets.filter(processedObjectProperties1.entrySet(), PreAndPostValues.Predicates.CHANGED)); } -private static final Predicate IS_TRANSACTION_ID = new Predicate() { -@Override -public boolean apply(ObjectAdapter input) { -return HasTransactionId.class.isAssignableFrom(input.getSpecification().getCorrespondingClass()); -} -}; - protected boolean shouldIgnore(final ObjectAdapter adapter) { -return IS_TRANSACTION_ID.apply(adapter); +final ObjectSpecification adapterSpec = adapter.getSpecification(); +final Class adapterClass = adapterSpec.getCorrespondingClass(); +return HasTransactionId.class.isAssignableFrom(adapterClass); } http://git-wip-us.apache.org/repos/asf/isis/blob/e7d7ab5f/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java ---
[isis] Git Push Summary
Repository: isis Updated Branches: refs/heads/ISIS-1343 [deleted] 0689936cd
[isis] Git Push Summary
Repository: isis Updated Branches: refs/heads/ISIS-1427 [deleted] 3dffc2d96
[isis] Git Push Summary
Repository: isis Updated Branches: refs/heads/ISIS-1446_pr-47 [deleted] 684431275
isis git commit: ISIS-1335: fixes time-zone sensitive unit test.
Repository: isis Updated Branches: refs/heads/master a98cbfdd6 -> 4dd4a435e ISIS-1335: fixes time-zone sensitive unit test. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4dd4a435 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4dd4a435 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4dd4a435 Branch: refs/heads/master Commit: 4dd4a435ea4a89dc77c31a1963b4ee22f51c147d Parents: a98cbfd Author: Dan Haywood Authored: Thu Jun 23 17:08:47 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 17:08:47 2016 +0100 -- .../facets/value/JavaSqlTimeValueSemanticsProviderTest.java | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/4dd4a435/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java -- diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java index 999cf9fa..87010f3 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java @@ -19,10 +19,9 @@ package org.apache.isis.core.metamodel.facets.value; -import static org.junit.Assert.assertEquals; - import java.sql.Time; import java.util.Calendar; +import java.util.TimeZone; import org.jmock.Expectations; import org.junit.Before; @@ -32,6 +31,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.value.timesql.JavaSqlTimeValueSemanticsProvider; +import static org.junit.Assert.assertEquals; + public class JavaSqlTimeValueSemanticsProviderTest extends ValueSemanticsProviderAbstractTestCase { private Time twoOClock; @@ -48,7 +49,7 @@ public class JavaSqlTimeValueSemanticsProviderTest extends ValueSemanticsProvide }); final Calendar c = Calendar.getInstance(); -// c.setTimeZone(TestClock.timeZone); +c.setTimeZone(TimeZone.getTimeZone("GMT")); c.set(Calendar.MILLISECOND, 0);
[5/8] isis git commit: ISIS-1454: fixes serialization issue
ISIS-1454: fixes serialization issue The anonymous class implementation of Provider (to support lazy provision of the selectorDropDown) was not serializable, leading to the usual Wicket complaining. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f58e72ec Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f58e72ec Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f58e72ec Branch: refs/heads/master Commit: f58e72ec2870cf19dca43b7c9443b8e31445877f Parents: 44d4b2e Author: Dan Haywood Authored: Thu Jun 23 14:39:47 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 14:39:47 2016 +0100 -- .../collection/EntityCollectionPanel.java | 32 +++- 1 file changed, 18 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/f58e72ec/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java -- diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java index 55f0d84..ff9fe6d 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java @@ -19,6 +19,17 @@ package org.apache.isis.viewer.wicket.ui.components.entity.collection; +import java.io.Serializable; +import java.util.List; + +import javax.inject.Provider; + +import org.apache.wicket.Component; +import org.apache.wicket.behavior.AttributeAppender; +import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.model.Model; + import org.apache.isis.applib.annotation.Where; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.consent.Consent; @@ -39,14 +50,6 @@ import org.apache.isis.viewer.wicket.ui.panels.HasDynamicallyVisibleContent; import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract; import org.apache.isis.viewer.wicket.ui.util.Components; import org.apache.isis.viewer.wicket.ui.util.CssClassAppender; -import org.apache.wicket.Component; -import org.apache.wicket.behavior.AttributeAppender; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.model.Model; - -import javax.inject.Provider; -import java.util.List; /** * {@link PanelAbstract Panel} representing the properties of an entity, as per @@ -77,12 +80,7 @@ public class EntityCollectionPanel extends PanelAbstract implements } Provider getSelectorDropdownPanel() { -return new Provider() { -@Override -public Component get() { -return selectorDropdownPanel; -} -}; +return new SelectorDropDownPanelProvider(); } /** @@ -179,4 +177,10 @@ public class EntityCollectionPanel extends PanelAbstract implements return visible; } +private class SelectorDropDownPanelProvider implements Provider, Serializable { +@Override +public Component get() { +return selectorDropdownPanel; +} +} }
[1/8] isis git commit: ISIS-1335: fix bad link in docs.
Repository: isis Updated Branches: refs/heads/master 0ab02c23a -> a98cbfdd6 ISIS-1335: fix bad link in docs. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/aa83770e Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/aa83770e Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/aa83770e Branch: refs/heads/master Commit: aa83770e053df2c4fae7c825e46b9edc5d3b4e61 Parents: 0ab02c2 Author: Dan Haywood Authored: Thu Jun 23 14:22:17 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 14:22:17 2016 +0100 -- .../documentation/src/main/asciidoc/guides/_dg_building-isis.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/aa83770e/adocs/documentation/src/main/asciidoc/guides/_dg_building-isis.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/_dg_building-isis.adoc b/adocs/documentation/src/main/asciidoc/guides/_dg_building-isis.adoc index 66d059b..919081e 100644 --- a/adocs/documentation/src/main/asciidoc/guides/_dg_building-isis.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/_dg_building-isis.adoc @@ -141,8 +141,7 @@ For further reading, see: Apache Isis is compatible with Java 7 and Java 8. For every-day use, the framework is usually compiled against Java 8. -Releases however are xref:_cgcom_cutting-a-release[cut] using Java 7, leveraging the link -:http://maven.apache.org/plugins/maven-toolchains-plugin/[Maven toolchains plugin]). +Releases however are xref:_cgcom_cutting-a-release[cut] using Java 7, leveraging the link:http://maven.apache.org/plugins/maven-toolchains-plugin/[Maven toolchains plugin]). Therefore install either/both of Java 7 JDK and Java 8 JDK. Note that the JRE is _not_ sufficient.
[6/8] isis git commit: ISIS-1359: enables autocomplete methods to be annotated as @Programmatic.
ISIS-1359: enables autocomplete methods to be annotated as @Programmatic. This is done by working directly with the Java reflection API, rather than through the Isis metamodel. In addition: - adds metamodel validation to ensure that the specified repository and method exist. - updates documentation. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fbf5a459 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fbf5a459 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fbf5a459 Branch: refs/heads/master Commit: fbf5a459da5dddebbe49bd33093ab120cfa6c2d5 Parents: f58e72e Author: Dan Haywood Authored: Thu Jun 23 15:00:04 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 15:00:04 2016 +0100 -- ...ant-DomainObject_autoCompleteRepository.adoc | 22 +++- .../autocomplete/AutoCompleteFacetAbstract.java | 116 --- .../DomainObjectAnnotationFacetFactory.java | 100 ++-- ...oCompleteFacetForAutoCompleteAnnotation.java | 32 + ...oCompleteFacetForDomainObjectAnnotation.java | 38 ++ .../scalars/reference/ReferencePanel.java | 29 +++-- 6 files changed, 163 insertions(+), 174 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/fbf5a459/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc index 54d035c..850d0c8 100644 --- a/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc @@ -6,7 +6,8 @@ -The `autoCompleteRepository()` attribute nominates a single method on a domain service as the fallback means for lookuping up instances of the domain object using a simple string. +The `autoCompleteRepository()` attribute nominates a single method on a domain service as the fallback means for +looking up instances of the domain object using a simple string. For example, this might search for a customer by their name or number. Or it could search for a country based on its ISO-3 code or user-friendly name. @@ -68,11 +69,28 @@ where in this case `findByName` might be an existing action already defined: @DomainService(natureOfService=VIEW_MENU_ONLY) public class Customers { @Action(semantics=SemanticsOf.SAFE) -List findByName(@ParameterLayout(named="name") String name); +public List findByName( +@Parameter(minLength=3) // <1> +@ParameterLayout(named="name") +String name); ... } +<1> end-user must enter minimum number of characters to trigger the query +(As of `1.13.0-SNAPSHOT`), the autocomplete action can also be a regular method, annotated using xref:rgant.adoc#_rgant_Programmatic[`@Programmatic`]: + +[source,java] + +@DomainService(natureOfService=VIEW_MENU_ONLY) +public class Customers { +@Programmatic +public List findByName( +@Parameter(minLength=3) +String name); +... +} + [IMPORTANT] http://git-wip-us.apache.org/repos/asf/isis/blob/fbf5a459/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java -- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java index dd0bfef..3e9bc47 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java @@ -19,6 +19,7 @@ package org.apache.isis.core.metamodel.facets.object.autocomplete; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Collections; import java.util.List; @@ -32,58 +33,40 @@ import org.apache.isis.core.metamodel.deployment.DeploymentCategory; import org.apache.isis.core.metamodel.facetapi.Facet; import org.apache.isis.core.metamodel.facetapi.FacetAbstract; import org.apache.isis.core.metamodel.facetapi.FacetHolder; -import org.apache.isis.core.metamodel.facets.ImperativeFacet; -import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet; import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFa
[7/8] isis git commit: ISIS-1457: changes PoWriter so that on shutdown it no longer logs if there were any metamodel validation exceptions.
ISIS-1457: changes PoWriter so that on shutdown it no longer logs if there were any metamodel validation exceptions. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cd41cea5 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cd41cea5 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cd41cea5 Branch: refs/heads/master Commit: cd41cea5f7b79465e1c17dc7b9877fd3b17a66cc Parents: fbf5a45 Author: Dan Haywood Authored: Thu Jun 23 16:47:07 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 16:47:07 2016 +0100 -- .../apache/isis/core/runtime/services/i18n/po/PoWriter.java | 9 + 1 file changed, 9 insertions(+) -- http://git-wip-us.apache.org/repos/asf/isis/blob/cd41cea5/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoWriter.java -- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoWriter.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoWriter.java index 3fdd34f..4ae4b93 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoWriter.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoWriter.java @@ -26,6 +26,7 @@ import org.joda.time.LocalDateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.isis.applib.services.i18n.TranslationService; +import org.apache.isis.core.runtime.system.context.IsisContext; class PoWriter extends PoAbstract { @@ -51,6 +52,14 @@ class PoWriter extends PoAbstract { @Override void shutdown() { +if(IsisContext.getMetaModelInvalidExceptionIfAny() != null) { +// suppress logging translations +return; +} +logTranslations(); +} + +private void logTranslations() { final StringBuilder buf = new StringBuilder(); buf.append("\n");
[4/8] isis git commit: ISIS-1455: improves bootstrapping in event of an invalid metamodel exception.
ISIS-1455: improves bootstrapping in event of an invalid metamodel exception. IsisSessionFactoryBuilder now always completes the initialization (of the authenticationManager, authorizationManadater and persistenceSessionFactory) even in the case of invalid metamodel. This means that any custom implementations of SPI services, eg ThemeProvider - do not need special case logic as to whether the framework is properly or only half initialized. Instead, in WebRequestCycleForIsis, we use the "onRequestHandlerResolved" callback hoop (previously not overridden) to throw the MetaModelInvalidException if need be (but peeking inside first to ensure that we're not already on the way to rendering an error page) In addition: - no need to hold the list of validation errors on the IsisWicketApplication, can simply use IsisContext#getMetaModelValidationExceptionIfAny() - to support this, added overloaded constructor to MmvErrorPage - added isInitialized() method on PersistenceSessionFactory (though not actually used elsewhere in this implementation). - IsisSignInPanel no longer uses doInSession for its setVisibilityAllowedBasedOnAvailableServices(...) (though this is just a simplfication of code, and would still be fine to have left it as is). Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/44d4b2e5 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/44d4b2e5 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/44d4b2e5 Branch: refs/heads/master Commit: 44d4b2e505ef9bf596f807f78d06f64f6ce60b00 Parents: 762c068 Author: Dan Haywood Authored: Thu Jun 23 14:38:01 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 14:38:01 2016 +0100 -- .../persistence/PersistenceSessionFactory.java | 5 +++ .../session/IsisSessionFactoryBuilder.java | 25 .../wicket/viewer/IsisWicketApplication.java| 14 +-- .../wicket/WebRequestCycleForIsis.java | 41 .../wicket/ui/pages/login/IsisSignInPanel.java | 23 +-- .../wicket/ui/pages/mmverror/MmvErrorPage.java | 7 6 files changed, 73 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/44d4b2e5/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java -- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java index d5e1118..4504548 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java @@ -76,6 +76,11 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi this.applicationComponents = createDataNucleusApplicationComponents(configuration, specificationLoader); } +@Programmatic +public boolean isInitialized() { +return this.applicationComponents != null; +} + private DataNucleusApplicationComponents createDataNucleusApplicationComponents( final IsisConfiguration configuration, final SpecificationLoader specificationLoader) { http://git-wip-us.apache.org/repos/asf/isis/blob/44d4b2e5/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java -- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java index b675988..26a8ef9 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java @@ -177,14 +177,6 @@ public class IsisSessionFactoryBuilder { specificationLoader.validateAndAssert(); -// remaining functionality only done if metamodel is valid. -authenticationManager.init(deploymentCategory); -authorizationManager.init(deploymentCategory); - -persistenceSessionFactory.init(specificationLoader); - -isisSessionFactory.constructServices(); - } catch (final MetaModelInvalidException ex) { // no need to use a higher level, such as error(...); the calling code will expose any metamodel // validation errors in their own particular way. @@ -195,6 +1
[3/8] isis git commit: ISIS-1335: fixes bad link in documentation of ServiceRegistry, also incorrect code tags in the unit test docs.
ISIS-1335: fixes bad link in documentation of ServiceRegistry, also incorrect code tags in the unit test docs. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/762c068b Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/762c068b Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/762c068b Branch: refs/heads/master Commit: 762c068b2925d1bab55d18e06b8e04ceafc2066a Parents: 41dfc9f Author: Dan Haywood Authored: Thu Jun 23 14:24:27 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 14:24:27 2016 +0100 -- .../src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc | 3 ++- .../asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/762c068b/adocs/documentation/src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc index 7553252..a3c2928 100644 --- a/adocs/documentation/src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/_rgsvc_api_ServiceRegistry.adoc @@ -31,7 +31,8 @@ public interface ServiceRegistry2 { <3> returns an `Iterable` in order to iterate over all registered services that implement the specified class <4> (`1.13.0-SNAPSHOT`) returns the list of all domain services that constitute the running application (including internal domain services). -Service injection is done automatically if objects are created using the .adoc#_rgsvc_api_FactoryService[`FactoryService`] +Service injection is done automatically if objects are created using the +xref:rgsvc.adoc#_rgsvc_api_FactoryService[`FactoryService`]. http://git-wip-us.apache.org/repos/asf/isis/blob/762c068b/adocs/documentation/src/main/asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc index 3109581..1b34bd7 100644 --- a/adocs/documentation/src/main/asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/_ugtst_unit-test-support_contract-tests.adoc @@ -37,7 +37,7 @@ public class SomeDomainObject { If using DataNucleus against an RDBMS (as you probably are) then we strongly recommend that you implement this test, for several reasons: -* first, ``Set``s align more closely to the relational model than do `List`s. A `List` must have an additional index to specify order. +* first, ``Set``s align more closely to the relational model than do ``List``s. A ``List`` must have an additional index to specify order. * second, `SortedSet` is preferable to `Set` because then the order is well-defined and predictable (to an end user, to the programmer). + +
[8/8] isis git commit: ISIS-1455: improves visibility of metamodel validation exceptions when running integration tests.
ISIS-1455: improves visibility of metamodel validation exceptions when running integration tests. Modifies IsisSystemForTest so that if there are metamodel validation exceptions, then these are summarized and printed as part of the immediate fail() that is thrown when the integtest harness is bootstrapping. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a98cbfdd Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a98cbfdd Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a98cbfdd Branch: refs/heads/master Commit: a98cbfdd6cb0c20f9d4b26b7b367a54e3815d0fa Parents: cd41cea Author: Dan Haywood Authored: Thu Jun 23 16:48:59 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 16:49:26 2016 +0100 -- .../isis/core/integtestsupport/IsisSystemForTest.java | 12 1 file changed, 8 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/a98cbfdd/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java -- diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java index d76979b..f9afd98 100644 --- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java +++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.integtestsupport; import java.util.List; import java.util.Set; +import com.google.common.base.Joiner; import com.google.common.collect.Lists; import org.junit.Before; @@ -44,10 +45,10 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManager; import org.apache.isis.core.runtime.authentication.AuthenticationRequest; import org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate; import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer; -import org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder; import org.apache.isis.core.runtime.system.context.IsisContext; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.runtime.system.session.IsisSessionFactory; +import org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; import org.apache.isis.core.runtime.system.transaction.IsisTransaction.State; import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager; @@ -283,9 +284,12 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic private void initIfRequiredThenOpenSession(FireListeners fireListeners) throws Exception { -// exit as quickly as possible for this case... (will already have been logged) -if(IsisContext.getMetaModelInvalidExceptionIfAny() != null) { -fail("Metamodel invalid"); +// exit as quickly as possible for this case... +final MetaModelInvalidException mmie = IsisContext.getMetaModelInvalidExceptionIfAny(); +if(mmie != null) { +final Set validationErrors = mmie.getValidationErrors(); +final String validationMsg = Joiner.on("\n").join(validationErrors); +fail(validationMsg); return; }
[2/8] isis git commit: ISIS-1335: fix documentation of @DomainObject for autocomplete.
ISIS-1335: fix documentation of @DomainObject for autocomplete. Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/41dfc9f7 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/41dfc9f7 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/41dfc9f7 Branch: refs/heads/master Commit: 41dfc9f74ffa6852be35dc027b80089ec605fc4f Parents: aa83770 Author: Dan Haywood Authored: Thu Jun 23 14:23:32 2016 +0100 Committer: Dan Haywood Committed: Thu Jun 23 14:23:32 2016 +0100 -- ...ant-DomainObject_autoCompleteRepository.adoc | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/isis/blob/41dfc9f7/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc -- diff --git a/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc b/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc index 97e0182..54d035c 100644 --- a/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc +++ b/adocs/documentation/src/main/asciidoc/guides/_rgant-DomainObject_autoCompleteRepository.adoc @@ -21,10 +21,10 @@ For example: [source,java] -@AutoComplete( -autoCompleteRepository=Customers.class +@DomainObject( +autoCompleteRepository=CustomerRepository.class ) -public class Customer extends AbstractDomainObject { +public class Customer { } @@ -33,14 +33,13 @@ where: [source,java] -public interface Customers { -@Programmatic// <1> -List autoComplete(String search); // <2> +@DomainService +public class CustomerRepository { +List autoComplete(String search); // <1> ... } -<1> do not expose in the UI -<2> is assumed to be called "autoComplete", and accepts a single string +<1> is assumed to be called "autoComplete", and accepts a single string @@ -53,22 +52,23 @@ For example: [source,java] -@AutoComplete( +@DomainObject( autoCompleteRepository=Customers.class, -autoCompleteAction="findByCustomerName" +autoCompleteAction="findByName" ) -public class Customer extends AbstractDomainObject { +public class Customer { } -where in this case `findByCustomerName` might be an existing method already defined: +where in this case `findByName` might be an existing action already defined: [source,java] -public interface Customers { +@DomainService(natureOfService=VIEW_MENU_ONLY) +public class Customers { @Action(semantics=SemanticsOf.SAFE) -List findByCustomerName(@ParameterLayout(named="name") String name); +List findByName(@ParameterLayout(named="name") String name); ... }