[PATCH 3 of 4] Updated the client to build a default artifact for sq relations
Wald Commits
scm-commit at wald.intevation.org
Wed Sep 24 12:02:44 CEST 2014
# HG changeset patch
# User Raimund Renkert <rrenkert at intevation.de>
# Date 1411552925 -7200
# Node ID e3a63d9c5bb175b557e926f7332144be01768535
# Parent 9f5059f4f01a8bd5a9e7aa6d7cb78a0e5fc185bb
Updated the client to build a default artifact for sq relations.
* Removed code for special sq relation artifact
* Updated MeasurementListGrid in info panel to create a new project
* Updated i18n
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/FLYS.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYS.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYS.java Wed Sep 24 12:02:05 2014 +0200
@@ -496,60 +496,6 @@
}
- public void newSQRelation(String river, int measurementStation) {
- Config config = Config.getInstance();
-
- final String locale = config.getLocale();
- final String riv = river;
- final int mStation = measurementStation;
- final FLYS flys = this;
-
- User user = getCurrentUser();
-
- if (user == null) {
- SC.warn(MSG.error_not_logged_in());
- return;
- }
-
- collectionService.create(locale, user.identifier(),
- new AsyncCallback<Collection>() {
- @Override
- public void onFailure(Throwable caught) {
- GWT.log("Could not create new collection.");
- SC.warn(getExceptionString(MSG, caught));
- }
-
- @Override
- public void onSuccess(Collection collection) {
- GWT.log("Successfully created a new collection.");
- final Collection col = collection;
- artifactService.createSQRelationArtifact(
- col, locale, riv, mStation,
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- GWT.log("Could not create the new artifact.");
- SC.warn(getExceptionString(MSG, caught));
- }
-
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully created a new artifact.");
- CollectionView view = new CollectionView(flys,
- col, artifact);
- workspace.addView(col.identifier(), view);
-
- view.addCollectionChangeHandler(getProjectList());
- view.addCloseClickHandler(
- new CloseCollectionViewHandler(
- FLYS.this, col.identifier()));
- projectList.updateUserCollections();
- }
- });
- }
- });
- }
-
@Override
public void onCollectionChange(CollectionChangeEvent event) {
Collection oldC = event.getOldValue();
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Wed Sep 24 12:02:05 2014 +0200
@@ -1403,5 +1403,9 @@
String gauge_name();
String reference_gauge();
+
+ String station();
+
+ String station_name();
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Wed Sep 24 12:02:05 2014 +0200
@@ -734,4 +734,6 @@
river=Fluss
ld_locations=Ort
gauge_name=Pegel
-reference_gauge=Pegelnummer
\ No newline at end of file
+reference_gauge=Pegelnummer
+station=Messstellennummer
+station_name=Messstelle
\ No newline at end of file
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties Wed Sep 24 12:02:05 2014 +0200
@@ -675,4 +675,6 @@
river=River
ld_locations=Location
gauge_name=Gauge
-reference_gauge=Gaugenumber
\ No newline at end of file
+reference_gauge=Gaugenumber
+station=Measurementstationnumber
+station_name=Measurementstation
\ No newline at end of file
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactService.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactService.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactService.java Wed Sep 24 12:02:05 2014 +0200
@@ -40,19 +40,5 @@
String factory,
Recommendation recommendation
) throws ServerException;
-
- /**
- * Create a new SQRelationArtifact.
- *
- * @param collection the collection to add the artifact to.
- * @param river the river.
- * @param measurementStation the measurement station id.
- */
- public Artifact createSQRelationArtifact(
- Collection collection,
- String locale,
- String river,
- int measurementStation
- ) throws ServerException;
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactServiceAsync.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactServiceAsync.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactServiceAsync.java Wed Sep 24 12:02:05 2014 +0200
@@ -28,13 +28,5 @@
String factory,
Recommendation recommendation,
AsyncCallback<Artifact> callback);
-
- public void createSQRelationArtifact(
- Collection collection,
- String locale,
- String river,
- int measurementStation,
- AsyncCallback<Artifact> callback
- );
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java Wed Sep 24 12:02:05 2014 +0200
@@ -635,7 +635,7 @@
@Override
public void onSuccess(Collection newCollection) {
GWT.log("Successfully added artifacts.");
- setCollection(newCollection, true);
+ setCollection(newCollection);
}
}
);
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java Wed Sep 24 12:02:05 2014 +0200
@@ -9,14 +9,30 @@
package org.dive4elements.river.client.client.ui.stationinfo;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
+import org.dive4elements.river.client.client.Config;
import org.dive4elements.river.client.client.FLYS;
+import org.dive4elements.river.client.client.services.ArtifactService;
+import org.dive4elements.river.client.client.services.ArtifactServiceAsync;
+import org.dive4elements.river.client.client.services.CreateCollectionService;
+import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync;
+import org.dive4elements.river.client.client.services.StepForwardService;
+import org.dive4elements.river.client.client.services.StepForwardServiceAsync;
+import org.dive4elements.river.client.client.ui.CollectionView;
+import org.dive4elements.river.client.shared.model.Artifact;
+import org.dive4elements.river.client.shared.model.Collection;
+import org.dive4elements.river.client.shared.model.Data;
+import org.dive4elements.river.client.shared.model.DataItem;
+import org.dive4elements.river.client.shared.model.DefaultData;
+import org.dive4elements.river.client.shared.model.DefaultDataItem;
import org.dive4elements.river.client.shared.model.MeasurementStation;
import org.dive4elements.river.client.shared.model.RiverInfo;
@@ -30,6 +46,18 @@
extends InfoListGrid
implements RecordClickHandler {
+ /** The ArtifactService used to communicate with the Artifact server. */
+ protected ArtifactServiceAsync artifactService =
+ GWT.create(ArtifactService.class);
+
+ /** The StepForwardService used to put data into an existing artifact. */
+ protected StepForwardServiceAsync forwardService =
+ GWT.create(StepForwardService.class);
+
+ /** The ArtifactService used to communicate with the Artifact server. */
+ protected CreateCollectionServiceAsync createCollectionService =
+ GWT.create(CreateCollectionService.class);
+
public MeasurementStationListGrid(FLYS flys) {
super(flys);
ListGridField nfield = new ListGridField("name", "Messtelle");
@@ -109,9 +137,101 @@
@Override
public void onRecordClick(RecordClickEvent event) {
- MeasurementStationRecord station =
+ final MeasurementStationRecord station =
(MeasurementStationRecord)event.getRecord();
- flys.newSQRelation(station.getRiverName(), station.getID());
+ Config config = Config.getInstance();
+ final String locale = config.getLocale();
+ createCollectionService.create(
+ locale,
+ flys.getCurrentUser().identifier(),
+ new AsyncCallback<Collection>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Could not create the new collection.");
+ SC.warn(FLYS.getExceptionString(MSG, caught));
+ }
+
+ @Override
+ public void onSuccess(Collection collection) {
+ GWT.log("Successfully created a new collection.");
+ createArtifact(collection, locale, station);
+ }
+ }
+ );
+ }
+
+ private void createArtifact(
+ final Collection collection,
+ final String locale,
+ final MeasurementStationRecord station
+ ) {
+ artifactService.create(
+ locale, "staticsqrelation", null,
+ new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Could not create the new artifact.");
+ SC.warn(FLYS.getExceptionString(MSG, caught));
+ }
+
+ @Override
+ public void onSuccess(Artifact artifact) {
+ GWT.log("Successfully created a new artifact.");
+
+ DataItem riverItem = new DefaultDataItem(
+ "river",
+ "river",
+ station.getRiverName());
+ Data river = new DefaultData(
+ "river",
+ null,
+ null,
+ new DataItem[]{riverItem});
+
+ DataItem refItem = new DefaultDataItem(
+ "station",
+ "station",
+ station.getID().toString());
+ Data ref = new DefaultData(
+ "station",
+ null,
+ null,
+ new DataItem[]{refItem});
+
+ DataItem nameItem = new DefaultDataItem(
+ "station_name",
+ "station_name",
+ station.getID().toString());
+ Data name = new DefaultData(
+ "station_name",
+ null,
+ null,
+ new DataItem[]{nameItem});
+
+ Data[] data = new Data[]{river, ref, name};
+ forwardService.go(locale, artifact, data,
+ new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ GWT.log("Could not feed the artifact.");
+ SC.warn(caught.getMessage());
+ }
+
+ @Override
+ public void onSuccess(Artifact artifact) {
+ GWT.log("Successfully feed the artifact.");
+ CollectionView view = new CollectionView(
+ flys,
+ collection,
+ artifact);
+ flys.getWorkspace().addView(
+ collection.identifier(),
+ view);
+ view.addArtifactToCollection(artifact);
+ }
+ });
+ }
+ });
}
@Override
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactHelper.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactHelper.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactHelper.java Wed Sep 24 12:02:05 2014 +0200
@@ -192,35 +192,5 @@
return cf;
}
-
-
- public static Artifact createSQRelationArtifact(
- String serverUrl,
- String locale,
- String river,
- int measurementStation)
- throws ServerException
- {
- Document create = ClientProtocolUtils.newCreateDocument(
- SQ_RELATION_ARTIFACT);
-
- XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
- create,
- ArtifactNamespaceContext.NAMESPACE_URI,
- ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
- Element root = create.getDocumentElement();
-
- Element eriver = ec.create("river");
- ec.addAttr(eriver, "name", river);
-
- Element estation = ec.create("measurement_station");
- ec.addAttr(estation, "number", String.valueOf(measurementStation));
-
- root.appendChild(eriver);
- root.appendChild(estation);
-
- return sendCreate(serverUrl, locale, create);
- }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 9f5059f4f01a -r e3a63d9c5bb1 gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactServiceImpl.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactServiceImpl.java Wed Sep 24 11:59:49 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactServiceImpl.java Wed Sep 24 12:02:05 2014 +0200
@@ -57,29 +57,5 @@
return ArtifactHelper.createArtifact(url, locale, factory, recom);
}
-
- @Override
- public Artifact createSQRelationArtifact(
- Collection collection,
- String locale,
- String river,
- int measurementStation)
- throws ServerException
- {
- log.info("ArtifactServiceImpl.createSQRelationArtifact");
- String url = getServletContext().getInitParameter("server-url");
-
- Artifact artifact = ArtifactHelper.createSQRelationArtifact(url,
- locale, river, measurementStation);
- if (artifact == null) {
- return null;
- }
- log.info("SQRelationArtifact created successfully");
-
- CollectionHelper.addArtifact(collection, artifact, url, locale);
-
- return artifact;
- }
-
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
More information about the Dive4Elements-commits
mailing list