[PATCH 2 of 4] Updated the client to build a default artifact for gauge discharge curve
Wald Commits
scm-commit at wald.intevation.org
Mon Sep 22 17:11:26 CEST 2014
# HG changeset patch
# User Raimund Renkert <rrenkert at intevation.de>
# Date 1411398528 -7200
# Node ID 519023ce3500353205e31de75f7c411c1d1c43ab
# Parent 8578babdb2c8096fc389f2053a52299a2bf8786e
Updated the client to build a default artifact for gauge discharge curve.
* Removed code for special gauge discharge artifact
* Updated GaugeListGrid in info panel to create a the new project
* Updated i18n
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYS.java Mon Sep 22 17:08:48 2014 +0200
@@ -496,62 +496,6 @@
}
- /** Open window with gauges discharge curve. */
- public void newGaugeDischargeCurve(String river, Long gaugeref) {
- Config config = Config.getInstance();
-
- final String locale = config.getLocale();
- final String riv = river;
- final Long ref = gaugeref;
- final FLYS flys = this;
-
- User user = getCurrentUser();
-
- if (user == null) {
- SC.warn(MSG.error_not_logged_in());
- return;
- }
-
- // TODO 1081, this collection needs to be added a mainvalue artifact
- 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.createGaugeDischargeCurveArtifact(
- col, locale, riv, ref,
- 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();
- }
- });
- }
- });
- }
-
public void newSQRelation(String river, int measurementStation) {
Config config = Config.getInstance();
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Mon Sep 22 17:08:48 2014 +0200
@@ -1393,5 +1393,13 @@
String analyzed_range();
String minfo_type();
+
+ String river();
+
+ String ld_locations();
+
+ String gauge_name();
+
+ String reference_gauge();
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Mon Sep 22 17:08:48 2014 +0200
@@ -730,3 +730,7 @@
FEDSTATE_KM = Landes-Stationierung
official_regulation = amtl. Festlegung
negative_values_not_allowed_for_to=Keine negativen Werte bei 'bis' erlaubt.
+river=Fluss
+ld_locations=Ort
+gauge_name=Pegel
+reference_gauge=Pegelnummer
\ No newline at end of file
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties Mon Sep 22 17:08:48 2014 +0200
@@ -671,3 +671,7 @@
PATH = Path
official_regulation = Official Regulation
negative_values_not_allowed_for_to=Negative are not allowed for 'to'.
+river=River
+ld_locations=Location
+gauge_name=Gauge
+reference_gauge=Gaugenumber
\ No newline at end of file
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactService.java Mon Sep 22 17:08:48 2014 +0200
@@ -42,20 +42,6 @@
) throws ServerException;
/**
- * Create a new GaugeDischageCurveArtifact.
- *
- * @param collection the collection to add the artifact to.
- * @param river the river.
- * @param gaugeref reference id of the gauge.
- */
- public Artifact createGaugeDischargeCurveArtifact(
- Collection collection,
- String locale,
- String river,
- Long gaugeref
- ) throws ServerException;
-
- /**
* Create a new SQRelationArtifact.
*
* @param collection the collection to add the artifact to.
@@ -68,19 +54,5 @@
String river,
int measurementStation
) throws ServerException;
-
- /**
- * Create a new GaugeDischageCurveArtifact and also a Mainvalueartifact.
- *
- * @param collection the collection to add the artifacts to.
- * @param river the river.
- * @param gaugeref reference id of the gauge.
- */
- public Artifact createGaugeDischargeView(
- Collection collection,
- String locale,
- String river,
- Long gaugeRef)
- throws ServerException;
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/services/ArtifactServiceAsync.java Mon Sep 22 17:08:48 2014 +0200
@@ -29,14 +29,6 @@
Recommendation recommendation,
AsyncCallback<Artifact> callback);
- public void createGaugeDischargeCurveArtifact(
- Collection collection,
- String locale,
- String river,
- Long gaugeref,
- AsyncCallback<Artifact> callback
- );
-
public void createSQRelationArtifact(
Collection collection,
String locale,
@@ -44,12 +36,5 @@
int measurementStation,
AsyncCallback<Artifact> callback
);
-
- public void createGaugeDischargeView(
- Collection collection,
- String locale,
- String river,
- Long gaugeRef,
- AsyncCallback<Artifact> callback);
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 8578babdb2c8 -r 519023ce3500 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/StaticDataPanel.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/StaticDataPanel.java Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/StaticDataPanel.java Mon Sep 22 17:08:48 2014 +0200
@@ -57,7 +57,7 @@
for (DataItem item: items) {
HLayout hLayout = new HLayout();
- hLayout.addMember(new Label(item.getLabel()));
+ hLayout.addMember(new Label(MSG.getString(data.getLabel())));
hLayout.addMember(new Label(item.getStringValue()));
vLayout.addMember(hLayout);
diff -r 8578babdb2c8 -r 519023ce3500 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/GaugeListGrid.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/GaugeListGrid.java Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/GaugeListGrid.java Mon Sep 22 17:08:48 2014 +0200
@@ -12,16 +12,32 @@
import java.util.List;
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.AdvanceService;
+import org.dive4elements.river.client.client.services.AdvanceServiceAsync;
+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.DataList;
+import org.dive4elements.river.client.shared.model.DefaultData;
+import org.dive4elements.river.client.shared.model.DefaultDataItem;
import org.dive4elements.river.client.shared.model.GaugeInfo;
import org.dive4elements.river.client.shared.model.RiverInfo;
@@ -33,6 +49,22 @@
private static final int ABFLUSSTAFEL_COLUMN = 6;
+ /** 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);
+
+ /** The StepForwardService used to put data into an existing artifact. */
+ protected AdvanceServiceAsync advanceService =
+ GWT.create(AdvanceService.class);
+
public GaugeListGrid(FLYS flys) {
super(flys);
//TODO i18n!!!
@@ -312,9 +344,110 @@
*/
@Override
public void onRecordClick(RecordClickEvent event) {
- GaugeRecord gauge = (GaugeRecord)event.getRecord();
- flys.newGaugeDischargeCurve(gauge.getRiverName(),
- gauge.getOfficialNumber());
+ final GaugeRecord gauge = (GaugeRecord)event.getRecord();
+ 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, gauge);
+ }
+ }
+ );
+ }
+
+ private void createArtifact(
+ final Collection collection,
+ final String locale,
+ final GaugeRecord gauge
+ ) {
+ artifactService.create(
+ locale, "gaugedischargecurve", 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",
+ gauge.getRiverName());
+ Data river = new DefaultData(
+ "river",
+ null,
+ null,
+ new DataItem[]{riverItem});
+
+ DataItem refItem = new DefaultDataItem(
+ "reference_gauge",
+ "reference_gauge",
+ gauge.getOfficialNumber().toString());
+ Data ref = new DefaultData(
+ "reference_gauge",
+ null,
+ null,
+ new DataItem[]{refItem});
+
+ DataItem locItem = new DefaultDataItem(
+ "ld_locations",
+ "ld_locations",
+ gauge.getStation().toString());
+ Data loc = new DefaultData(
+ "ld_locations",
+ null,
+ null,
+ new DataItem[]{locItem});
+
+ DataItem nameItem = new DefaultDataItem(
+ "gauge_name",
+ "gauge_name",
+ gauge.getName());
+ Data name = new DefaultData(
+ "gauge_name",
+ null,
+ null,
+ new DataItem[]{nameItem});
+
+ Data[] data = new Data[]{river, ref, loc, 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 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactHelper.java Mon Sep 22 17:08:48 2014 +0200
@@ -132,40 +132,6 @@
return sendCreate(serverUrl, locale, create);
}
- /**
- * Creates a new GaugeDischargeCurverArtifact
- *
- * @param river the name of the river
- * @param reference the reference id of the gauge (official number)
- */
- public static Artifact createGaugeDischargeCurveArtifact(
- String serverUrl,
- String locale,
- String river,
- Long reference)
- throws ServerException
- {
- Document create = ClientProtocolUtils.newCreateDocument(
- GAUGE_DISCHARGE_CURVE_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 egauge = ec.create("gauge");
- ec.addAttr(egauge, "reference", reference.toString());
-
- root.appendChild(eriver);
- root.appendChild(egauge);
-
- return sendCreate(serverUrl, locale, create);
- }
/**
* Sends a create document to the artifact server.
diff -r 8578babdb2c8 -r 519023ce3500 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 Mon Sep 22 17:05:37 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/ArtifactServiceImpl.java Mon Sep 22 17:08:48 2014 +0200
@@ -58,71 +58,6 @@
return ArtifactHelper.createArtifact(url, locale, factory, recom);
}
-
- /**
- * Create a new GaugeDischageCurveArtifact and MainValueArtifact, stuff
- * them into a collection.
- *
- * @param river the river.
- * @param gaugeref reference id of the gauge.
- */
- public Artifact createGaugeDischargeView(
- Collection collection,
- String locale,
- String river,
- Long gaugeRef)
- throws ServerException
- {
- log.info("ArtifactServiceImpl.createGaugeDischargeCurveView");
- String url = getServletContext().getInitParameter("server-url");
-
- Artifact artifact = ArtifactHelper.createGaugeDischargeCurveArtifact(url,
- locale, river, gaugeRef);
- if (artifact == null) {
- return null;
- }
- log.info("GaugeDischargeCurveArtifact created successfully");
-
- CollectionHelper.addArtifact(collection, artifact, url, locale);
- Artifact mainVArtifact = ArtifactHelper.createMainvalueArtifact(url,
- locale, river, gaugeRef);
- if (mainVArtifact == null) {
- log.info("Failed to create MainValueArtifact");
- return null;
- }
- CollectionHelper.addArtifact(collection, mainVArtifact, url, locale);
-
- return artifact;
- }
-
- /**
- * Create a new GaugeDischageCurveArtifact
- *
- * @param river the river
- * @param gaugeref reference id of the gauge
- */
- public Artifact createGaugeDischargeCurveArtifact(
- Collection collection,
- String locale,
- String river,
- Long gaugeref)
- throws ServerException
- {
- log.info("ArtifactServiceImpl.createGaugeDischargeCurveArtifact");
- String url = getServletContext().getInitParameter("server-url");
-
- Artifact artifact = ArtifactHelper.createGaugeDischargeCurveArtifact(url,
- locale, river, gaugeref);
- if (artifact == null) {
- return null;
- }
- log.info("GaugeDischargeCurveArtifact created successfully");
-
- CollectionHelper.addArtifact(collection, artifact, url, locale);
-
- return artifact;
- }
-
@Override
public Artifact createSQRelationArtifact(
Collection collection,
More information about the Dive4Elements-commits
mailing list