You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devicemap.apache.org by wk...@apache.org on 2016/06/19 19:31:05 UTC
svn commit: r1749196 [2/2] - in /devicemap/trunk/examples/1.0/java/gwt: ./
gwt-model/ gwt-model/src/ gwt-model/src/main/ gwt-model/src/main/java/
gwt-model/src/main/java/org/ gwt-model/src/main/java/org/devicemap/
gwt-model/src/main/java/org/devicemap/...
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/PersonDetailPlace.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/PersonDetailPlace.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/PersonDetailPlace.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/PersonDetailPlace.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,47 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place;
+
+import com.github.apetrelli.gwtintegration.util.shared.StringUtils;
+import com.google.gwt.place.shared.Place;
+import com.google.gwt.place.shared.PlaceTokenizer;
+
+/**
+ * Place for Welcome.
+ */
+public class PersonDetailPlace extends Place {
+
+ private Long id;
+
+ public PersonDetailPlace() {
+ this(null);
+ }
+
+ public PersonDetailPlace(Long id) {
+ this.id = id;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * Implementation of Tokenizer for this class.
+ */
+ public static class Tokenizer implements PlaceTokenizer<PersonDetailPlace> {
+
+ @Override
+ public PersonDetailPlace getPlace(String token) {
+ Long id = null;
+ if (!StringUtils.isBlank(token)) {
+ id = Long.decode(token);
+ }
+ return new PersonDetailPlace(id);
+ }
+
+ @Override
+ public String getToken(PersonDetailPlace place) {
+ return place.id != null ? place.id.toString() : "";
+ }
+
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/WelcomePlace.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/WelcomePlace.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/WelcomePlace.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/mvp/place/WelcomePlace.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 WelcomePlace extends Place {
+
+ /**
+ * Implementation of Tokenizer for this class.
+ */
+ public static class Tokenizer implements PlaceTokenizer<WelcomePlace> {
+
+ @Override
+ public WelcomePlace getPlace(String token) {
+ return new WelcomePlace();
+ }
+
+ @Override
+ public String getToken(WelcomePlace place) {
+ return "";
+ }
+
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/ApplicationRequestFactory.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/requestfactory/ApplicationRequestFactory.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/ApplicationRequestFactory.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/ApplicationRequestFactory.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,20 @@
+// WARNING: DO NOT EDIT THIS FILE. THIS FILE IS MANAGED BY SPRING ROO.
+
+package org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.request.PersonRequest;
+import com.google.web.bindery.requestfactory.shared.LoggingRequest;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+
+/**
+ * The main request factory.
+ */
+public interface ApplicationRequestFactory extends RequestFactory {
+
+ /**
+ * @return a GWT logging request.
+ */
+ LoggingRequest loggingRequest();
+
+ PersonRequest personRequest();
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/proxy/PersonProxy.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/requestfactory/proxy/PersonProxy.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/proxy/PersonProxy.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/proxy/PersonProxy.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,45 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import javax.validation.constraints.NotNull;
+
+import org.hibernate.validator.constraints.NotEmpty;
+
+import org.devicemap.examples.gwtcanvasdemo.model.domain.Person;
+import org.devicemap.examples.gwtcanvasdemo.module.server.locator.PersonLocator;
+import org.devicemap.examples.gwtcanvasdemo.shared.shared.enums.PersonalTitle;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+
+@ProxyFor(value = Person.class, locator = PersonLocator.class)
+public interface PersonProxy extends EntityProxy {
+
+ Long getId();
+
+ Integer getVersion();
+
+ @NotNull
+ PersonalTitle getPersonalTitle();
+
+ void setPersonalTitle(PersonalTitle personalTitle);
+
+ @NotEmpty
+ String getFirstName();
+
+ void setFirstName(String firstName);
+
+ @NotEmpty
+ String getLastName();
+
+ void setLastName(String lastName);
+
+ Date getBirthDate();
+
+ void setBirthDate(Date birthDate);
+
+ BigDecimal getAnnualIncome();
+
+ void setAnnualIncome(BigDecimal annualIncome);
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/request/PersonRequest.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/requestfactory/request/PersonRequest.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/request/PersonRequest.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/requestfactory/request/PersonRequest.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,24 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.request;
+
+import java.util.List;
+
+import com.github.apetrelli.gwtintegration.editor.client.requestfactory.CrudRequest;
+import com.github.apetrelli.gwtintegration.spring.context.server.requestfactory.GwtServiceLocator;
+import org.devicemap.examples.gwtcanvasdemo.model.service.PersonService;
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.Service;
+
+@Service(value = PersonService.class, locator = GwtServiceLocator.class)
+public interface PersonRequest extends CrudRequest<PersonProxy, Long> {
+
+ Request<PersonProxy> findOne(Long id);
+
+ Request<PersonProxy> save(PersonProxy entityProxy);
+
+ Request<Void> delete(Long id);
+
+ Request<Long> countAllPersons();
+
+ Request<List<PersonProxy>> findAllPersons();
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/ListPersonsView.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/ui/ListPersonsView.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/ListPersonsView.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/ListPersonsView.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,14 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui;
+
+import java.util.List;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy;
+import com.github.apetrelli.gwtintegration.mvp.client.ui.MvpView;
+
+public interface ListPersonsView extends MvpView<ListPersonsView.Presenter> {
+
+ void setPersons(List<PersonProxy> persons);
+
+ public interface Presenter extends MvpView.Presenter {
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/PersonDetailView.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/ui/PersonDetailView.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/PersonDetailView.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/PersonDetailView.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,17 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.ui.editor.PersonEditor;
+import com.github.apetrelli.gwtintegration.mvp.client.ui.MvpView;
+
+public interface PersonDetailView extends MvpView<PersonDetailView.Presenter> {
+
+ PersonEditor getEditor();
+
+ void canDelete(boolean canDelete);
+
+ public interface Presenter extends MvpView.Presenter {
+ void save();
+
+ void delete();
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/WelcomeView.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/ui/WelcomeView.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/WelcomeView.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/WelcomeView.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,29 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui;
+
+import com.google.gwt.place.shared.Place;
+import com.google.gwt.user.client.ui.IsWidget;
+
+/**
+ * Interface view that describe the welcome web-page.
+ *
+ */
+public interface WelcomeView extends IsWidget {
+
+ /**
+ * Set the associated activity.
+ * @param presenter associated Activity.
+ */
+ void setPresenter(Presenter presenter);
+
+ /**
+ * Interface bridge to activity and view.
+ *
+ */
+ public interface Presenter {
+ /**
+ * Redirect the user to the indicate place.
+ * @param place Place associated.
+ */
+ void goTo(Place place);
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.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/ui/editor/PersonEditor.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,70 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui.editor;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import com.github.apetrelli.gwtintegration.editor.client.widget.LeafValueEditorDecorator;
+import com.github.apetrelli.gwtintegration.editor.client.widget.ValueDateBox;
+import com.github.apetrelli.gwtintegration.editor.client.widget.ValueListBox;
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy;
+import org.devicemap.examples.gwtcanvasdemo.shared.shared.enums.PersonalTitle;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.editor.client.Editor;
+import com.google.gwt.editor.ui.client.ValueBoxEditorDecorator;
+import com.google.gwt.text.shared.Renderer;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Widget;
+
+public class PersonEditor extends Composite implements Editor<PersonProxy>{
+
+ @UiField LeafValueEditorDecorator<ValueListBox<PersonalTitle>, PersonalTitle> personalTitle;
+
+ @Ignore
+ @UiField(provided=true) ValueListBox<PersonalTitle> personalTitleListBox;
+
+ @UiField ValueBoxEditorDecorator<String> firstName;
+
+ @UiField ValueBoxEditorDecorator<String> lastName;
+
+ @UiField LeafValueEditorDecorator<ValueDateBox, Date> birthDate;
+
+ @UiField ValueBoxEditorDecorator<BigDecimal> annualIncome;
+
+ private static PersonEditorUiBinder uiBinder = GWT
+ .create(PersonEditorUiBinder.class);
+
+ interface PersonEditorUiBinder extends UiBinder<Widget, PersonEditor> {
+ }
+
+ public PersonEditor() {
+ initPersonalTitle();
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ private void initPersonalTitle() {
+ personalTitleListBox = new ValueListBox<PersonalTitle>(new Renderer<PersonalTitle>() {
+
+ @Override
+ public String render(PersonalTitle object) {
+ return object != null ? object.toString() : "";
+ }
+
+ @Override
+ public void render(PersonalTitle object, Appendable appendable)
+ throws IOException {
+ appendable.append(render(object));
+ }
+ });
+ List<PersonalTitle> titles = new ArrayList<PersonalTitle>();
+ titles.add(null);
+ titles.addAll(Arrays.asList(PersonalTitle.values()));
+ personalTitleListBox.setAcceptableValues(titles);
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.ui.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.ui.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.ui.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/editor/PersonEditor.ui.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,43 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui"
+ xmlns:e='urn:import:com.google.gwt.editor.ui.client'
+ xmlns:e1='urn:import:com.github.apetrelli.gwtintegration.editor.client.widget'>
+ <ui:style>
+
+ </ui:style>
+ <ui:with field="util" type="org.devicemap.examples.gwtcanvasdemo.module.client.util.ViewUtils" />
+ <ui:with type="org.devicemap.examples.gwtcanvasdemo.module.client.i18n.MainMessages" field="messages" />
+ <g:FlowPanel>
+ <g:Label text="{messages.personalTitle}" />
+ <e1:LeafValueEditorDecorator ui:field="personalTitle">
+ <e1:valuebox>
+ <e1:ValueListBox ui:field="personalTitleListBox" />
+ </e1:valuebox>
+ </e1:LeafValueEditorDecorator>
+ <g:Label text="{messages.firstName}" />
+ <e:ValueBoxEditorDecorator ui:field="firstName">
+ <e:valuebox>
+ <g:TextBox />
+ </e:valuebox>
+ </e:ValueBoxEditorDecorator>
+ <g:Label text="{messages.lastName}" />
+ <e:ValueBoxEditorDecorator ui:field="lastName">
+ <e:valuebox>
+ <g:TextBox />
+ </e:valuebox>
+ </e:ValueBoxEditorDecorator>
+ <g:Label text="{messages.birthDate}" />
+ <e1:LeafValueEditorDecorator ui:field="birthDate">
+ <e1:valuebox>
+ <e1:ValueDateBox format="{util.getDateFormatForDateBox}" />
+ </e1:valuebox>
+ </e1:LeafValueEditorDecorator>
+ <g:Label text="{messages.annualIncome}" />
+ <e:ValueBoxEditorDecorator ui:field="annualIncome">
+ <e:valuebox>
+ <e1:ValueBox renderer="{util.getMoneyRenderer}" parser="{util.getMoneyParser}" />
+ </e:valuebox>
+ </e:ValueBoxEditorDecorator>
+ </g:FlowPanel>
+</ui:UiBinder>
\ 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/ui/gwtcanvasdemoTemplate.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/ui/gwtcanvasdemoTemplate.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,30 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui;
+
+import com.github.apetrelli.gwtintegration.mvp.client.ui.HasBody;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class gwtcanvasdemoTemplate extends Composite implements HasBody {
+
+ private static gwtcanvasdemoTemplateUiBinder uiBinder = GWT
+ .create(gwtcanvasdemoTemplateUiBinder.class);
+ @UiField SimplePanel body;
+
+ interface gwtcanvasdemoTemplateUiBinder extends
+ UiBinder<Widget, gwtcanvasdemoTemplate> {
+ }
+
+ public gwtcanvasdemoTemplate() {
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ @Override
+ public AcceptsOneWidget getBody() {
+ return body;
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.ui.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.ui.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.ui.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/gwtcanvasdemoTemplate.ui.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,33 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:style>
+ .important {
+ font-weight: bold;
+ }
+ .resized {
+ height: 100%
+ }
+ </ui:style>
+ <ui:with type="org.devicemap.examples.gwtcanvasdemo.module.client.i18n.MainMessages" field="messages" />
+ <g:DockLayoutPanel>
+ <g:north size="100.0">
+ <g:FlowPanel>
+ <g:Label text="{messages.title}"/>
+ </g:FlowPanel>
+ </g:north>
+ <g:west size="100.0">
+ <g:FlowPanel>
+ <g:Hyperlink text="{messages.persons}" targetHistoryToken="ListPersonsPlace:" />
+ </g:FlowPanel>
+ </g:west>
+ <g:center>
+ <g:SimplePanel ui:field="body"/>
+ </g:center>
+ <g:south size="100.0">
+ <g:FlowPanel>
+ <g:Label text="{messages.footer}"/>
+ </g:FlowPanel>
+ </g:south>
+ </g:DockLayoutPanel>
+</ui:UiBinder>
\ 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/ui/impl/ListPersonsViewImpl.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/ui/impl/ListPersonsViewImpl.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,113 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl;
+
+import java.util.Comparator;
+import java.util.List;
+
+import com.github.apetrelli.gwtintegration.cellview.client.builder.CellTableWithListDataBuilder;
+import com.github.apetrelli.gwtintegration.cellview.client.widget.SimplePagedTable;
+import com.github.apetrelli.gwtintegration.mvp.client.ui.impl.AbstractMvpView;
+import com.github.apetrelli.gwtintegration.util.shared.ObjectUtils;
+import org.devicemap.examples.gwtcanvasdemo.module.client.mvp.place.PersonDetailPlace;
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy;
+import org.devicemap.examples.gwtcanvasdemo.module.client.ui.ListPersonsView;
+import org.devicemap.examples.gwtcanvasdemo.shared.shared.enums.PersonalTitle;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.cellview.client.TextColumn;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.view.client.CellPreviewEvent;
+import com.google.gwt.view.client.ProvidesKey;
+
+public class ListPersonsViewImpl extends AbstractMvpView<ListPersonsView.Presenter> implements ListPersonsView {
+
+ private static ListPersonsViewImplUiBinder uiBinder = GWT
+ .create(ListPersonsViewImplUiBinder.class);
+
+ interface ListPersonsViewImplUiBinder extends
+ UiBinder<Widget, ListPersonsViewImpl> {
+ }
+
+ @UiField(provided=true) SimplePagedTable<PersonProxy> dataTable;
+
+ public ListPersonsViewImpl() {
+ CellTableWithListDataBuilder<PersonProxy> builder = CellTableWithListDataBuilder.create();
+ builder.createDefaultDataProvider()
+ .setKeyProvider(new PersonKeyProvider())
+ .createDefaultSelectionModel().addSelectionCellboxColumn()
+ .addColumn("Title", new TextColumn<PersonProxy>() {
+
+ @Override
+ public String getValue(PersonProxy object) {
+ PersonalTitle title = object.getPersonalTitle();
+ return title != null ? title.toString() : "-";
+ }
+ }, new Comparator<PersonProxy>() {
+
+ @Override
+ public int compare(PersonProxy o1, PersonProxy o2) {
+ return ObjectUtils.compare(o1.getPersonalTitle(),
+ o2.getPersonalTitle());
+ }
+ })
+ .addColumn("Surname", new TextColumn<PersonProxy>() {
+
+ @Override
+ public String getValue(PersonProxy object) {
+ return object.getLastName();
+ }
+ }, new Comparator<PersonProxy>() {
+
+ @Override
+ public int compare(PersonProxy o1, PersonProxy o2) {
+ return o1.getLastName().compareTo(o2.getLastName());
+ }
+ })
+ .addColumn("Name", new TextColumn<PersonProxy>() {
+
+ @Override
+ public String getValue(PersonProxy object) {
+ return object.getFirstName();
+ }
+ }, new Comparator<PersonProxy>() {
+
+ @Override
+ public int compare(PersonProxy o1, PersonProxy o2) {
+ return o1.getLastName().compareTo(o2.getFirstName());
+ }
+ }).setCellPreviewHandler(new CellPreviewEvent.Handler<PersonProxy>() {
+
+ @Override
+ public void onCellPreview(CellPreviewEvent<PersonProxy> event) {
+ String type = event.getNativeEvent().getType();
+ if (type.equals("click")) {
+ presenter.goTo(new PersonDetailPlace(event.getValue().getId()));
+ }
+ }
+ });
+ dataTable = new SimplePagedTable<PersonProxy>(builder);
+ dataTable.setDefaultSortColumnIndex(2);
+ dataTable.setPageSize(5);
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ @Override
+ public void setPersons(List<PersonProxy> persons) {
+ dataTable.setItems(persons);
+ }
+
+ private static class PersonKeyProvider implements ProvidesKey<PersonProxy> {
+
+ @Override
+ public Object getKey(PersonProxy item) {
+ return item.getId();
+ }
+
+ }
+ @UiHandler("add")
+ void onAddClick(ClickEvent event) {
+ presenter.goTo(new PersonDetailPlace());
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.ui.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.ui.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.ui.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/ListPersonsViewImpl.ui.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,14 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui"
+ xmlns:c="urn:import:com.google.gwt.user.cellview.client"
+ xmlns:w="urn:import:com.github.apetrelli.gwtintegration.cellview.client.widget">
+ <ui:style>
+
+ </ui:style>
+ <ui:with type="org.devicemap.examples.gwtcanvasdemo.module.client.i18n.MainMessages" field="messages" />
+ <g:FlowPanel>
+ <w:SimplePagedTable ui:field="dataTable" />
+ <g:Button text="{messages.add}" ui:field="add" />
+ </g:FlowPanel>
+</ui:UiBinder>
\ 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/ui/impl/PersonDetailViewImpl.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/ui/impl/PersonDetailViewImpl.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,52 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.ui.PersonDetailView;
+import org.devicemap.examples.gwtcanvasdemo.module.client.ui.editor.PersonEditor;
+import com.github.apetrelli.gwtintegration.mvp.client.ui.impl.AbstractMvpView;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Widget;
+
+public class PersonDetailViewImpl extends AbstractMvpView<PersonDetailView.Presenter> implements PersonDetailView {
+
+ @UiField PersonEditor editor;
+
+ @UiField Button save;
+
+ @UiField Button delete;
+
+ private static PersonDetailViewImplUiBinder uiBinder = GWT
+ .create(PersonDetailViewImplUiBinder.class);
+
+ interface PersonDetailViewImplUiBinder extends
+ UiBinder<Widget, PersonDetailViewImpl> {
+ }
+
+ public PersonDetailViewImpl() {
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ @Override
+ public PersonEditor getEditor() {
+ return editor;
+ }
+
+ @Override
+ public void canDelete(boolean canDelete) {
+ delete.setVisible(canDelete);
+ }
+
+ @UiHandler("save")
+ void onSaveClick(ClickEvent event) {
+ presenter.save();
+ }
+
+ @UiHandler("delete")
+ void onDeleteClick(ClickEvent event) {
+ presenter.delete();
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.ui.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.ui.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.ui.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/PersonDetailViewImpl.ui.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,14 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui"
+ xmlns:e="urn:import:org.devicemap.examples.gwtcanvasdemo.module.client.ui.editor">
+ <ui:style>
+
+ </ui:style>
+ <ui:with type="org.devicemap.examples.gwtcanvasdemo.module.client.i18n.MainMessages" field="messages" />
+ <g:FlowPanel>
+ <e:PersonEditor ui:field="editor" />
+ <g:Button ui:field="save" text="{messages.save}" />
+ <g:Button ui:field="delete" text="{messages.delete}" />
+ </g:FlowPanel>
+</ui:UiBinder>
\ 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/ui/impl/WelcomeViewImpl.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/ui/impl/WelcomeViewImpl.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,37 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.ui.impl;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.ui.WelcomeView;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Unique implementation of view welcome.
+ * Define and management the element of page.
+ *
+ */
+public class WelcomeViewImpl extends Composite implements WelcomeView {
+
+ private static WelcomeViewImplUiBinder uiBinder = GWT
+ .create(WelcomeViewImplUiBinder.class);
+
+ /**
+ * Bridge to view and UiBinder xml.
+ *
+ */
+ interface WelcomeViewImplUiBinder extends UiBinder<Widget, WelcomeViewImpl> {
+ }
+
+ /**
+ * Constructor.
+ */
+ public WelcomeViewImpl() {
+ initWidget(uiBinder.createAndBindUi(this));
+ }
+
+ @Override
+ public void setPresenter(Presenter presenter) {
+ // Does nothing for the moment.
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.ui.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.ui.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.ui.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/ui/impl/WelcomeViewImpl.ui.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,17 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+ xmlns:g="urn:import:com.google.gwt.user.client.ui">
+ <ui:style>
+ .important {
+ font-weight: bold;
+ }
+
+ .sideBySide {
+ float: left;
+ }
+ </ui:style>
+ <ui:with type="org.devicemap.examples.gwtcanvasdemo.module.client.i18n.MainMessages" field="messages" />
+ <g:FlowPanel>
+ <g:Label text="{messages.welcomeText}" />
+ </g:FlowPanel>
+</ui:UiBinder>
\ 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/util/ViewUtils.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/util/ViewUtils.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/util/ViewUtils.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/util/ViewUtils.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,47 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.util;
+
+import java.math.BigDecimal;
+
+import com.github.apetrelli.gwtintegration.editor.client.text.BigDecimalParser;
+import com.github.apetrelli.gwtintegration.editor.client.text.NumberFormatRenderer;
+import com.github.apetrelli.gwtintegration.editor.client.widget.ValueDateBox;
+import com.github.apetrelli.gwtintegration.editor.client.widget.ValueDateBox.ParsingFormat;
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.i18n.client.NumberFormat;
+import com.google.gwt.text.shared.Parser;
+import com.google.gwt.text.shared.Renderer;
+
+public class ViewUtils {
+
+ private static DateTimeFormat dateFormat = DateTimeFormat.getFormat("dd/MM/yyyy");
+
+ private static ParsingFormat dateFormatForDateBox = new ValueDateBox.DefaultParsingFormat(dateFormat);
+
+ private static NumberFormat moneyFormat = NumberFormat.getFormat("#0.00");
+
+ private static Renderer<BigDecimal> moneyRenderer = new NumberFormatRenderer<BigDecimal>(moneyFormat);
+
+ private static Parser<BigDecimal> moneyParser = BigDecimalParser.instance();
+
+ private ViewUtils() {}
+
+ public static DateTimeFormat getDateFormat() {
+ return dateFormat;
+ }
+
+ public static ParsingFormat getDateFormatForDateBox() {
+ return dateFormatForDateBox;
+ }
+
+ public static NumberFormat getMoneyFormat() {
+ return moneyFormat;
+ }
+
+ public static Parser<BigDecimal> getMoneyParser() {
+ return moneyParser;
+ }
+
+ public static Renderer<BigDecimal> getMoneyRenderer() {
+ return moneyRenderer;
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/validation/ValidatorFactory.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/validation/ValidatorFactory.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/validation/ValidatorFactory.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/client/validation/ValidatorFactory.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,23 @@
+package org.devicemap.examples.gwtcanvasdemo.module.client.validation;
+
+import javax.validation.Validator;
+
+import org.devicemap.examples.gwtcanvasdemo.module.client.requestfactory.proxy.PersonProxy;
+import com.google.gwt.core.shared.GWT;
+import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
+import com.google.gwt.validation.client.GwtValidation;
+import com.google.gwt.validation.client.impl.AbstractGwtValidator;
+
+public class ValidatorFactory extends AbstractGwtValidatorFactory {
+
+ @GwtValidation({PersonProxy.class})
+ public interface GwtValidator extends Validator {
+
+ }
+
+ @Override
+ public AbstractGwtValidator createValidator() {
+ return GWT.create(GwtValidator.class);
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/PersonLocator.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/PersonLocator.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/PersonLocator.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/locator/PersonLocator.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,45 @@
+package org.devicemap.examples.gwtcanvasdemo.module.server.locator;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import org.devicemap.examples.gwtcanvasdemo.model.domain.Person;
+import org.devicemap.examples.gwtcanvasdemo.model.service.PersonService;
+import com.github.apetrelli.gwtintegration.hibernate.core.locator.DeproxierDeletableLocator;
+
+@Component
+public class PersonLocator extends DeproxierDeletableLocator<Person, Long> {
+
+ @Autowired
+ private PersonService service;
+
+ @Override
+ public Person create(Class<? extends Person> clazz) {
+ return new Person();
+ }
+
+ @Override
+ public Person find(Long id) {
+ return service.findOne(id);
+ }
+
+ @Override
+ public Class<Person> getDomainType() {
+ return Person.class;
+ }
+
+ @Override
+ public Long getId(Person domainObject) {
+ return domainObject.getId();
+ }
+
+ @Override
+ public Class<Long> getIdType() {
+ return Long.class;
+ }
+
+ @Override
+ public Object getVersion(Person domainObject) {
+ return domainObject.getVersion();
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/PassAllAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/PassAllAuthenticationProvider.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/PassAllAuthenticationProvider.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/PassAllAuthenticationProvider.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,53 @@
+package org.devicemap.examples.gwtcanvasdemo.module.server.security;
+
+import org.springframework.dao.DataAccessException;
+import org.springframework.security.authentication.AuthenticationServiceException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+
+public class PassAllAuthenticationProvider extends
+ AbstractUserDetailsAuthenticationProvider {
+
+ private UserDetailsService userDetailsService;
+
+ @Override
+ protected void additionalAuthenticationChecks(UserDetails userDetails,
+ UsernamePasswordAuthenticationToken authentication)
+ throws AuthenticationException {
+ // Do nothing
+
+ }
+
+ public void setUserDetailsService(UserDetailsService userDetailsService) {
+ this.userDetailsService = userDetailsService;
+ }
+
+ protected UserDetailsService getUserDetailsService() {
+ return userDetailsService;
+ }
+
+ @Override
+ protected UserDetails retrieveUser(String username,
+ UsernamePasswordAuthenticationToken authentication)
+ throws AuthenticationException {
+ UserDetails loadedUser;
+
+ try {
+ loadedUser = this.getUserDetailsService().loadUserByUsername(
+ username);
+ } catch (DataAccessException repositoryProblem) {
+ throw new AuthenticationServiceException(
+ repositoryProblem.getMessage(), repositoryProblem);
+ }
+
+ if (loadedUser == null) {
+ throw new AuthenticationServiceException(
+ "UserDetailsService returned null, which is an interface contract violation");
+ }
+ return loadedUser;
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleAuthority.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleAuthority.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleAuthority.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleAuthority.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,24 @@
+package org.devicemap.examples.gwtcanvasdemo.module.server.security;
+
+import org.springframework.security.core.GrantedAuthority;
+
+public class SampleAuthority implements GrantedAuthority {
+
+ private static final long serialVersionUID = -4504114106906301183L;
+
+ private String authority;
+
+ public static final SampleAuthority READER = new SampleAuthority("READER");
+
+ public static final SampleAuthority WRITER = new SampleAuthority("WRITER");
+
+ private SampleAuthority(String authority) {
+ this.authority = authority;
+ }
+
+ @Override
+ public String getAuthority() {
+ return authority;
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleUserDetailsService.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleUserDetailsService.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleUserDetailsService.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SampleUserDetailsService.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,33 @@
+package org.devicemap.examples.gwtcanvasdemo.module.server.security;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.userdetails.AuthenticationUserDetailsService;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+
+public class SampleUserDetailsService implements UserDetailsService, AuthenticationUserDetailsService<Authentication>{
+
+ @Override
+ public UserDetails loadUserDetails(Authentication token)
+ throws UsernameNotFoundException {
+ return loadUserByUsername(token.getName());
+ }
+
+ @Override
+ public UserDetails loadUserByUsername(String username)
+ throws UsernameNotFoundException {
+ List<SampleAuthority> authorities = new ArrayList<SampleAuthority>();
+ if ("reader".equals(username)) {
+ authorities.add(SampleAuthority.READER);
+ } else if ("writer".equals(username)) {
+ authorities.add(SampleAuthority.WRITER);
+ } else {
+ throw new UsernameNotFoundException(username);
+ }
+ return new SimpleUserDetails(username, authorities);
+ }
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SimpleUserDetails.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SimpleUserDetails.java?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SimpleUserDetails.java (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/java/org/devicemap/examples/gwtcanvasdemo/module/server/security/SimpleUserDetails.java Sun Jun 19 19:31:04 2016
@@ -0,0 +1,57 @@
+package org.devicemap.examples.gwtcanvasdemo.module.server.security;
+
+import java.util.Collection;
+
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+
+public class SimpleUserDetails implements UserDetails {
+
+ private static final long serialVersionUID = -4725095483759316543L;
+
+ private String username;
+
+ private Collection<? extends GrantedAuthority> authorities;
+
+ public SimpleUserDetails(String username,
+ Collection<? extends GrantedAuthority> authorities) {
+ this.username = username;
+ this.authorities = authorities;
+ }
+
+ @Override
+ public Collection<? extends GrantedAuthority> getAuthorities() {
+ return authorities;
+ }
+
+ @Override
+ public String getPassword() {
+ return null;
+ }
+
+ @Override
+ public String getUsername() {
+ return username;
+ }
+
+ @Override
+ public boolean isAccountNonExpired() {
+ return true;
+ }
+
+ @Override
+ public boolean isAccountNonLocked() {
+ return true;
+ }
+
+ @Override
+ public boolean isCredentialsNonExpired() {
+ return true;
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return true;
+ }
+
+}
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/security-cas.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/security-cas.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/security-cas.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-resources/META-INF/spring/security-cas.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,24 @@
+<?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="false" use-expressions="true">
+ <intercept-url pattern="/**" access="permitAll" />
+ <form-login />
+ <logout/>
+ <session-management session-fixation-protection="none" />
+ </http>
+
+ <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/production-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/production-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/production-sources/org/devicemap/examples/gwtcanvasdemo/module/gwtcanvasdemo.gwt.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,58 @@
+<?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="true"/>
+
+ <!--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/resources/META-INF/spring/applicationContext.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/spring/applicationContext.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/spring/applicationContext.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/META-INF/spring/applicationContext.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,34 @@
+<?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">
+ <bean id="resourceBundleLocator"
+ class="com.github.apetrelli.gwtintegration.hibernate.validator.NoFallbackResourceBundleLocator">
+ <constructor-arg value="ValidationMessages" />
+ </bean>
+ <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>
+
+</beans>
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/log4j.properties?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/log4j.properties (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/resources/log4j.properties Sun Jun 19 19:31:04 2016
@@ -0,0 +1,7 @@
+log4j.rootLogger=error, stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+
+# Print the date in ISO 8601 format
+log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/database.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/database.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/database.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/spring/database.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,46 @@
+<?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"
+ xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
+ <bean
+ class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
+ id="entityManagerFactory">
+ <!-- <property name="persistenceUnitName" value="persistenceUnit"/> -->
+ <property name="dataSource" ref="dataSource" />
+ <property name="packagesToScan">
+ <array>
+ <value>org.devicemap.examples.gwtcanvasdemo.model.domain</value>
+ </array>
+ </property>
+ <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
+ <property name="jpaPropertyMap">
+ <map>
+ <!-- value="create" to build a new database on each run; value="update"
+ to modify an existing database; value="create-drop" means the same as "create"
+ but also drops tables when Hibernate closes; value="validate" makes no changes
+ to the database -->
+ <entry key="hibernate.hbm2ddl.auto" value="update" />
+ <entry key="hibernate.format_sql" value="true" />
+ <entry key="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
+ <entry key="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy" />
+ <entry key="hibernate.connection.charSet" value="UTF-8" />
+ <entry key="javax.persistence.validation.factory" value-ref="validator" />
+ </map>
+ </property>
+ </bean>
+ <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
+ <property name="driverClassName" value="org.hsqldb.jdbc.JDBCDriver"/>
+ <property name="url" value="jdbc:hsqldb:mem:gwt"/>
+ <property name="username" value="sa"/>
+ <property name="password" value=""/>
+ <property name="testOnBorrow" value="true"/>
+ <property name="testOnReturn" value="true"/>
+ <property name="testWhileIdle" value="true"/>
+ <property name="timeBetweenEvictionRunsMillis" value="1800000"/>
+ <property name="numTestsPerEvictionRun" value="3"/>
+ <property name="minEvictableIdleTimeMillis" value="1800000"/>
+ <property name="validationQuery" value="SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS"/>
+ </bean>
+</beans>
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ version="2.5"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+
+ <display-name>gwt-web</display-name>
+
+ <description>Sample GWT application</description>
+
+
+ <!-- Enable escaping of form submission contents -->
+ <context-param>
+ <param-name>defaultHtmlEscape</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>
+ classpath*:META-INF/spring/applicationContext*.xml
+ classpath*:META-INF/spring/security*.xml
+ WEB-INF/spring/database.xml
+ </param-value>
+ </context-param>
+ <listener>
+ <display-name>hibernate-init</display-name>
+ <listener-class>com.github.apetrelli.gwtintegration.hibernate.entitymanager.web.HibernateInitContextListener</listener-class>
+ </listener>
+ <listener>
+ <display-name>application-context-holder</display-name>
+ <listener-class>com.github.apetrelli.gwtintegration.spring.web.SpringWebApplicationContextHolderListener</listener-class>
+ </listener>
+ <listener>
+ <display-name>session-locale-holder</display-name>
+ <listener-class>com.github.apetrelli.gwtintegration.spring.web.SessionLocaleHolderListener</listener-class>
+ </listener>
+ <listener>
+ <display-name>slf4j-bridge-install</display-name>
+ <listener-class>com.github.apetrelli.gwtintegration.remotelogging.server.Slf4jBridgeInstallListener</listener-class>
+ </listener>
+ <filter>
+ <filter-name>gwtCacheControl</filter-name>
+ <filter-class>com.github.apetrelli.gwtintegration.web.servlet.GwtCacheControlFilter</filter-class>
+ </filter>
+ <filter>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+ </filter>
+ <filter>
+ <filter-name>RequestContextFilter</filter-name>
+ <filter-class>com.github.apetrelli.gwtintegration.spring.web.RequestContextFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>CharacterEncodingFilter</filter-name>
+ <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
+ <init-param>
+ <param-name>encoding</param-name>
+ <param-value>UTF-8</param-value>
+ </init-param>
+ <init-param>
+ <param-name>forceEncoding</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ </filter>
+
+ <filter>
+ <filter-name>HttpMethodFilter</filter-name>
+ <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
+ <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>gwtCacheControl</filter-name>
+ <url-pattern>/gwt-web/gwt-web.nocache.js</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>RequestContextFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CharacterEncodingFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>HttpMethodFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <!-- Creates the Spring Container shared by all Servlets and Filters -->
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>requestFactory</servlet-name>
+ <servlet-class>com.github.apetrelli.gwtintegration.spring.security.SecureRequestFactoryServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>remoteLogging</servlet-name>
+ <servlet-class>com.github.apetrelli.gwtintegration.remotelogging.server.RemoteLoggingServiceImpl</servlet-class>
+ <init-param>
+ <param-name>SYMBOL_MAPS_DIR</param-name>
+ <param-value>/WEB-INF/deploy/gwt/symbolMaps</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>requestFactory</servlet-name>
+ <url-pattern>/gwtRequest</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>remoteLogging</servlet-name>
+ <url-pattern>/gwt/remote_logging</url-pattern>
+ </servlet-mapping>
+
+ <!-- session config -->
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <!-- file upload parameters -->
+
+ <error-page>
+ <error-code>500</error-code>
+ <location>/error500.html</location>
+ </error-page>
+
+</web-app>
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/error500.html
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/error500.html?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/error500.html (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/error500.html Sun Jun 19 19:31:04 2016
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <!-- forward to the GWT Application -->
+ <body>
+ An error occurred.
+ </body>
+ </HEAD>
+</HTML>
\ No newline at end of file
Added: devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/index.jsp?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/index.jsp (added)
+++ devicemap/trunk/examples/1.0/java/gwt/gwt-web/src/main/webapp/index.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</title>
+ <script type="text/javascript" src="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/pom.xml
URL: http://svn.apache.org/viewvc/devicemap/trunk/examples/1.0/java/gwt/pom.xml?rev=1749196&view=auto
==============================================================================
--- devicemap/trunk/examples/1.0/java/gwt/pom.xml (added)
+++ devicemap/trunk/examples/1.0/java/gwt/pom.xml Sun Jun 19 19:31:04 2016
@@ -0,0 +1,95 @@
+<?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>
+ <artifactId>dmap-java-examples</artifactId>
+ <groupId>org.apache.devicemap.examples</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <groupId>org.apache.devicemap.examples</groupId>
+ <artifactId>gwt</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Sample GWT parent project</name>
+ <description>The container project</description>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <gwt.version>2.6.1</gwt.version>
+ <gwt.integration.version>1.0.0-alpha4</gwt.integration.version>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>generate-archetype</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-archetype-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <propertyFile>src/etc/archetype/archetype-values.properties</propertyFile>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-archetype</id>
+ <goals>
+ <goal>create-from-project</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>rename-files</id>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ <configuration>
+ <target>
+ <move todir="target/generated-sources/archetype/src/main/resources/archetype-resources">
+ <fileset dir="target/generated-sources/archetype/src/main/resources/archetype-resources">
+ <include name="**/*gwtcanvasdemo*"/>
+ </fileset>
+ <mapper type="regexp" from="^(.*)gwtcanvasdemo(.*)$$" to="\1__moduleName__\2"/>
+ </move>
+ <delete>
+ <fileset dir="target/generated-sources/archetype/src/main/resources/archetype-resources" includes="**/.settings/*"/>
+ </delete>
+ <delete includeemptydirs="true">
+ <fileset dir="target/generated-sources/archetype/src/main/resources/archetype-resources" includes="**/.settings"/>
+ </delete>
+ <delete>
+ <fileset dir="target/generated-sources/archetype/src/main/resources/archetype-resources" includes="**/.project,**/.classpath"/>
+ </delete>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <modules>
+ <module>gwt-shared</module>
+ <module>gwt-model</module>
+ <module>gwt-web</module>
+ </modules>
+</project>
\ No newline at end of file