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/11/06 10:49:20 UTC
[isis] branch ISIS-1766-bs3-for-menubars updated: ISIS-1766:
removes the properties from the MenuBar interfaces, messes up JAXB
serialization; recreates the .xsd schema files
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-1766-bs3-for-menubars
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-1766-bs3-for-menubars by this push:
new 7f04498 ISIS-1766: removes the properties from the MenuBar interfaces, messes up JAXB serialization; recreates the .xsd schema files
7f04498 is described below
commit 7f044988a37437ee4ba0c2f13a8f384a1dd411cf
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Nov 6 10:48:14 2017 +0000
ISIS-1766: removes the properties from the MenuBar interfaces, messes up JAXB serialization; recreates the .xsd schema files
---
.../asciidoc/applib/layout/component/component.xsd | 17 ++
.../{menus => menubars/bootstrap3}/menubars.xsd | 33 ++--
.../layout/component/ServiceActionLayoutData.java | 4 +-
.../component/ServiceActionLayoutDataOwner.java | 4 +-
.../apache/isis/applib/layout/menubars/Menu.java | 4 -
.../isis/applib/layout/menubars/MenuBar.java | 6 -
.../isis/applib/layout/menubars/MenuSection.java | 2 +-
.../applib/layout/menubars/bootstrap3/BS3Menu.java | 7 +-
.../layout/menubars/bootstrap3/BS3MenuBar.java | 7 +-
.../layout/menubars/bootstrap3/BS3MenuBars.java | 11 +-
.../layout/menubars/bootstrap3/BS3MenuSection.java | 16 +-
.../bootstrap3/BS3MenuBars_roundtrip_Test.java | 10 +-
.../services/menubars/menubars.layout.xml | 174 ++++++++++-----------
.../menubars/bootstrap3/MenuBarsServiceBS3.java | 6 +-
.../serviceactions/ServiceActionUtil.java | 12 +-
.../java/domainapp/application/menubars.layout.xml | 174 ++++++++++-----------
16 files changed, 238 insertions(+), 249 deletions(-)
diff --git a/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd b/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
index f780c27..7eca3ef 100644
--- a/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
+++ b/adocs/documentation/src/main/asciidoc/applib/layout/component/component.xsd
@@ -18,6 +18,8 @@
<xs:element name="fieldSet" type="tns:fieldSet"/>
+ <xs:element name="serviceAction" type="tns:serviceAction"/>
+
<xs:element name="property" type="tns:property"/>
<xs:complexType name="domainObject">
@@ -53,6 +55,21 @@
<xs:attribute name="promptStyle" type="tns:promptStyle"/>
</xs:complexType>
+ <xs:complexType name="serviceAction">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="named" type="xs:string"/>
+ <xs:element minOccurs="0" name="describedAs" type="xs:string"/>
+ <xs:element minOccurs="0" name="metadataError" type="xs:string"/>
+ <xs:element minOccurs="0" name="link" type="lnk:link"/>
+ </xs:sequence>
+ <xs:attribute name="objectType" type="xs:string" use="required"/>
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ <xs:attribute name="namedEscaped" type="xs:boolean"/>
+ <xs:attribute name="bookmarking" type="tns:bookmarkPolicy"/>
+ <xs:attribute name="cssClass" type="xs:string"/>
+ <xs:attribute name="cssClassFa" type="xs:string"/>
+ </xs:complexType>
+
<xs:complexType name="fieldSet">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:action"/>
diff --git a/adocs/documentation/src/main/asciidoc/applib/layout/menus/menubars.xsd b/adocs/documentation/src/main/asciidoc/applib/layout/menubars/bootstrap3/menubars.xsd
similarity index 52%
rename from adocs/documentation/src/main/asciidoc/applib/layout/menus/menubars.xsd
rename to adocs/documentation/src/main/asciidoc/applib/layout/menubars/bootstrap3/menubars.xsd
index 28a5250..2dbfe28 100644
--- a/adocs/documentation/src/main/asciidoc/applib/layout/menus/menubars.xsd
+++ b/adocs/documentation/src/main/asciidoc/applib/layout/menubars/bootstrap3/menubars.xsd
@@ -1,21 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:mb3="http://isis.apache.org/applib/layout/menubars/bootstrap3"
xmlns:cpt="http://isis.apache.org/applib/layout/component"
xmlns:lnk="http://isis.apache.org/applib/layout/links"
- xmlns:tns="http://isis.apache.org/applib/layout/menus"
+ xmlns:tns="http://isis.apache.org/applib/layout/menubars/bootstrap3"
elementFormDefault="qualified"
- targetNamespace="http://isis.apache.org/applib/layout/menus" version="1.0">
+ targetNamespace="http://isis.apache.org/applib/layout/menubars/bootstrap3" version="1.0">
<xs:import
namespace="http://isis.apache.org/applib/layout/component"
- schemaLocation="../component/component.xsd"/>
+ schemaLocation="../../component/component.xsd"/>
<xs:import
namespace="http://isis.apache.org/applib/layout/links"
- schemaLocation="../links/links.xsd"/>
-
- <xs:element name="action" type="tns:action"/>
+ schemaLocation="../../links/links.xsd"/>
<xs:element name="menuBars" type="tns:menuBars"/>
@@ -30,36 +29,22 @@
<xs:complexType name="menuBar">
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" name="menu" type="tns:menu"/>
+ <xs:element maxOccurs="unbounded" name="menu" type="tns:menu"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="menu">
<xs:sequence>
<xs:element name="named" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="1" name="section" type="tns:section"/>
+ <xs:element maxOccurs="unbounded" name="section" type="tns:section"/>
</xs:sequence>
<xs:attribute name="cssClassFa" type="xs:string"/>
+ <xs:attribute name="unreferencedActions" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="section">
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" ref="tns:action"/>
+ <xs:element maxOccurs="unbounded" name="serviceAction" type="cpt:serviceAction"/>
</xs:sequence>
</xs:complexType>
-
- <xs:complexType name="action">
- <xs:sequence>
- <xs:element minOccurs="0" name="named" type="xs:string"/>
- <xs:element minOccurs="0" name="describedAs" type="xs:string"/>
- <xs:element minOccurs="0" name="metadataError" type="xs:string"/>
- <xs:element minOccurs="0" name="link" type="lnk:link"/>
- </xs:sequence>
- <xs:attribute name="objectType" type="xs:string" use="required"/>
- <xs:attribute name="id" type="xs:string" use="required"/>
- <xs:attribute name="namedEscaped" type="xs:boolean"/>
- <xs:attribute name="bookmarking" type="cpt:bookmarkPolicy"/>
- <xs:attribute name="cssClass" type="xs:string"/>
- <xs:attribute name="cssClassFa" type="xs:string"/>
- </xs:complexType>
</xs:schema>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
index bd4196c..13f8666 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
@@ -38,10 +38,10 @@ import org.apache.isis.applib.layout.links.Link;
* </p>
*/
@XmlRootElement(
- name = "action"
+ name = "serviceAction"
)
@XmlType(
- name = "action"
+ name = "serviceAction"
, propOrder = {
"objectType"
, "id"
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
index 360b108..0f98411 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
@@ -21,6 +21,6 @@ package org.apache.isis.applib.layout.component;
import java.util.List;
public interface ServiceActionLayoutDataOwner extends Owner {
- List<ServiceActionLayoutData> getActions();
- void setActions(List<ServiceActionLayoutData> actions);
+ List<ServiceActionLayoutData> getServiceActions();
+ void setServiceActions(List<ServiceActionLayoutData> actions);
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
index 4a6fc5e..cbb2797 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
@@ -18,8 +18,6 @@
*/
package org.apache.isis.applib.layout.menubars;
-import java.util.List;
-
import org.apache.isis.applib.annotation.Programmatic;
public interface Menu {
@@ -27,6 +25,4 @@ public interface Menu {
@Programmatic
String getNamed();
- @Programmatic
- List<MenuSection> getSections();
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
index 5203fa3..7f84461 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
@@ -18,12 +18,6 @@
*/
package org.apache.isis.applib.layout.menubars;
-import java.util.List;
-
-import org.apache.isis.applib.annotation.Programmatic;
-
public interface MenuBar {
- @Programmatic
- List<Menu> getMenus();
}
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
index 4308c01..d3f2873 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
@@ -26,5 +26,5 @@ import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
public interface MenuSection {
@Programmatic
- List<ServiceActionLayoutData> getActions();
+ List<ServiceActionLayoutData> getServiceActions();
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
index 242d861..bc8e134 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
@@ -29,7 +29,6 @@ import com.google.common.collect.Lists;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.layout.menubars.Menu;
-import org.apache.isis.applib.layout.menubars.MenuSection;
/**
* Describes the collection of domain services into menubars, broadly corresponding to the aggregation of information of {@link DomainServiceLayout} that have the same value of {@link DomainServiceLayout#named()}.
@@ -80,15 +79,15 @@ public class BS3Menu implements Menu, Serializable {
- private List<MenuSection> sections = Lists.newArrayList();
+ private List<BS3MenuSection> sections = Lists.newArrayList();
// no wrapper
@XmlElement(name = "section", required = true)
- public List<MenuSection> getSections() {
+ public List<BS3MenuSection> getSections() {
return sections;
}
- public void setSections(List<MenuSection> menuSections) {
+ public void setSections(List<BS3MenuSection> menuSections) {
this.sections = sections;
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
index 1cf268b..927f7a8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
@@ -27,7 +27,6 @@ import javax.xml.bind.annotation.XmlType;
import com.google.common.collect.Lists;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.layout.menubars.Menu;
import org.apache.isis.applib.layout.menubars.MenuBar;
/**
@@ -47,15 +46,15 @@ public class BS3MenuBar implements MenuBar, Serializable {
}
- private List<Menu> menus = Lists.newArrayList();
+ private List<BS3Menu> menus = Lists.newArrayList();
// no wrapper
@XmlElement(name = "menu", required = true)
- public List<Menu> getMenus() {
+ public List<BS3Menu> getMenus() {
return menus;
}
- public void setMenus(List<Menu> menus) {
+ public void setMenus(List<BS3Menu> menus) {
this.menus = menus;
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
index c1a9b19..6cdbd8b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
@@ -26,7 +26,6 @@ import javax.xml.bind.annotation.XmlType;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
-import org.apache.isis.applib.layout.menubars.Menu;
import org.apache.isis.applib.layout.menubars.MenuSection;
/**
@@ -103,17 +102,17 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
private void traverseMenuBar(final BS3MenuBar menuBar, final Visitor visitor) {
visitor.preVisit(menuBar);
visitor.visit(menuBar);
- for (Menu menu : menuBar.getMenus()) {
+ for (BS3Menu menu : menuBar.getMenus()) {
traverseMenu(menu, visitor);
}
visitor.postVisit(menuBar);
}
- private void traverseMenu(final Menu menu, final Visitor visitor) {
+ private void traverseMenu(final BS3Menu menu, final Visitor visitor) {
visitor.preVisit(menu);
visitor.visit(menu);
- final List<MenuSection> sections = menu.getSections();
- for (MenuSection section : sections) {
+ final List<BS3MenuSection> sections = menu.getSections();
+ for (BS3MenuSection section : sections) {
traverseSection(section, visitor);
}
visitor.postVisit(menu);
@@ -122,7 +121,7 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
private void traverseSection(final MenuSection section, final Visitor visitor) {
visitor.preVisit(section);
visitor.visit(section);
- final List<ServiceActionLayoutData> actions = section.getActions();
+ final List<ServiceActionLayoutData> actions = section.getServiceActions();
for (ServiceActionLayoutData action : actions) {
visitor.visit(action);
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
index e3cf286..399da0b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
@@ -31,12 +31,12 @@ import org.apache.isis.applib.layout.component.ServiceActionLayoutDataOwner;
import org.apache.isis.applib.layout.menubars.MenuSection;
/**
- * Corresponds to a domain service that contributes its actions under a particular {@link BS3MenuBar}.
+ * Corresponds to a domain service that contributes its serviceActions under a particular {@link BS3MenuBar}.
*/
@XmlType(
name = "section"
, propOrder = {
- "actions"
+ "serviceActions"
}
)
public class BS3MenuSection implements MenuSection, Serializable, ServiceActionLayoutDataOwner {
@@ -47,18 +47,18 @@ public class BS3MenuSection implements MenuSection, Serializable, ServiceActionL
}
- private List<ServiceActionLayoutData> actions = Lists.newArrayList();
+ private List<ServiceActionLayoutData> serviceActions = Lists.newArrayList();
// no wrapper
@Override
- @XmlElement(name = "action", required = true)
- public List<ServiceActionLayoutData> getActions() {
- return actions;
+ @XmlElement(name = "serviceAction", required = true)
+ public List<ServiceActionLayoutData> getServiceActions() {
+ return serviceActions;
}
@Override
- public void setActions(List<ServiceActionLayoutData> actionLayoutDatas) {
- this.actions = actionLayoutDatas;
+ public void setServiceActions(List<ServiceActionLayoutData> actionLayoutDatas) {
+ this.serviceActions = actionLayoutDatas;
}
diff --git a/core/applib/src/test/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars_roundtrip_Test.java b/core/applib/src/test/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars_roundtrip_Test.java
index c9d1a59..5751e19 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars_roundtrip_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars_roundtrip_Test.java
@@ -50,14 +50,14 @@ public class BS3MenuBars_roundtrip_Test {
menu.setNamed("Parties");
BS3MenuSection organisationMenu = new BS3MenuSection();
- organisationMenu.getActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "findByReference"));
- organisationMenu.getActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "findByName"));
- organisationMenu.getActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "create"));
+ organisationMenu.getServiceActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "findByReference"));
+ organisationMenu.getServiceActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "findByName"));
+ organisationMenu.getServiceActions().add(new ServiceActionLayoutData("parties.OrganisationMenu", "create"));
menu.getSections().add(organisationMenu);
BS3MenuSection personMenu = new BS3MenuSection();
- personMenu.getActions().add(new ServiceActionLayoutData("parties.PersonMenu", "findByUsername"));
- personMenu.getActions().add(new ServiceActionLayoutData("parties.PersonMenu", "create"));
+ personMenu.getServiceActions().add(new ServiceActionLayoutData("parties.PersonMenu", "findByUsername"));
+ personMenu.getServiceActions().add(new ServiceActionLayoutData("parties.PersonMenu", "create"));
menu.getSections().add(personMenu);
menuBars.getPrimary().getMenus().add(menu);
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/services/menubars/menubars.layout.xml b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/services/menubars/menubars.layout.xml
index 9adb982..7ac2178 100644
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/services/menubars/menubars.layout.xml
+++ b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/services/menubars/menubars.layout.xml
@@ -1,88 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mnu:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menus http://isis.apache.org/applib/layout/menus/menus.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:mnu="http://isis.apache.org/applib/layout/menus" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <mnu:primary>
- <mnu:menu>
- <mnu:named>Hello World Objects</mnu:named>
- <mnu:section>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="create">
- <mnu:named>Create</mnu:named>
- </mnu:action>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="findByName">
- <mnu:named>Find By Name</mnu:named>
- </mnu:action>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="listAll">
- <mnu:named>List All</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:primary>
- <mnu:secondary>
- <mnu:menu>
- <mnu:named>Prototyping</mnu:named>
- <mnu:section>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
- <mnu:named>Run Fixture Script</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
- <mnu:named>Run Fixture Script</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
- <mnu:named>Recreate Objects And Return First</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
- <mnu:named>Download Object Layouts (ZIP)</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
- <mnu:named>Download Menu Bars Layout (XML)</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModel">
- <mnu:named>Download Meta Model (CSV)</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
- <mnu:named>Open Swagger Ui</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
- <mnu:named>Open Rest Api</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
- <mnu:named>Download Swagger Schema Definition</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
- <mnu:named>Download Translations</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
- <mnu:named>Clear translation cache</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
- <mnu:named>Switch To Reading Translations</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
- <mnu:named>Switch To Writing Translations</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
- <mnu:named>HSQL DB Manager</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:secondary>
- <mnu:tertiary>
- <mnu:menu>
- <mnu:named>Configuration Service Menu</mnu:named>
- <mnu:section>
- <mnu:action objectType="isisApplib.ConfigurationServiceMenu" id="configuration">
- <mnu:named>Configuration</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:tertiary>
-</mnu:menuBars>
+<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
+ <mb3:primary>
+ <mb3:menu>
+ <mb3:named>Hello World Objects</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="create">
+ <cpt:named>Create</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="findByName">
+ <cpt:named>Find By Name</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="listAll">
+ <cpt:named>List All</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:primary>
+ <mb3:secondary>
+ <mb3:menu>
+ <mb3:named>Prototyping</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
+ <cpt:named>Recreate Objects And Return First</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
+ <cpt:named>Download Object Layouts (ZIP)</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
+ <cpt:named>Download Menu Bars Layout (XML)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModel">
+ <cpt:named>Download Meta Model (CSV)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
+ <cpt:named>Open Swagger Ui</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
+ <cpt:named>Open Rest Api</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
+ <cpt:named>Download Swagger Schema Definition</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
+ <cpt:named>Download Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
+ <cpt:named>Clear translation cache</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
+ <cpt:named>Switch To Reading Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
+ <cpt:named>Switch To Writing Translations</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
+ <cpt:named>HSQL DB Manager</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:secondary>
+ <mb3:tertiary>
+ <mb3:menu>
+ <mb3:named>Configuration Service Menu</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.ConfigurationServiceMenu" id="configuration">
+ <cpt:named>Configuration</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:tertiary>
+</mb3:menuBars>
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
index 40ec7b4..88989c3 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
@@ -153,7 +153,7 @@ public class MenuBarsServiceBS3 implements MenuBarsService {
final List<ServiceAndAction> serviceActionsForName = serviceActionsByName.get(serviceName);
for (ServiceAndAction serviceAndAction : serviceActionsForName) {
- if(serviceAndAction.separator && !menuSection.getActions().isEmpty()) {
+ if(serviceAndAction.separator && !menuSection.getServiceActions().isEmpty()) {
menu.getSections().add(menuSection);
menuSection = new BS3MenuSection();
}
@@ -162,9 +162,9 @@ public class MenuBarsServiceBS3 implements MenuBarsService {
final String objectType = serviceAndAction.serviceAdapter.getSpecification().getSpecId().asString();
ServiceActionLayoutData action = new ServiceActionLayoutData(objectType, objectAction.getId());
action.setNamed(objectAction.getName());
- menuSection.getActions().add(action);
+ menuSection.getServiceActions().add(action);
}
- if(!menuSection.getActions().isEmpty()) {
+ if(!menuSection.getServiceActions().isEmpty()) {
menu.getSections().add(menuSection);
}
}
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
index 0c6502c..c7736a6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
@@ -39,10 +39,10 @@ import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.Model;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
-import org.apache.isis.applib.layout.menubars.Menu;
-import org.apache.isis.applib.layout.menubars.MenuBar;
import org.apache.isis.applib.layout.menubars.MenuBars;
import org.apache.isis.applib.layout.menubars.MenuSection;
+import org.apache.isis.applib.layout.menubars.bootstrap3.BS3Menu;
+import org.apache.isis.applib.layout.menubars.bootstrap3.BS3MenuBar;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -203,7 +203,8 @@ public final class ServiceActionUtil {
final MenuBars menuBars,
final ServiceActionsModel serviceActionsModel) {
- final MenuBar menuBar = menuBars.menuBarFor(serviceActionsModel.getMenuBar());
+ // TODO: remove hard-coded dependency on BS3
+ final BS3MenuBar menuBar = (BS3MenuBar) menuBars.menuBarFor(serviceActionsModel.getMenuBar());
final List<ObjectAdapter> serviceAdapters = serviceActionsModel.getObject();
final ImmutableMap<ObjectAdapter, String> oidByServiceAdapter = FluentIterable.from(serviceAdapters)
@@ -217,16 +218,15 @@ public final class ServiceActionUtil {
.copyOf(oidByServiceAdapter).inverse();
final List<CssMenuItem> menuItems = Lists.newArrayList();
- for (final Menu menu : menuBar.getMenus()) {
+ for (final BS3Menu menu : menuBar.getMenus()) {
final CssMenuItem serviceMenu = CssMenuItem.newMenuItem(menu.getNamed()).build();
-
for (final MenuSection menuSection : menu.getSections()) {
boolean firstSection = true;
- for (final ServiceActionLayoutData actionLayoutData : menuSection.getActions()) {
+ for (final ServiceActionLayoutData actionLayoutData : menuSection.getServiceActions()) {
final String objectType = actionLayoutData.getObjectType();
final Bookmark bookmark = new Bookmark(objectType, PersistenceSession.SERVICE_IDENTIFIER);
final String oid = bookmark.toString();
diff --git a/example/application/helloworld/src/main/java/domainapp/application/menubars.layout.xml b/example/application/helloworld/src/main/java/domainapp/application/menubars.layout.xml
index 9adb982..7ac2178 100644
--- a/example/application/helloworld/src/main/java/domainapp/application/menubars.layout.xml
+++ b/example/application/helloworld/src/main/java/domainapp/application/menubars.layout.xml
@@ -1,88 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<mnu:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menus http://isis.apache.org/applib/layout/menus/menus.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:mnu="http://isis.apache.org/applib/layout/menus" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <mnu:primary>
- <mnu:menu>
- <mnu:named>Hello World Objects</mnu:named>
- <mnu:section>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="create">
- <mnu:named>Create</mnu:named>
- </mnu:action>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="findByName">
- <mnu:named>Find By Name</mnu:named>
- </mnu:action>
- <mnu:action objectType="helloworld.HelloWorldObjects" id="listAll">
- <mnu:named>List All</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:primary>
- <mnu:secondary>
- <mnu:menu>
- <mnu:named>Prototyping</mnu:named>
- <mnu:section>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
- <mnu:named>Run Fixture Script</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
- <mnu:named>Run Fixture Script</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
- <mnu:named>Recreate Objects And Return First</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
- <mnu:named>Download Object Layouts (ZIP)</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
- <mnu:named>Download Menu Bars Layout (XML)</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModel">
- <mnu:named>Download Meta Model (CSV)</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
- <mnu:named>Open Swagger Ui</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
- <mnu:named>Open Rest Api</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
- <mnu:named>Download Swagger Schema Definition</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
- <mnu:named>Download Translations</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
- <mnu:named>Clear translation cache</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
- <mnu:named>Switch To Reading Translations</mnu:named>
- </mnu:action>
- <mnu:action objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
- <mnu:named>Switch To Writing Translations</mnu:named>
- </mnu:action>
- </mnu:section>
- <mnu:section>
- <mnu:action objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
- <mnu:named>HSQL DB Manager</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:secondary>
- <mnu:tertiary>
- <mnu:menu>
- <mnu:named>Configuration Service Menu</mnu:named>
- <mnu:section>
- <mnu:action objectType="isisApplib.ConfigurationServiceMenu" id="configuration">
- <mnu:named>Configuration</mnu:named>
- </mnu:action>
- </mnu:section>
- </mnu:menu>
- </mnu:tertiary>
-</mnu:menuBars>
+<mb3:menuBars xsi:schemaLocation="http://isis.apache.org/applib/layout/menubars/bootstrap3 http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd http://isis.apache.org/applib/layout/links http://isis.apache.org/applib/layout/links/links.xsd" xmlns:cpt="http://isis.apache.org/applib/layout/component" xmlns:lnk="http://isis.apache.org/applib/layout/links" xmlns:mb3="h [...]
+ <mb3:primary>
+ <mb3:menu>
+ <mb3:named>Hello World Objects</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="create">
+ <cpt:named>Create</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="findByName">
+ <cpt:named>Find By Name</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="helloworld.HelloWorldObjects" id="listAll">
+ <cpt:named>List All</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:primary>
+ <mb3:secondary>
+ <mb3:menu>
+ <mb3:named>Prototyping</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScript">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="runFixtureScriptWithAutoComplete">
+ <cpt:named>Run Fixture Script</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.FixtureScriptsDefault" id="recreateObjectsAndReturnFirst">
+ <cpt:named>Recreate Objects And Return First</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadLayouts">
+ <cpt:named>Download Object Layouts (ZIP)</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.LayoutServiceMenu" id="downloadMenuBarsLayout">
+ <cpt:named>Download Menu Bars Layout (XML)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.MetaModelServicesMenu" id="downloadMetaModel">
+ <cpt:named>Download Meta Model (CSV)</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openSwaggerUi">
+ <cpt:named>Open Swagger Ui</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="openRestApi">
+ <cpt:named>Open Rest Api</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.SwaggerServiceMenu" id="downloadSwaggerSchemaDefinition">
+ <cpt:named>Download Swagger Schema Definition</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="downloadTranslations">
+ <cpt:named>Download Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="resetTranslationCache">
+ <cpt:named>Clear translation cache</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToReadingTranslations">
+ <cpt:named>Switch To Reading Translations</cpt:named>
+ </mb3:serviceAction>
+ <mb3:serviceAction objectType="isisApplib.TranslationServicePoMenu" id="switchToWritingTranslations">
+ <cpt:named>Switch To Writing Translations</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.HsqlDbManagerMenu" id="hsqlDbManager">
+ <cpt:named>HSQL DB Manager</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:secondary>
+ <mb3:tertiary>
+ <mb3:menu>
+ <mb3:named>Configuration Service Menu</mb3:named>
+ <mb3:section>
+ <mb3:serviceAction objectType="isisApplib.ConfigurationServiceMenu" id="configuration">
+ <cpt:named>Configuration</cpt:named>
+ </mb3:serviceAction>
+ </mb3:section>
+ </mb3:menu>
+ </mb3:tertiary>
+</mb3:menuBars>
--
To stop receiving notification emails like this one, please contact
['"commits@isis.apache.org" <co...@isis.apache.org>'].