Merge branch 'master' into ISIS-1224-select2-v4
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/009b930a Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/009b930a Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/009b930a Branch: refs/heads/master Commit: 009b930ad6aeea0f7bce2fa6a31e4afffd5ee06d Parents: a6fe41c 2f5bd52 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Nov 12 21:01:02 2015 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Nov 12 21:01:02 2015 +0100 ---------------------------------------------------------------------- STATUS | 3 + adocs/documentation/Gemfile.lock | 3 + .../_migration-notes_1.7.0-to-1.8.0.adoc | 5 +- .../_migration-notes_1.9.0-to-1.10.0.adoc | 136 ++ .../src/main/asciidoc/_powered-by_commapp.adoc | 45 + .../src/main/asciidoc/_powered-by_estatio.adoc | 41 + .../asciidoc/_powered-by_gesconsultor-grc.adoc | 109 ++ .../asciidoc/_powered-by_transport-planner.adoc | 55 + .../src/main/asciidoc/_release-notes_1.0.0.adoc | 126 ++ .../src/main/asciidoc/_release-notes_1.0.1.adoc | 22 + .../src/main/asciidoc/_release-notes_1.1.0.adoc | 141 ++ .../main/asciidoc/_release-notes_1.10.0.adoc | 93 ++ .../src/main/asciidoc/_release-notes_1.2.0.adoc | 136 ++ .../src/main/asciidoc/_release-notes_1.3.0.adoc | 256 +++ .../src/main/asciidoc/_release-notes_1.3.1.adoc | 30 + .../src/main/asciidoc/_release-notes_1.4.0.adoc | 238 +++ .../src/main/asciidoc/_release-notes_1.4.1.adoc | 30 + .../src/main/asciidoc/_release-notes_1.5.0.adoc | 125 ++ .../src/main/asciidoc/_release-notes_1.6.0.adoc | 93 ++ .../src/main/asciidoc/_release-notes_1.7.0.adoc | 122 ++ .../src/main/asciidoc/_release-notes_1.8.0.adoc | 127 ++ .../src/main/asciidoc/_release-notes_1.9.0.adoc | 140 ++ .../src/main/asciidoc/doap_isis.rdf | 19 +- .../src/main/asciidoc/documentation.adoc | 20 +- .../src/main/asciidoc/downloads.adoc | 10 +- .../main/asciidoc/guides/_cg_building-isis.adoc | 28 +- .../_cg_committers_cutting-a-release.adoc | 64 +- .../_cg_committers_post-release-successful.adoc | 78 +- ...cg_committers_post-release-unsuccessful.adoc | 16 +- ...ommitters_release-process-for-snapshots.adoc | 26 +- .../_cg_committers_verifying-releases.adoc | 2 +- .../main/asciidoc/guides/_cg_ide_eclipse.adoc | 21 + .../main/asciidoc/guides/_cg_ide_intellij.adoc | 55 +- .../asciidoc/guides/_cg_ide_project-lombok.adoc | 2 +- .../asciidoc/guides/_cg_isis-maven-plugin.adoc | 6 +- .../guides/_rg_annotations_manpage-Action.adoc | 20 +- ..._annotations_manpage-Action_domainEvent.adoc | 35 +- ...rg_annotations_manpage-Action_semantics.adoc | 4 +- .../_rg_annotations_manpage-Collection.adoc | 2 +- ...rg_annotations_manpage-CollectionLayout.adoc | 9 + ...ns_manpage-CollectionLayout_defaultView.adoc | 43 + ...ns_manpage-CollectionLayout_describedAs.adoc | 5 +- ...tations_manpage-CollectionLayout_render.adoc | 2 + ...otations_manpage-Collection_domainEvent.adoc | 36 +- ...annotations_manpage-DomainObject_nature.adoc | 2 +- .../guides/_rg_annotations_manpage-Inject.adoc | 2 +- .../guides/_rg_annotations_manpage-Mixin.adoc | 2 +- .../_rg_annotations_manpage-PostConstruct.adoc | 2 +- ...nnotations_manpage-Property_domainEvent.adoc | 36 +- .../guides/_rg_classes_lifecycleevent.adoc | 4 +- .../asciidoc/guides/_rg_methods_lifecycle.adoc | 2 +- ...g_methods_prefixes_manpage-autoComplete.adoc | 4 +- .../guides/_rg_runtime_configuring-core.adoc | 5 +- ...mainObjectContainer_object-creation-api.adoc | 2 +- ...rg_services-api_manpage-EventBusService.adoc | 23 +- .../main/asciidoc/guides/_rg_services-spi.adoc | 2 +- ...vices-spi_manpage-ErrorReportingService.adoc | 2 +- .../main/asciidoc/guides/_tg_pet-clinic.adoc | 2 +- .../_tg_stop-scaffolding-start-coding.adoc | 2 +- ..._ug_getting-started_simpleapp-archetype.adoc | 4 +- .../src/main/asciidoc/guides/_ug_how-tos.adoc | 3 +- ...placing-default-service-implementations.adoc | 64 + ..._more-advanced_decoupling_contributions.adoc | 2 +- .../_ug_more-advanced_decoupling_mixins.adoc | 2 +- ...ore-advanced_tips-n-tricks_are-you-sure.adoc | 2 +- ...g_testing_fixture-scripts_api-and-usage.adoc | 4 +- .../020-annotation-processor.png | Bin 57338 -> 67560 bytes ...10-dcevm-list-of-found-jdk-installations.png | Bin 0 -> 44267 bytes .../070-advanced/020-dcevm-once-installed.png | Bin 0 -> 44435 bytes .../030-dcevm-intellij-project-structure.png | Bin 0 -> 62740 bytes .../040-dcevm-run-configuration.png | Bin 0 -> 47864 bytes .../asciidoc/guides/simpleapp-archetype.adoc | 4 +- .../src/main/asciidoc/guides/ug.adoc | 18 +- .../images/powered-by/commapp/screenshot-1.png | Bin 0 -> 670918 bytes .../images/powered-by/commapp/screenshot-2.png | Bin 0 -> 56933 bytes .../asciidoc/images/powered-by/estatio-1.png | Bin 261553 -> 0 bytes .../images/powered-by/estatio/estatio-1.png | Bin 0 -> 261553 bytes .../gesconsultor-grc/fig-1-custom-viewer.png | Bin 0 -> 1169636 bytes .../fig-2-custom-drag-n-drop-interface.png | Bin 0 -> 1495279 bytes ...fig-3-custom-ui-analyzing-risk-scenarios.png | Bin 0 -> 2218476 bytes .../fig-4-managing-projects.png | Bin 0 -> 995701 bytes .../documentation/src/main/asciidoc/index.html | 17 +- .../src/main/asciidoc/migration-notes.adoc | 2 + .../src/main/asciidoc/powered-by.adoc | 84 +- .../src/main/asciidoc/release-notes.adoc | 1537 +----------------- core/applib/pom.xml | 2 +- .../applib/annotation/CollectionLayout.java | 14 + core/integtestsupport/pom.xml | 2 +- .../IntegrationTestAbstract.java | 16 +- core/log4j/pom.xml | 2 +- core/maven-plugin/pom.xml | 2 +- core/metamodel/pom.xml | 2 +- .../defaultview/DefaultViewFacet.java | 26 + .../defaultview/DefaultViewFacetAbstract.java | 35 + ...tViewFacetForCollectionLayoutAnnotation.java | 41 + ...ewFacetOnCollectionFromLayoutProperties.java | 46 + .../layout/CollectionLayoutFacetFactory.java | 11 + .../CollectionLayoutFacetRepr.java | 1 + .../layoutmetadata/DefaultViewFacetRepr.java | 24 + .../json/LayoutMetadataReaderFromJson.java | 10 + .../specimpl/ObjectSpecificationAbstract.java | 8 +- core/pom.xml | 147 +- core/runtime/pom.xml | 2 +- .../eventbus/EventBusServiceDefault.java | 5 +- .../system/persistence/PersistenceSession.java | 46 +- .../jdo/service/RegisterEntities.java | 10 + core/schema/pom.xml | 4 +- core/security-shiro/pom.xml | 6 +- core/security/pom.xml | 2 +- core/specsupport/pom.xml | 2 +- core/unittestsupport/pom.xml | 2 +- core/viewer-restfulobjects-applib/pom.xml | 2 +- core/viewer-restfulobjects-rendering/pom.xml | 2 +- .../domainobjects/DomainObjectReprRenderer.java | 17 +- .../ObjectCollectionReprRenderer.java | 12 +- .../ObjectPropertyReprRenderer.java | 12 +- .../service/RepresentationService.java | 23 +- .../RepresentationServiceForRestfulObjects.java | 13 + .../rendering/LinkFollowSpecsTest_follow.java | 14 + core/viewer-restfulobjects-server/pom.xml | 2 +- .../restfulobjects/server/ResourceContext.java | 8 +- .../DomainObjectResourceServerside.java | 7 +- .../server/resources/DomainResourceHelper.java | 15 +- .../server/resources/ResourceAbstract.java | 1 + core/viewer-wicket-applib/pom.xml | 2 +- core/viewer-wicket-impl/pom.xml | 2 +- .../wicket/WebRequestCycleForIsis.java | 2 - core/viewer-wicket-model/pom.xml | 2 +- .../model/mementos/PageParameterNames.java | 2 +- core/viewer-wicket-ui/pom.xml | 2 +- .../entityactions/AdditionalLinksPanel.java | 26 +- .../actions/ActionParametersFormPanel.java | 22 +- .../selector/CollectionSelectorHelper.java | 75 +- .../widgets/breadcrumbs/BreadcrumbModel.java | 99 +- .../widgets/breadcrumbs/BreadcrumbPanel.java | 34 +- .../widgets/themepicker/ThemeChooser.java | 36 +- .../viewer/wicket/ui/pages/PageAbstract.java | 18 +- .../accmngt/AccountManagementPageAbstract.java | 9 +- .../wicket/ui/pages/mmverror/MmvErrorPage.java | 5 +- .../viewer/wicket/ui/panels/PanelAbstract.java | 40 +- core/webserver/pom.xml | 2 +- core/wrapper/pom.xml | 6 +- example/application/simpleapp/app/pom.xml | 2 +- example/application/simpleapp/dom/pom.xml | 2 +- .../dom/simple/SimpleObject.layout.json | 2 +- example/application/simpleapp/fixture/pom.xml | 2 +- .../application/simpleapp/integtests/pom.xml | 2 +- example/application/simpleapp/pom.xml | 6 +- example/application/simpleapp/webapp/pom.xml | 2 +- example/archetype/simpleapp/pom.xml | 6 +- .../dom/simple/SimpleObject.layout.json | 2 +- .../main/resources/archetype-resources/pom.xml | 2 +- .../projects/basic/archetype.properties | 2 +- 153 files changed, 3281 insertions(+), 2143 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-applib/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-model/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java ---------------------------------------------------------------------- diff --cc core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java index 6f58943,b3e5e94..35ca32c --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java @@@ -110,21 -114,44 +114,44 @@@ public class BreadcrumbModel implement } } - public String titleFor(final EntityModel model) { - return titleByEntityModel.get(model); - public Object getId(final EntityModel choice) { ++ public RootOid getId(final EntityModel choice) { + try { + final PageParameters pageParameters = choice.getPageParameters(); + final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters); + return RootOid.deString(oidStr, getOidMarshaller()); + } catch (Exception ex) { + remove(choice); + return null; + } + } - public EntityModel lookup(String oidStr) { - if(oidStr == null) { - return null; + + void remove(final String rootOid) { + final EntityModel existingModel = entityModelByOidStr.get(rootOid); + if(existingModel != null) { + remove(rootOid, existingModel); } - final EntityModel entityModel = entityModelByOidStr.get(oidStr); - return entityModel; } - public void detach() { - for (EntityModel entityModel : list) { - entityModel.detach(); + public void remove(final EntityModel entityModel) { + final String oidStr = oidStrByEntityModel.get(entityModel); + if(oidStr != null) { + remove(oidStr, entityModel); } } + + private void remove(final String rootOid, final EntityModel model) { + entityModelByOidStr.remove(rootOid); + oidStrByEntityModel.remove(model); + list.remove(model); + } + + + + protected OidMarshaller getOidMarshaller() { + return IsisContext.getOidMarshaller(); + } + + } http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java ---------------------------------------------------------------------- diff --cc core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java index 1653064,50c7367..815aaa1 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java @@@ -23,14 -27,13 +27,14 @@@ import org.apache.wicket.ajax.AjaxReque import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; - import org.apache.wicket.request.mapper.parameter.PageParameters; +import org.wicketstuff.select2.ChoiceProvider; import org.wicketstuff.select2.Response; import org.wicketstuff.select2.Select2Choice; import org.wicketstuff.select2.Settings; -import org.wicketstuff.select2.TextChoiceProvider; + import org.apache.isis.core.commons.authentication.MessageBroker; ++import org.apache.isis.core.metamodel.adapter.oid.RootOid; import org.apache.isis.core.runtime.system.context.IsisContext; - import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames; import org.apache.isis.viewer.wicket.model.models.EntityModel; import org.apache.isis.viewer.wicket.ui.errors.JGrowlUtil; import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage; @@@ -53,8 -56,8 +57,8 @@@ public class BreadcrumbPanel extends Pa final BreadcrumbModelProvider session = (BreadcrumbModelProvider) getSession(); final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel(); -- final IModel<EntityModel> entityModel = new Model<EntityModel>(); - TextChoiceProvider<EntityModel> choiceProvider = new TextChoiceProvider<EntityModel>() { ++ final IModel<EntityModel> entityModel = new Model<>(); + ChoiceProvider<EntityModel> choiceProvider = new ChoiceProvider<EntityModel>() { private static final long serialVersionUID = 1L; @@@ -64,21 -67,23 +68,25 @@@ } @Override - protected Object getId(EntityModel choice) { - return breadcrumbModel.getId(choice); + public String getIdValue(EntityModel choice) { - try { - final PageParameters pageParameters = choice.getPageParameters(); - final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters); - return oidStr; - } catch (Exception ex) { - breadcrumbModel.remove(choice); - return null; - } ++ RootOid rootOid = breadcrumbModel.getId(choice); ++ String id = IsisContext.getOidMarshaller().marshal(rootOid); ++ return id; } @Override public void query(String term, int page, Response<EntityModel> response) { - final List<EntityModel> list = breadcrumbModel.getList(); - response.addAll(list); + final List<EntityModel> breadCrumbList = Lists.newArrayList(breadcrumbModel.getList()); + final List<EntityModel> checkedList = Lists.newArrayList( + Iterables.filter(breadCrumbList, new Predicate<EntityModel>() { + @Override + public boolean apply(final EntityModel input) { - final Object id = getId(input); ++ final Object id = getIdValue(input); + return id != null; + } + }) + ); + response.addAll(checkedList); } @Override http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/009b930a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java ----------------------------------------------------------------------
