Author: wkeil Date: Sun Jun 19 19:31:04 2016 New Revision: 1749196 URL: http://svn.apache.org/viewvc?rev=1749196&view=rev Log: DMAP-153: Add a demo for HTML5 Canvas
Task-Url: https://issues.apache.org/jira/browse/DMAP-153 Added: devicemap/trunk/examples/1.0/java/gwt/ (with props) devicemap/trunk/examples/1.0/java/gwt/gwt-model/ (with props) devicemap/trunk/examples/1.0/java/gwt/gwt-model/pom.xml devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/Person.java devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/PersonRepository.java devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/PersonService.java devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/PersonServiceImpl.java devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/applicationContext.xml devicemap/trunk/examples/1.0/java/gwt/gwt-shared/ (with props) devicemap/trunk/examples/1.0/java/gwt/gwt-shared/pom.xml devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/gwtcanvasdemoShared.gwt.xml devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/PersonalTitle.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/ (with props) devicemap/trunk/examples/1.0/java/gwt/gwt-web/pom.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/security-development.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/login.jspx devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/sdm.jsp devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactory.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactoryImpl.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/gwtcanvasdemo.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.properties devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppActivityMapper.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppPlaceHistoryMapper.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/BaseActivity.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ListPersonsActivity.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/PersonDetailActivity.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/WelcomeActivity.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ListPersonsPlace.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/PersonDetailPlace.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/WelcomePlace.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/ApplicationRequestFactory.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/proxy/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/proxy/PersonProxy.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/request/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/request/PersonRequest.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/ListPersonsView.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/PersonDetailView.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/WelcomeView.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.ui.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.ui.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.ui.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.ui.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.ui.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/util/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/util/ViewUtils.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/validation/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/validation/ValidatorFactory.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/PersonLocator.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/PassAllAuthenticationProvider.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleAuthority.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleUserDetailsService.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SimpleUserDetails.java devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/security-cas.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/gwtcanvasdemo/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/gwtcanvasdemo/module/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/spring/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/spring/applicationContext.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/log4j.properties devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/database.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/error500.html devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/index.jsp devicemap/trunk/examples/1.0/java/gwt/pom.xml Propchange: devicemap/trunk/examples/1.0/java/gwt/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jun 19 19:31:04 2016 @@ -0,0 +1,2 @@ +target +.project Propchange: devicemap/trunk/examples/1.0/java/gwt/gwt-model/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jun 19 19:31:04 2016 @@ -0,0 +1,3 @@ +target +.classpath +.project Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/pom.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/pom.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/pom.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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.devicemap.examples</groupId> + <artifactId>gwt</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + <artifactId>gwt-model</artifactId> + <name>Sample GWT - Model</name> + <description>Model classes: domain, repositories, services.</description> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencies> + <dependency> + <groupId>org.apache.devicemap.examples</groupId> + <artifactId>gwt-shared</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + <version>1.0.0.GA</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.1.0.Final</version> + </dependency> + <dependency> + <groupId>org.hibernate.javax.persistence</groupId> + <artifactId>hibernate-jpa-2.0-api</artifactId> + <version>1.0.1.Final</version> + </dependency> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-aspects</artifactId> + <version>3.1.3.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-config</artifactId> + <version>3.1.3.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-orm</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-aop</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-tx</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + <version>3.2.1.RELEASE</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-jpa</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-spring-data-jpa</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.2</version> + </dependency> + <dependency> + <groupId>org.aspectj</groupId> + <artifactId>aspectjrt</artifactId> + <version>1.7.1</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.bsc.maven</groupId> + <artifactId>maven-processor-plugin</artifactId> + <version>2.0.5</version> + <executions> + <execution> + <id>process</id> + <goals> + <goal>process</goal> + </goals> + <phase>generate-sources</phase> + <configuration> + <!-- source output directory --> + <outputDirectory>target/metamodel</outputDirectory> + </configuration> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-jpamodelgen</artifactId> + <version>1.1.1.Final</version> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.7</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>target/metamodel</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>aspectj-maven-plugin</artifactId> + <version>1.4</version> + <dependencies> + <dependency> + <groupId>org.aspectj</groupId> + <artifactId>aspectjrt</artifactId> + <version>1.7.1</version> + </dependency> + <dependency> + <groupId>org.aspectj</groupId> + <artifactId>aspectjtools</artifactId> + <version>1.7.1</version> + </dependency> + </dependencies> + <executions> + <execution> + <goals> + <goal>compile</goal> + <goal>test-compile</goal> + </goals> + </execution> + </executions> + <configuration> + <outxml>true</outxml> + <aspectLibraries> + <aspectLibrary> + <groupId>org.springframework</groupId> + <artifactId>spring-aspects</artifactId> + </aspectLibrary> + <aspectLibrary> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-aspects</artifactId> + </aspectLibrary> + </aspectLibraries> + <source>1.6</source> + <target>1.6</target> + </configuration> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <!--This plugin's configuration is used to store Eclipse m2e settings + only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.bsc.maven</groupId> + <artifactId>maven-processor-plugin</artifactId> + <versionRange>[2.0.5,)</versionRange> + <goals> + <goal>process</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + <pluginExecution> + <pluginExecutionFilter> + <groupId> + org.codehaus.mojo + </groupId> + <artifactId> + aspectj-maven-plugin + </artifactId> + <versionRange> + [1.4,) + </versionRange> + <goals> + <goal>test-compile</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/Person.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/Person.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/Person.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/domain/Person.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,88 @@ +package org.devicemap.examples.gwtcanvasdemo.model.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.persistence.Entity; +import javax.persistence.EntityListeners; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Version; +import javax.validation.constraints.NotNull; + +import com.github.apetrelli.gwtintegration.jpa.AbstractDeletable; +import com.github.apetrelli.gwtintegration.jpa.DeleteEntityListener; +import org.devicemap.examples.gwtcanvasdemo.shared.shared.enums.PersonalTitle; + +@Entity +@EntityListeners({ DeleteEntityListener.class }) +public class Person extends AbstractDeletable { + + @Id + @GeneratedValue + private Long id; + + @Version + private Integer version; + + @NotNull + private PersonalTitle personalTitle; + + @NotNull + private String firstName; + + @NotNull + private String lastName; + + private Date birthDate; + + private BigDecimal annualIncome; + + public Long getId() { + return id; + } + + public Integer getVersion() { + return version; + } + + public PersonalTitle getPersonalTitle() { + return personalTitle; + } + + public void setPersonalTitle(PersonalTitle personalTitle) { + this.personalTitle = personalTitle; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Date getBirthDate() { + return birthDate; + } + + public void setBirthDate(Date birthDate) { + this.birthDate = birthDate; + } + + public BigDecimal getAnnualIncome() { + return annualIncome; + } + + public void setAnnualIncome(BigDecimal annualIncome) { + this.annualIncome = annualIncome; + } +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/PersonRepository.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/PersonRepository.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/PersonRepository.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/repository/PersonRepository.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,17 @@ +package org.devicemap.examples.gwtcanvasdemo.model.repository; + +import javax.persistence.QueryHint; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.QueryHints; +import org.springframework.stereotype.Repository; + +import org.devicemap.examples.gwtcanvasdemo.model.domain.Person; + +@Repository +public interface PersonRepository extends JpaRepository<Person, Long>, JpaSpecificationExecutor<Person> { + + @QueryHints(value = { @QueryHint(name = "org.hibernate.readOnly", value = "true")}) + Person findById(Long id); +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/PersonService.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/PersonService.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/PersonService.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/PersonService.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,13 @@ +package org.devicemap.examples.gwtcanvasdemo.model.service; + +import java.util.List; + +import org.devicemap.examples.gwtcanvasdemo.model.domain.Person; +import com.github.apetrelli.gwtintegration.service.CrudService; + +public interface PersonService extends CrudService<Person, Long> { + + long countAllPersons(); + + List<Person> findAllPersons(); +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/PersonServiceImpl.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/PersonServiceImpl.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/PersonServiceImpl.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/java/org/devicemap/examples/gwtcanvasdemo/model/service/impl/PersonServiceImpl.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,33 @@ +package org.devicemap.examples.gwtcanvasdemo.model.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.github.apetrelli.gwtintegration.datajpa.AbstractCrudService; +import org.devicemap.examples.gwtcanvasdemo.model.domain.Person; +import org.devicemap.examples.gwtcanvasdemo.model.repository.PersonRepository; +import org.devicemap.examples.gwtcanvasdemo.model.service.PersonService; + +@Service +@Transactional(readOnly=true) +public class PersonServiceImpl extends AbstractCrudService<Person, Long, PersonRepository> implements PersonService{ + + private final Sort defaultSort = new Sort("lastName"); + + @Autowired + public PersonServiceImpl(PersonRepository repository) { + super(repository); + } + + public long countAllPersons() { + return repository.count(); + } + + public List<Person> findAllPersons() { + return repository.findAll(defaultSort); + } +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/applicationContext.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/applicationContext.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/applicationContext.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-model/src/main/resources/META-INF/spring/applicationContext.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" + xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://www.springframework.org/schema/security" + xmlns:datajpa="http://www.springframework.org/schema/data/jpa" + xsi:schemaLocation="http://www.springframework.org/schema/aop + http://www.springframework.org/schema/aop/spring-aop-3.1.xsd + http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans-3.1.xsd + http://www.springframework.org/schema/context + http://www.springframework.org/schema/context/spring-context-3.1.xsd + http://www.springframework.org/schema/jee + http://www.springframework.org/schema/jee/spring-jee-3.1.xsd + http://www.springframework.org/schema/tx + http://www.springframework.org/schema/tx/spring-tx-3.1.xsd + http://www.springframework.org/schema/security + http://www.springframework.org/schema/security/spring-security-3.1.xsd + http://www.springframework.org/schema/data/jpa + http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> + <!-- Turn on AspectJ @Configurable support. As a result, any time you instantiate + an object, Spring will attempt to perform dependency injection on that object. + This occurs for instantiation via the "new" keyword, as well as via reflection. + This is possible because AspectJ is used to "weave" Roo-based applications + at compile time. In effect this feature allows dependency injection of any + object at all in your system, which is a very useful feature (without @Configurable + you'd only be able to dependency inject objects acquired from Spring or subsequently + presented to a specific Spring dependency injection method). Roo applications + use this useful feature in a number of areas, such as @PersistenceContext + injection into entities. --> + <context:spring-configured /> + <!-- This declaration will cause Spring to locate every @Component, @Repository + and @Service in your application. In practical terms this allows you to write + a POJO and then simply annotate the new POJO as an @Service and Spring will + automatically detect, instantiate and dependency inject your service at startup + time. Importantly, you can then also have your new service injected into + any other class that requires it simply by declaring a field for your service + inside the relying class and Spring will inject it. Note that two exclude + filters are declared. The first ensures that Spring doesn't spend time introspecting + Roo-specific ITD aspects. The second ensures Roo doesn't instantiate your + @Controller classes, as these should be instantiated by a web tier application + context. Refer to web.xml for more details about the web tier application + context setup services. Furthermore, this turns on @Autowired, @PostConstruct + etc support. These annotations allow you to use common Spring and Java Enterprise + Edition annotations in your classes without needing to do any special configuration. + The most commonly used annotation is @Autowired, which instructs Spring to + dependency inject an object into your class. --> + <context:component-scan base-package="org.devicemap.examples.gwtcanvasdemo" /> + <bean class="org.springframework.orm.jpa.JpaTransactionManager" + id="transactionManager"> + <property name="entityManagerFactory" ref="entityManagerFactory" /> + </bean> + <tx:annotation-driven mode="aspectj" + transaction-manager="transactionManager" /> + <sec:global-method-security mode="aspectj" + pre-post-annotations="enabled" /> + <bean id="messageInterpolator" + class="org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator"> + <constructor-arg ref="resourceBundleLocator" /> + </bean> + <bean id="validator" + class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> + <property name="messageInterpolator" ref="messageInterpolator" /> + </bean> + <datajpa:repositories base-package="org.devicemap.examples.gwtcanvasdemo.model.repository" /> + +</beans> Propchange: devicemap/trunk/examples/1.0/java/gwt/gwt-shared/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jun 19 19:31:04 2016 @@ -0,0 +1,3 @@ +target +.classpath +.project Added: devicemap/trunk/examples/1.0/java/gwt/gwt-shared/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-shared/pom.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-shared/pom.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/pom.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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.devicemap.examples</groupId> + <artifactId>gwt</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + <artifactId>gwt-shared</artifactId> + <name>Sample GWT - Shared classes</name> + <description>Shared classes between the model and the web project</description> + <build> + <resources> + <resource> + <directory>src/main/java</directory> + </resource> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + </build> +</project> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/gwtcanvasdemoShared.gwt.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/gwtcanvasdemoShared.gwt.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/gwtcanvasdemoShared.gwt.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/gwtcanvasdemoShared.gwt.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<module> + <source path="shared"/> +</module> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/PersonalTitle.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/PersonalTitle.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/PersonalTitle.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-shared/src/main/java/org/devicemap/examples/gwtcanvasdemo/shared/shared/enums/PersonalTitle.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,5 @@ +package org.devicemap.examples.gwtcanvasdemo.shared.shared.enums; + +public enum PersonalTitle { + MR, MISS, MRS, MS; +} Propchange: devicemap/trunk/examples/1.0/java/gwt/gwt-web/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jun 19 19:31:04 2016 @@ -0,0 +1,4 @@ +target +.settings +.project +.classpath Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/pom.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/pom.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/pom.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,395 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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.devicemap.examples</groupId> + <artifactId>gwt</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + <artifactId>gwt-web</artifactId> + <packaging>war</packaging> + <name>Sample GWT - Web project</name> + <description>The main web project</description> + <dependencies> + <dependency> + <groupId>org.apache.devicemap.examples</groupId> + <artifactId>gwt-model</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-web</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-servlet</artifactId> + <version>${gwt.version}</version> + </dependency> + <dependency> + <groupId>commons-dbcp</groupId> + <artifactId>commons-dbcp</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <version>2.2.9</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.1.0.Final</version> + <classifier>sources</classifier> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-hibernate-validator</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.7.2</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-hibernate-entitymanager</artifactId> + <version>${gwt.integration.version}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-hibernate-core</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-spring-security</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-spring-web</artifactId> + <version>${gwt.integration.version}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-remote-logging</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-widget</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-mvp</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-error</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>com.github.apetrelli.gwtintegration</groupId> + <artifactId>gwt-integration-util</artifactId> + <version>${gwt.integration.version}</version> + </dependency> + <dependency> + <groupId>org.codeartisans</groupId> + <artifactId>org.json</artifactId> + <version>20131017</version> + </dependency> + </dependencies> + <build> + <finalName>gwt</finalName> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-eclipse-plugin</artifactId> + <version>2.9</version> + <!-- Note 2.8 does not work with AspectJ aspect path --> + <configuration> + <downloadSources>true</downloadSources> + <downloadJavadocs>false</downloadJavadocs> + <wtpversion>2.0</wtpversion> + <additionalBuildcommands> + <buildCommand> + <name>org.springframework.ide.eclipse.core.springbuilder</name> + </buildCommand> + <buildCommand> + <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> + </buildCommand> + </additionalBuildcommands> + <additionalProjectnatures> + <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> + <projectnature>com.google.gwt.eclipse.core.gwtNature</projectnature> + </additionalProjectnatures> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>gwt-maven-plugin</artifactId> + <version>${gwt.version}</version> + <configuration> + <logLevel>INFO</logLevel> + <style>OBF</style> + <runTarget>/index.html</runTarget> + <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp> + <modules> + <module>org.devicemap.examples.gwtcanvasdemo.module.gwtcanvasdemo</module> + </modules> + <copyWebapp>true</copyWebapp> + <!-- Triggering threaded compilation to save memory. + The number of threads are set to 10, however the ThreadedPermutationWorkerFactory uses a maximum + of threads calculated as the minimum between the number of <localWorkers> and this value (10). + If the <localWorkers> is not specified, the Maven plugin calculates the values as the number + of processor threads, so usually they are lower than 10.--> + <extraJvmArgs>-Dgwt.jjs.permutationWorkerFactory=com.google.gwt.dev.ThreadedPermutationWorkerFactory -Dgwt.jjs.maxThreads=10</extraJvmArgs> + </configuration> + <executions> + <execution> + <id>gwtcompile</id> + <phase>prepare-package</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwt.version}</version> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.1.0.Final</version> + <classifier>sources</classifier> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.bsc.maven</groupId> + <artifactId>maven-processor-plugin</artifactId> + <version>2.0.5</version> + <executions> + <execution> + <id>process</id> + <goals> + <goal>process</goal> + </goals> + <phase>generate-sources</phase> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>com.google.web.bindery</groupId> + <artifactId>requestfactory-apt</artifactId> + <version>${gwt.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <!--This plugin's configuration is used to store Eclipse m2e settings + only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.bsc.maven</groupId> + <artifactId>maven-processor-plugin</artifactId> + <versionRange>[2.0.5,)</versionRange> + <goals> + <goal>process</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + <profiles> + <profile> + <id>production</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <build> + <resources> + <resource> + <directory>src/main/production-resources</directory> + </resource> + </resources> + <!-- Google Plugin for Eclipse (GPE) won't see the source generated above + by requestfactory-apt unless it is exposed as an additional source dir --> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.7</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>${project.build.directory}/generated-sources/apt</source> + <source>src/main/production-sources</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>development</id> + <build> + <resources> + <resource> + <directory>src/main/development-resources</directory> + </resource> + </resources> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.7</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>${project.build.directory}/generated-sources/apt</source> + <source>src/main/development-sources</source> + </sources> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>gwt-maven-plugin</artifactId> + <version>${gwt.version}</version> + <configuration> + <logLevel>INFO</logLevel> + <style>PRETTY</style> + <draftCompile>true</draftCompile> + <saveSource>true</saveSource> + <extra>${project.build.directory}/gwt-extra</extra> + <runTarget>/index.html</runTarget> + <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp> + <modules> + <module>org.devicemap.examples.gwtcanvasdemo.module.gwtcanvasdemo</module> + </modules> + <copyWebapp>true</copyWebapp> + <webappDirectory>${project.build.directory}/gwt-development</webappDirectory> + <!-- Triggering threaded compilation to save memory. The number of threads + are set to 10, however the ThreadedPermutationWorkerFactory uses a maximum + of threads calculated as the minimum between the number of <localWorkers> + and this value (10). If the <localWorkers> is not specified, the Maven plugin + calculates the values as the number of processor threads, so usually they + are lower than 10. --> + <extraJvmArgs>-Dgwt.jjs.permutationWorkerFactory=com.google.gwt.dev.ThreadedPermutationWorkerFactory -Dgwt.jjs.maxThreads=10</extraJvmArgs> + </configuration> + <executions> + <execution> + <id>gwtcompile</id> + <phase>prepare-package</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwt.version}</version> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.1.0.Final</version> + <classifier>sources</classifier> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <version>2.4</version> + <configuration> + <webResources> + <resource> + <directory>src/main/extra-webapp</directory> + </resource> + <resource> + <directory>${project.build.directory}/gwt-development</directory> + </resource> + <resource> + <directory>${project.build.directory}/gwt-extra</directory> + <excludes> + <exclude>${project.build.finalName}/src/**</exclude> + </excludes> + </resource> + <resource> + <directory>${project.build.directory}/gwt-extra/${project.build.finalName}/src</directory> + <targetPath>${project.build.finalName}/symbolMaps</targetPath> + </resource> + </webResources> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/security-development.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/security-development.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/security-development.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-resources/META-INF/spring/security-development.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<beans:beans xmlns="http://www.springframework.org/schema/security" + xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans-3.0.xsd + http://www.springframework.org/schema/security + http://www.springframework.org/schema/security/spring-security-3.1.xsd"> + <http auto-config="true" use-expressions="true"> + <form-login login-processing-url="/resources/j_spring_security_check" + login-page="/login.jspx" authentication-failure-url="/login.jspx?login_error=t" + default-target-url="/" /> + <logout logout-url="/j_spring_security_logout" /> + + <!-- Configure these elements to secure URIs in your application --> + <intercept-url pattern="/login.jspx" access="permitAll" /> + <intercept-url pattern="/favicon.ico" access="permitAll" /> + <intercept-url pattern="/j_spring_security_logout" + access="permitAll" /> + <intercept-url pattern="/gwtRequest" access="permitAll" /> + <intercept-url pattern="/**" access="isAuthenticated()" /> + + </http> + <global-method-security pre-post-annotations="enabled" + mode="aspectj" /> + + <authentication-manager> + <authentication-provider ref="authenticationProvider" /> + </authentication-manager> + <beans:bean name="authenticationProvider" + class="org.devicemap.examples.gwtcanvasdemo.module.server.security.PassAllAuthenticationProvider"> + <beans:property name="userDetailsService" ref="userDetailsService" /> + </beans:bean> + <beans:bean id="userDetailsService" + class="org.devicemap.examples.gwtcanvasdemo.module.server.security.SampleUserDetailsService" /> +</beans:beans> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/development-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml Sun Jun 19 19:31:04 2016 @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.4.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.4.0/distro-source/core/src/gwt-module.dtd"> +<module rename-to="gwt"> + <inherits name="com.google.gwt.user.User"/> + <inherits name="com.google.gwt.user.cellview.CellView"/> + <inherits name="com.google.gwt.logging.Logging"/> + <inherits name="com.google.gwt.text.Text"/> + <inherits name="com.google.gwt.i18n.I18N"/> + <inherits name="com.google.gwt.resources.Resources" /> + <inherits name="com.google.gwt.user.theme.standard.Standard" /> + <inherits name="com.github.apetrelli.gwtintegration.cellview.GwtIntegrationCellview"/> + <inherits name="com.github.apetrelli.gwtintegration.error.GwtIntegrationError"/> + <inherits name="com.github.apetrelli.gwtintegration.editor.GwtIntegrationEditor"/> + <inherits name="com.github.apetrelli.gwtintegration.mvp.GwtIntegrationMvp"/> + <inherits name="com.github.apetrelli.gwtintegration.requestfactory.GwtIntegrationRequestFactory"/> + <inherits name="com.github.apetrelli.gwtintegration.spring.context.GwtIntegrationSpringContext"/> + <inherits name="com.github.apetrelli.gwtintegration.util.GwtIntegrationUtil"/> + <inherits name="com.github.apetrelli.gwtintegration.widget.GwtIntegrationWidget"/> + <inherits name="com.github.apetrelli.gwtintegration.remotelogging.GwtIntegrationRemoteLogging"/> + <inherits name="org.devicemap.examples.gwtcanvasdemo.shared.gwtcanvasdemoShared"/> + <inherits name="org.hibernate.validator.HibernateValidator" /> + <set-property name="compiler.stackMode" value="emulated"/> + <!-- Logging Configuration --> + <set-property name="gwt.logging.enabled" value="TRUE"/> + <set-property name="gwt.logging.logLevel" value="INFO"/> + <set-property name="gwt.logging.consoleHandler" value="ENABLED"/> + <set-property name="gwt.logging.developmentModeHandler" value="ENABLED"/> + <set-property name="gwt.logging.firebugHandler" value="ENABLED"/> + <set-property name="gwt.logging.hasWidgetsHandler" value="DISABLED"/> + <set-property name="gwt.logging.popupHandler" value="DISABLED"/> + <set-property name="gwt.logging.systemHandler" value="ENABLED"/> + <set-property name="gwt.logging.simpleRemoteHandler" value="DISABLED"/> + + <!-- Configuration for Super Dev Mode --> + <add-linker name="xsiframe"/> + <set-configuration-property name="devModeRedirectEnabled" value="false"/> + <set-configuration-property name="includeSourceMapUrl" value="__MODULE__/symbolMaps/__HASH___sourceMap0.json"/> + <set-property name="compiler.useSourceMaps" value="true" /> + <set-property name="user.agent" value="safari" /> + + <!--UiBinder Configuration --> + <set-configuration-property name="UiBinder.useSafeHtmlTemplates" value="true"/> + + <set-property name="compiler.emulatedStack" value="true" /> + <set-configuration-property name="compiler.emulatedStack.recordLineNumbers" value="true" /> + <set-configuration-property name="compiler.emulatedStack.recordFileNames" value="true" /> + <replace-with + class="org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactoryImpl"> + <when-type-is class="org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory" /> + </replace-with> + <source path="client" /> + <source path="shared"/> + <public path="public"/> + <entry-point class="org.devicemap.examples.gwtcanvasdemo.module.client.gwtcanvasdemo" /> + + <!-- Specify the Validator for the Validation bootstrap to use. --> + <replace-with + class="org.devicemap.examples.gwtcanvasdemo.module.client.validation.ValidatorFactory"> + <when-type-is class="javax.validation.ValidatorFactory" /> + </replace-with> +</module> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/login.jspx URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/login.jspx?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/login.jspx (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/login.jspx Sun Jun 19 19:31:04 2016 @@ -0,0 +1,31 @@ +<html> +<head></head> +<body> +<div xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> + <jsp:directive.page contentType="text/html;charset=UTF-8" /> + <jsp:output omit-xml-declaration="yes" /> + <p> + Security login + </p> + <form name="f" action="resources/j_spring_security_check" method="POST"> + <div> + <label for="j_username"> + Username + </label> + <input id="j_username" type='text' name='j_username' style="width:150px" /> + </div> + <br /> + <div> + <label for="j_password"> + Password + </label> + <input id="j_password" type='password' name='j_password' style="width:150px" /> + </div> + <br /> + <div class="submit"> + <input id="proceed" type="submit" value="Login" /> + <input id="reset" type="reset" value="Reset" /> + </div> + </form> +</div> +</body></html> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/sdm.jsp URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/sdm.jsp?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/sdm.jsp (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/extra-webapp/sdm.jsp Sun Jun 19 19:31:04 2016 @@ -0,0 +1,25 @@ +<%@page import="java.util.Date"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<% + Date now = new Date(); + response.setDateHeader("Date", now.getTime()); + // one day old + response.setDateHeader("Expires", now.getTime() - 86400000L); + response.setHeader( "Pragma", "no-cache" ); + response.setHeader( "Cache-Control", "no-cache, no-store, must-revalidate" ); +%> +<!doctype html> +<html> + <head> + <meta http-equiv="content-type" content="text/html; charset=UTF-8"> + <meta http-equiv="x-ua-compatible" content="IE=8"> + <title>Sample GWT (Superdevmode)</title> + <script type="text/javascript" src="http://localhost:9876/gwt/gwt.nocache.js"></script> + </head> + + <body> + <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe> + + </body> +</html> Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactory.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactory.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactory.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactory.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,27 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.ListPersonsView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.PersonDetailView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.WelcomeView; +import com.github.apetrelli.gwtintegration.mvp.client.ui.HasBody; +import com.google.gwt.place.shared.PlaceController; +import com.google.web.bindery.event.shared.EventBus; + +/** + * Container of client components. + * + */ +public interface ClientFactory { + + EventBus getEventBus(); + + PlaceController getPlaceController(); + + HasBody getTemplate(); + + WelcomeView getWelcomeView(); + + ListPersonsView getListPersonsView(); + + PersonDetailView getPersonDetailView(); +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactoryImpl.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactoryImpl.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactoryImpl.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ClientFactoryImpl.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,73 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.ListPersonsView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.PersonDetailView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.gwtcanvasdemoTemplate; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.WelcomeView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl.ListPersonsViewImpl; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl.PersonDetailViewImpl; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl.WelcomeViewImpl; +import com.github.apetrelli.gwtintegration.mvp.client.ui.HasBody; +import com.google.gwt.place.shared.PlaceController; +import com.google.web.bindery.event.shared.EventBus; +import com.google.web.bindery.event.shared.SimpleEventBus; + +/** + * Unique implementation of ClientFactory + */ +public class ClientFactoryImpl implements ClientFactory { + + private EventBus eventBus; + + private PlaceController placeController; + + private HasBody template; + + private WelcomeView welcomeView; + + private ListPersonsView listPersonsView; + + private PersonDetailView personDetailView; + + /** + * Constructor. + */ + public ClientFactoryImpl() { + eventBus = new SimpleEventBus(); + placeController = new PlaceController(eventBus); + welcomeView = new WelcomeViewImpl(); + template = new gwtcanvasdemoTemplate(); + listPersonsView = new ListPersonsViewImpl(); + personDetailView = new PersonDetailViewImpl(); + } + + @Override + public EventBus getEventBus() { + return eventBus; + } + + @Override + public PlaceController getPlaceController() { + return placeController; + } + + @Override + public HasBody getTemplate() { + return template; + } + + @Override + public WelcomeView getWelcomeView() { + return welcomeView; + } + + @Override + public ListPersonsView getListPersonsView() { + return listPersonsView; + } + + @Override + public PersonDetailView getPersonDetailView() { + return personDetailView; + } +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/gwtcanvasdemo.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/gwtcanvasdemo.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/gwtcanvasdemo.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/gwtcanvasdemo.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,65 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client; + +import java.util.logging.Logger; + +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.AppActivityMapper; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.AppPlaceHistoryMapper; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.WelcomePlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.ApplicationRequestFactory; +import com.github.apetrelli.gwtintegration.error.client.DialogBoxUncaughtExceptionHandler; +import com.github.apetrelli.gwtintegration.mvp.client.ui.HasBody; +import com.github.apetrelli.gwtintegration.remotelogging.client.SimpleRemoteLogHandler; +import com.github.apetrelli.gwtintegration.requestfactory.client.EventSourceRequestTransport; +import com.google.gwt.activity.shared.ActivityManager; +import com.google.gwt.activity.shared.ActivityMapper; +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.core.client.GWT; +import com.google.gwt.place.shared.Place; +import com.google.gwt.place.shared.PlaceController; +import com.google.gwt.place.shared.PlaceHistoryHandler; +import com.google.gwt.user.client.ui.RootLayoutPanel; +import com.google.web.bindery.event.shared.EventBus; + +/** + * Entry point of front-office application. + * + */ +public class gwtcanvasdemo implements EntryPoint { + + private Place defaultPlace = new WelcomePlace(); + + @Override + public void onModuleLoad() { + GWT.setUncaughtExceptionHandler(new DialogBoxUncaughtExceptionHandler()); + + ApplicationRequestFactory requestFactory = GWT + .create(ApplicationRequestFactory.class); + Logger.getLogger("").addHandler(new SimpleRemoteLogHandler()); + + ClientFactory clientFactory = GWT.create(ClientFactory.class); + EventBus eventBus = clientFactory.getEventBus(); + PlaceController placeController = clientFactory.getPlaceController(); + + // Start ActivityManager for the main widget with our ActivityMapper + requestFactory.initialize(eventBus, new EventSourceRequestTransport( + eventBus)); + ActivityMapper activityMapper = new AppActivityMapper(clientFactory, + requestFactory); + ActivityManager activityManager = new ActivityManager(activityMapper, + eventBus); + HasBody template = clientFactory.getTemplate(); + activityManager.setDisplay(template.getBody()); + + // Start PlaceHistoryHandler with our PlaceHistoryMapper + AppPlaceHistoryMapper historyMapper = GWT + .create(AppPlaceHistoryMapper.class); + PlaceHistoryHandler historyHandler = new PlaceHistoryHandler( + historyMapper); + historyHandler.register(placeController, eventBus, defaultPlace); + + RootLayoutPanel.get().add(template); + // Goes to the place represented on URL else default place + historyHandler.handleCurrentHistory(); + } + +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,33 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.i18n; + +import com.google.gwt.core.shared.GWT; +import com.google.gwt.i18n.client.Messages; + +public interface MainMessages extends Messages { + + public static final MainMessages INSTANCE = GWT.create(MainMessages.class); + + String title(); + + String welcomeText(); + + String persons(); + + String footer(); + + String add(); + + String save(); + + String delete(); + + String personalTitle(); + + String firstName(); + + String lastName(); + + String birthDate(); + + String annualIncome(); +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.properties URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.properties?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.properties (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/i18n/MainMessages.properties Sun Jun 19 19:31:04 2016 @@ -0,0 +1,13 @@ +title=Sample application +welcomeText=Hello there. +persons=Persons +footer=Footer text +add=Add +save=Save +delete=Delete + +personalTitle=Personal Title +firstName=First Name +lastName=Last Name +birthDate=Birth Date +annualIncome=Annual Income Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppActivityMapper.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppActivityMapper.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppActivityMapper.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppActivityMapper.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,47 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity.ListPersonsActivity; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity.PersonDetailActivity; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity.WelcomeActivity; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.ListPersonsPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.PersonDetailPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.WelcomePlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.ApplicationRequestFactory; +import com.google.gwt.activity.shared.Activity; +import com.google.gwt.activity.shared.ActivityMapper; +import com.google.gwt.place.shared.Place; + +/** + * Unique implementation of ActivityMapper. + * + */ +public class AppActivityMapper implements ActivityMapper { + + private ClientFactory clientFactory; + + private ApplicationRequestFactory requestFactory; + + /** + * Constructor of class. + * @param clientFactory Factory to determinate view. + * @param requestFactory Factory to determinate service to call. + */ + public AppActivityMapper(ClientFactory clientFactory, ApplicationRequestFactory requestFactory) { + this.clientFactory = clientFactory; + this.requestFactory = requestFactory; + } + + @Override + public Activity getActivity(Place place) { + if (place instanceof WelcomePlace) { + return new WelcomeActivity((WelcomePlace) place, clientFactory); + } else if (place instanceof ListPersonsPlace) { + return new ListPersonsActivity(requestFactory, clientFactory); + } else if (place instanceof PersonDetailPlace) { + return new PersonDetailActivity((PersonDetailPlace) place, requestFactory, clientFactory); + } + return null; + } + +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppPlaceHistoryMapper.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppPlaceHistoryMapper.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppPlaceHistoryMapper.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/AppPlaceHistoryMapper.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,16 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp; + +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.ListPersonsPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.PersonDetailPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.WelcomePlace; +import com.google.gwt.place.shared.PlaceHistoryMapper; +import com.google.gwt.place.shared.WithTokenizers; + +/** + * Mapping all Tokenizer of places. + * + */ +@WithTokenizers({ WelcomePlace.Tokenizer.class, ListPersonsPlace.Tokenizer.class, PersonDetailPlace.Tokenizer.class}) +public interface AppPlaceHistoryMapper extends PlaceHistoryMapper { + +} \ No newline at end of file Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/BaseActivity.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/BaseActivity.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/BaseActivity.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/BaseActivity.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,19 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.ApplicationRequestFactory; +import com.github.apetrelli.gwtintegration.mvp.client.ui.impl.AbstractPresenter; + +public abstract class BaseActivity extends AbstractPresenter { + + protected ApplicationRequestFactory requestFactory; + protected ClientFactory clientFactory; + + public BaseActivity(ApplicationRequestFactory requestFactory, + ClientFactory clientFactory) { + super(clientFactory.getPlaceController()); + this.requestFactory = requestFactory; + this.clientFactory = clientFactory; + } + +} \ No newline at end of file Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ListPersonsActivity.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ListPersonsActivity.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ListPersonsActivity.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/ListPersonsActivity.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,32 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity; + +import java.util.List; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.ApplicationRequestFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.ListPersonsView; +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.user.client.ui.AcceptsOneWidget; +import com.google.web.bindery.requestfactory.shared.Receiver; + +public class ListPersonsActivity extends BaseActivity implements ListPersonsView.Presenter { + + public ListPersonsActivity(ApplicationRequestFactory requestFactory, ClientFactory clientFactory) { + super(requestFactory, clientFactory); + } + + @Override + public void start(final AcceptsOneWidget panel, EventBus eventBus) { + requestFactory.personRequest().findAllPersons().fire(new Receiver<List<PersonProxy>>() { + + @Override + public void onSuccess(List<PersonProxy> response) { + ListPersonsView view = clientFactory.getListPersonsView(); + view.setPresenter(ListPersonsActivity.this); + view.setPersons(response); + panel.setWidget(view); + } + }); + } +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/PersonDetailActivity.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/PersonDetailActivity.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/PersonDetailActivity.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/PersonDetailActivity.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,81 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.ListPersonsPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.PersonDetailPlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.ApplicationRequestFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy; +import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.request.PersonRequest; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.PersonDetailView; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.editor.PersonEditor; +import com.github.apetrelli.gwtintegration.editor.client.editor.EditorWorkflow; +import com.google.gwt.core.shared.GWT; +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.AcceptsOneWidget; +import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver; + +public class PersonDetailActivity extends BaseActivity implements PersonDetailView.Presenter { + + private Long id; + + interface Driver extends RequestFactoryEditorDriver<PersonProxy, PersonEditor> {}; + + private Driver driver; + + private EditorWorkflow<PersonProxy, PersonRequest, PersonEditor, Long> workflow; + + public PersonDetailActivity(PersonDetailPlace place, ApplicationRequestFactory requestFactory, ClientFactory clientFactory) { + super(requestFactory, clientFactory); + id = place.getId(); + driver = GWT.create(Driver.class); + workflow = new EditorWorkflow<PersonProxy, PersonRequest, PersonEditor, Long>(requestFactory, driver, clientFactory.getPersonDetailView().getEditor()) { + + @Override + protected PersonRequest getNewRequestContext() { + return PersonDetailActivity.this.requestFactory.personRequest(); + } + + @Override + protected Class<PersonProxy> getEntityProxyClass() { + return PersonProxy.class; + } + + @Override + protected Long getEntityId(PersonProxy entityProxy) { + return entityProxy.getId(); + } + + @Override + protected void afterSave(PersonProxy response) { + Window.alert("Save successful!"); + goTo(new PersonDetailPlace(response.getId())); + } + + @Override + protected void afterDelete() { + Window.alert("Delete successful!"); + goTo(new ListPersonsPlace()); + } + }; + } + + @Override + public void start(final AcceptsOneWidget panel, EventBus eventBus) { + PersonDetailView view = clientFactory.getPersonDetailView(); + view.setPresenter(this); + view.canDelete(id != null); + panel.setWidget(view); + workflow.start(id); + } + + @Override + public void save() { + workflow.save(); + } + + @Override + public void delete() { + workflow.delete(); + } +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/WelcomeActivity.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/WelcomeActivity.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/WelcomeActivity.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/activity/WelcomeActivity.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,39 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.activity; + +import org.devicemap.examples.gwtcanvasdemo.module.client.ClientFactory; +import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.WelcomePlace; +import org.devicemap.examples.gwtcanvasdemo.module.client.ui.WelcomeView; +import com.google.gwt.activity.shared.AbstractActivity; +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.place.shared.Place; +import com.google.gwt.user.client.ui.AcceptsOneWidget; + +/** + * Activity for Welcome. + */ +public class WelcomeActivity extends AbstractActivity implements WelcomeView.Presenter { + + private ClientFactory clientFactory; + + /** + * Constructor of class. + * @param place Current place. + * @param clientFactory Factory to determine view. + */ + public WelcomeActivity(WelcomePlace place, ClientFactory clientFactory) { + this.clientFactory = clientFactory; + } + + @Override + public void start(AcceptsOneWidget panel, EventBus eventBus) { + final WelcomeView view = clientFactory.getWelcomeView(); + view.setPresenter(this); + panel.setWidget(view); + } + + @Override + public void goTo(Place place) { + clientFactory.getPlaceController().goTo(place); + } + +} Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ListPersonsPlace.java URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ListPersonsPlace.java?rev=1749196&view=auto ============================================================================== --- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ListPersonsPlace.java (added) +++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/ListPersonsPlace.java Sun Jun 19 19:31:04 2016 @@ -0,0 +1,28 @@ +package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place; + +import com.google.gwt.place.shared.Place; +import com.google.gwt.place.shared.PlaceTokenizer; + +/** + * Place for Welcome. + */ +public class ListPersonsPlace extends Place { + + /** + * Implementation of Tokenizer for this class. + */ + public static class Tokenizer implements PlaceTokenizer<ListPersonsPlace> { + + @Override + public ListPersonsPlace getPlace(String token) { + return new ListPersonsPlace(); + } + + @Override + public String getToken(ListPersonsPlace place) { + return ""; + } + + } + +}
