# HG changeset patch # User Raimund Renkert # 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() { - @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() { - @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 callback); - - public void createSQRelationArtifact( - Collection collection, - String locale, - String river, - int measurementStation, - AsyncCallback 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() { + @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() { + @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() { + @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 :