This is an automated email from the ASF dual-hosted git repository.

joergrade pushed a commit to branch vaadin-viewer
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 0a63354f519815f952fb5772c2494dfb9b87127b
Author: Jörg Rade <[email protected]>
AuthorDate: Fri May 24 23:05:55 2024 +0200

    CAUSEWAY-3747 Maven scaffold
---
 bom/pom.xml                                        |  29 +++++-
 viewers/vaadin/adoc/modules/ROOT/nav.adoc          |   4 +
 viewers/vaadin/model/pom.xml                       |  64 ++++++++++++
 .../vaadin/model/src/main/java/package-info.java   |   0
 viewers/vaadin/pom.xml                             |  46 +++++++++
 viewers/vaadin/ui/pom.xml                          | 107 ++++++++++++++++++++
 .../vaadin/ui/CausewayModuleViewerVaadinUi.java    |  41 ++++++++
 viewers/vaadin/ui/src/main/java/package-info.java  |   0
 viewers/vaadin/viewer/pom.xml                      | 109 +++++++++++++++++++++
 .../viewer/CausewayModuleViewerVaadinViewer.java   |  59 +++++++++++
 10 files changed, 457 insertions(+), 2 deletions(-)

diff --git a/bom/pom.xml b/bom/pom.xml
index 6c471d8a98..dbb728afbb 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -188,7 +188,9 @@ It is therefore a copy of org.apache:apache, with 
customisations clearly identif
         <wicket-viewer-jquery.version>3.7.1</wicket-viewer-jquery.version> 
<!--  as served by wicket via webjars -->
         <wicketstuff.version>10.0.0</wicketstuff.version> <!-- 
org.wicketstuff:wicketstuff-select2 -->
 
-               <!-- OTHER -->
+        <vaadin.version>23.2.10</vaadin.version>
+
+        <!-- OTHER -->
 
                <distMgmtSnapshotsName>Apache Development Snapshot 
Repository</distMgmtSnapshotsName>
         
<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
@@ -2059,13 +2061,36 @@ It is therefore a copy of org.apache:apache, with 
customisations clearly identif
                                <version>${select2.version}</version>
                        </dependency>
 
+            <dependency>
+                <groupId>org.webjars.npm</groupId>
+                <artifactId>mobile-drag-drop</artifactId>
+                <version>2.3.0-rc.2</version>
+            </dependency>
+
                        <dependency>
                                <groupId>org.wicketstuff</groupId>
                                <artifactId>wicketstuff-select2</artifactId>
                                <version>${wicketstuff.version}</version>
                        </dependency>
 
-                       <dependency>
+            <dependency>
+                <groupId>com.vaadin</groupId>
+                <artifactId>vaadin-spring-boot-starter</artifactId>
+                <version>${vaadin.version}</version>
+                <exclusions>
+                    <!-- this is a library module, don't pull in embedded 
tomcat etc. here -->
+                    <exclusion>
+                        <groupId>org.springframework.boot</groupId>
+                        <artifactId>spring-boot-starter-web</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.vaadin</groupId>
+                        <artifactId>vaadin-dev-server</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+
+            <dependency>
                                <groupId>io.cucumber</groupId>
                                <artifactId>cucumber-java</artifactId>
                                <version>${cucumber.version}</version>
diff --git a/viewers/vaadin/adoc/modules/ROOT/nav.adoc 
b/viewers/vaadin/adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000000..ebdb5577b3
--- /dev/null
+++ b/viewers/vaadin/adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,4 @@
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with this work 
for additional information regarding copyright ownership. The ASF licenses this 
file to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance with the License. You may obtain a copy of 
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by 
applicable law or ag [...]
+
+include::vw:ROOT:partial$component-nav.adoc[]
diff --git a/viewers/vaadin/model/pom.xml b/viewers/vaadin/model/pom.xml
new file mode 100644
index 0000000000..84ca06caa4
--- /dev/null
+++ b/viewers/vaadin/model/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+         http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.causeway.viewer</groupId>
+        <artifactId>causeway-viewer-vaadin</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>causeway-viewer-vaadin-model</artifactId>
+    <name>Apache Causeway Viewer - Vaadin (Model)</name>
+
+    <properties>
+        
<jar-plugin.automaticModuleName>org.apache.causeway.viewer.vaadin.model</jar-plugin.automaticModuleName>
+        
<git-plugin.propertiesDir>org/apache/causeway/viewer/vaadin/model</git-plugin.propertiesDir>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.vaadin</groupId>
+            <artifactId>vaadin-spring-boot-starter</artifactId>
+            <!--version>${vaadin.version}</version-->
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.core</groupId>
+            <artifactId>causeway-core-webapp</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-commons-applib</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-commons-model</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>
diff --git a/viewers/vaadin/model/src/main/java/package-info.java 
b/viewers/vaadin/model/src/main/java/package-info.java
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/viewers/vaadin/pom.xml b/viewers/vaadin/pom.xml
new file mode 100644
index 0000000000..c6686dac59
--- /dev/null
+++ b/viewers/vaadin/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.causeway.core</groupId>
+        <artifactId>causeway-core</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../../core/pom.xml</relativePath>
+    </parent>
+               
+    <groupId>org.apache.causeway.viewer</groupId>
+    <artifactId>causeway-viewer-vaadin</artifactId>
+    <name>Apache Causeway Viewer - Vaadin</name>
+    
+    <packaging>pom</packaging>
+    
+    <dependencies>
+       </dependencies>
+
+    <modules>
+        <module>model</module>
+        <module>ui</module>
+        <module>viewer</module>
+    </modules>
+
+</project>
diff --git a/viewers/vaadin/ui/pom.xml b/viewers/vaadin/ui/pom.xml
new file mode 100644
index 0000000000..c210aa9a36
--- /dev/null
+++ b/viewers/vaadin/ui/pom.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+       <modelVersion>4.0.0</modelVersion>
+
+       <parent>
+               <groupId>org.apache.causeway.viewer</groupId>
+               <artifactId>causeway-viewer-vaadin</artifactId>
+               <version>3.0.0-SNAPSHOT</version>
+       </parent>
+
+       <artifactId>causeway-viewer-vaadin-ui</artifactId>
+       <name>Apache Causeway Viewer - Vaadin (UI Components)</name>
+
+       <properties>
+               
<jar-plugin.automaticModuleName>org.apache.causeway.viewer.vaadin.ui</jar-plugin.automaticModuleName>
+               
<git-plugin.propertiesDir>org/apache/causeway/viewer/vaadin/ui</git-plugin.propertiesDir>
+       </properties>
+
+       <build>
+               <resources>
+                       <resource>
+                               <filtering>false</filtering>
+                               <directory>src/main/resources</directory>
+                       </resource>
+                       <resource>
+                               <filtering>false</filtering>
+                               <directory>src/main/java</directory>
+                               <includes>
+                                       <include>**</include>
+                               </includes>
+                               <excludes>
+                                       <exclude>**/*.java</exclude>
+                               </excludes>
+                       </resource>
+               </resources>
+               <plugins>
+                       <plugin>
+                               <groupId>net.alchim31.maven</groupId>
+                               
<artifactId>yuicompressor-maven-plugin</artifactId>
+                               <inherited>true</inherited>
+                       </plugin>
+               </plugins>
+       </build>
+
+       <dependencies>
+
+               <dependency>
+                       <groupId>org.apache.causeway.viewer</groupId>
+                       <artifactId>causeway-viewer-vaadin-model</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-commons-services</artifactId>
+        </dependency>
+
+               <dependency>
+                       <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-commons-prism</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.vaadin</groupId>
+            <artifactId>vaadin-spring-boot-starter</artifactId>
+            <!--version>${vaadin.version}</version-->
+        </dependency>
+
+               <!-- JDO API (non transient, provided by plugin) -->
+               <dependency>
+                       <!-- v3.2 not available yet, use datanucleus staging 
for now -->
+                       <!-- <groupId>javax.jdo</groupId> -->
+                       <!-- <artifactId>jdo-api</artifactId> -->
+                       <groupId>org.datanucleus</groupId>
+                       <artifactId>javax.jdo</artifactId>
+                       <!-- provided by plugins -->
+                       <scope>provided</scope>
+               </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>
diff --git 
a/viewers/vaadin/ui/src/main/java/org/apache/causeway/viewer/vaadin/ui/CausewayModuleViewerVaadinUi.java
 
b/viewers/vaadin/ui/src/main/java/org/apache/causeway/viewer/vaadin/ui/CausewayModuleViewerVaadinUi.java
new file mode 100644
index 0000000000..0a63170610
--- /dev/null
+++ 
b/viewers/vaadin/ui/src/main/java/org/apache/causeway/viewer/vaadin/ui/CausewayModuleViewerVaadinUi.java
@@ -0,0 +1,41 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.causeway.viewer.vaadin.ui;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import 
org.apache.causeway.viewer.commons.services.CausewayModuleViewerCommonsServices;
+
+/**
+ * @since 3.x {@index}
+ */
+@Configuration
+@Import({
+        // Modules
+        CausewayModuleViewerCommonsServices.class,
+        //CausewayModuleViewerWicketModel.class,
+
+        // @Service's
+        //CausewayWicketThemeSupportDefault.class,
+        //LogoutHandlerWkt.class,
+})
+public class CausewayModuleViewerVaadinUi {
+
+}
diff --git a/viewers/vaadin/ui/src/main/java/package-info.java 
b/viewers/vaadin/ui/src/main/java/package-info.java
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/viewers/vaadin/viewer/pom.xml b/viewers/vaadin/viewer/pom.xml
new file mode 100644
index 0000000000..bc12ee6640
--- /dev/null
+++ b/viewers/vaadin/viewer/pom.xml
@@ -0,0 +1,109 @@
+<!--
+<?xml version="1.0" encoding="UTF-8"?>
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.causeway.viewer</groupId>
+        <artifactId>causeway-viewer-vaadin</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Apache Causeway Viewer - Vaadin (Viewer)</name>
+
+    <artifactId>causeway-viewer-vaadin-viewer</artifactId>
+
+    <properties>
+        
<jar-plugin.automaticModuleName>org.apache.causeway.viewer.vaadin.viewer</jar-plugin.automaticModuleName>
+        
<git-plugin.propertiesDir>org/apache/causeway/viewer/vaadin/viewer</git-plugin.propertiesDir>
+               <!-- override surefire defaults from bom, as this is not a Java 
module yet -->
+               <surefire-plugin.argLine>-Xmx384m</surefire-plugin.argLine>
+    </properties>
+
+    <build>
+        <resources>
+            <resource>
+                <filtering>false</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <filtering>false</filtering>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**</include>
+                </includes>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </resource>
+        </resources>
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.vaadin</groupId>
+            <artifactId>vaadin-spring-boot-starter</artifactId>
+            <!--
+            <version>${vaadin.version}</version>
+            -->
+        </dependency>
+
+        <!-- Spring -->
+
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-web</artifactId>
+               </dependency>
+
+        <!-- as required by wicket -->
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+               <!-- TESTING -->
+
+               <dependency>
+                       <groupId>org.apache.causeway.core</groupId>
+                       
<artifactId>causeway-core-internaltestsupport</artifactId>
+                       <scope>test</scope>
+               </dependency>
+        <dependency>
+            <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-wicket-ui</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-vaadin-ui</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.causeway.viewer</groupId>
+            <artifactId>causeway-viewer-vaadin-ui</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+
+    </dependencies>
+
+</project>
diff --git 
a/viewers/vaadin/viewer/src/main/java/org/apache/causeway/viewer/vaadin/viewer/CausewayModuleViewerVaadinViewer.java
 
b/viewers/vaadin/viewer/src/main/java/org/apache/causeway/viewer/vaadin/viewer/CausewayModuleViewerVaadinViewer.java
new file mode 100644
index 0000000000..3e02b356a1
--- /dev/null
+++ 
b/viewers/vaadin/viewer/src/main/java/org/apache/causeway/viewer/vaadin/viewer/CausewayModuleViewerVaadinViewer.java
@@ -0,0 +1,59 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.causeway.viewer.vaadin.viewer;
+
+import org.apache.causeway.viewer.vaadin.ui.CausewayModuleViewerVaadinUi;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+/**
+ * @since 1.x {@index}
+ */
+@Configuration
+@Import({
+        // Modules
+        CausewayModuleViewerVaadinUi.class,
+
+        // @Configuration's
+/*        BootstrapInitWkt.class,
+        JQueryInitWkt.class,
+        Select2InitWkt.class,
+        WebjarsInitWkt.class,
+        WicketViewerCssBundleInit.class,
+        DatatablesNetInitWkt.class,
+        DebugInitWkt.class, */
+
+        // @Service's
+/*        BookmarkUiServiceWicket.class,
+        ComponentFactoryRegistrarDefault.class,
+        ComponentFactoryRegistryDefault.class,
+        DeepLinkServiceWicket.class,
+        ImageResourceCacheClassPath.class,
+        HintStoreUsingWicketSession.class,
+        PageClassListDefault.class,
+        PageClassRegistryDefault.class,
+        PageNavigationServiceDefault.class,
+        WebModuleWicket.class,*/
+
+})
+public class CausewayModuleViewerVaadinViewer {
+
+    public static final String NAMESPACE = "causeway.viewer.vaadin";
+}

Reply via email to