# HG changeset patch # User Raimund Renkert # 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() { - @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() { - @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 callback); - public void createGaugeDischargeCurveArtifact( - Collection collection, - String locale, - String river, - Long gaugeref, - AsyncCallback callback - ); - public void createSQRelationArtifact( Collection collection, String locale, @@ -44,12 +36,5 @@ int measurementStation, AsyncCallback callback ); - - public void createGaugeDischargeView( - Collection collection, - String locale, - String river, - Long gaugeRef, - AsyncCallback 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() { + @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() { + @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() { + @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,