Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java @ 73:39210a74db07
Moved parameterization specific code from CollectionView to ParameterList.
flys-client/trunk@1576 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 28 Mar 2011 06:48:44 +0000 |
parents | 9b726350ab07 |
children | c5586446f3c0 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Sat Mar 26 18:07:41 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Mon Mar 28 06:48:44 2011 +0000 @@ -7,7 +7,6 @@ import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.layout.Layout; import com.smartgwt.client.widgets.layout.VLayout; @@ -17,40 +16,21 @@ import de.intevation.flys.client.shared.model.Artifact; import de.intevation.flys.client.shared.model.ArtifactDescription; import de.intevation.flys.client.shared.model.Collection; -import de.intevation.flys.client.shared.model.Data; -import de.intevation.flys.client.shared.model.DataItem; -import de.intevation.flys.client.shared.model.DataList; -import de.intevation.flys.client.shared.model.DefaultData; -import de.intevation.flys.client.shared.model.DefaultDataItem; import de.intevation.flys.client.shared.model.OutputMode; -import de.intevation.flys.client.shared.model.River; import de.intevation.flys.client.shared.model.User; import de.intevation.flys.client.client.Config; import de.intevation.flys.client.client.FLYS; import de.intevation.flys.client.client.FLYSMessages; import de.intevation.flys.client.client.event.HasCollectionChangeHandlers; -import de.intevation.flys.client.client.event.HasParameterChangeHandler; -import de.intevation.flys.client.client.event.HasStepForwardHandlers; import de.intevation.flys.client.client.event.CollectionChangeEvent; import de.intevation.flys.client.client.event.CollectionChangeHandler; import de.intevation.flys.client.client.event.ParameterChangeEvent; import de.intevation.flys.client.client.event.ParameterChangeHandler; -import de.intevation.flys.client.client.event.StepBackEvent; -import de.intevation.flys.client.client.event.StepBackHandler; -import de.intevation.flys.client.client.event.StepForwardEvent; -import de.intevation.flys.client.client.event.StepForwardHandler; import de.intevation.flys.client.client.services.AddArtifactService; import de.intevation.flys.client.client.services.AddArtifactServiceAsync; -import de.intevation.flys.client.client.services.AdvanceService; -import de.intevation.flys.client.client.services.AdvanceServiceAsync; -import de.intevation.flys.client.client.services.ArtifactService; -import de.intevation.flys.client.client.services.ArtifactServiceAsync; -import de.intevation.flys.client.client.services.StepForwardService; -import de.intevation.flys.client.client.services.StepForwardServiceAsync; import de.intevation.flys.client.client.services.CreateCollectionService; import de.intevation.flys.client.client.services.CreateCollectionServiceAsync; -import de.intevation.flys.client.client.ui.ModuleSelection; /** @@ -59,22 +39,9 @@ public class CollectionView extends Window implements CollectionChangeHandler, HasCollectionChangeHandlers, - HasParameterChangeHandler, ParameterChangeHandler, - StepForwardHandler, StepBackHandler + ParameterChangeHandler { /** 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 StepForwardService used to put data into an existing artifact. */ - protected AdvanceServiceAsync advanceService = - GWT.create(AdvanceService.class); - - /** The ArtifactService used to communicate with the Artifact server. */ protected CreateCollectionServiceAsync createCollectionService = GWT.create(CreateCollectionService.class); @@ -83,7 +50,7 @@ GWT.create(AddArtifactService.class); /** The message class that provides i18n strings.*/ - FLYSMessages messages = GWT.create(FLYSMessages.class); + protected FLYSMessages messages = GWT.create(FLYSMessages.class); /** The FLYS instance used to call services.*/ protected FLYS flys; @@ -94,9 +61,6 @@ /** The list of ValueChangeHandlers.*/ protected List<CollectionChangeHandler> handlers; - /** The list of ParameterizationChangeHandler.*/ - protected List<ParameterChangeHandler> parameterHandlers; - /** The collection to be displayed.*/ protected Collection collection; @@ -127,14 +91,14 @@ this.tabs = new TabSet(); this.parameterTab = new Tab(messages.winfo()); - this.parameterList = new ParameterList(this); + this.parameterList = new ParameterList(flys, this); this.handlers = new ArrayList<CollectionChangeHandler>(); - this.parameterHandlers = new ArrayList<ParameterChangeHandler>(); this.layout = new VLayout(); addCollectionChangeHandler(this); - addParameterChangeHandler(this); - addParameterChangeHandler(parameterList); + + parameterList.addParameterChangeHandler(this); + parameterList.addParameterChangeHandler(parameterList); init(); } @@ -160,10 +124,8 @@ layout.addMember(tabs); tabs.addTab(parameterTab); - if (isNew()) { - tabs.setTabTitle(0, messages.new_calculation()); - tabs.updateTab(0, renderNew()); - } + tabs.setTabTitle(0, messages.new_calculation()); + tabs.updateTab(0, parameterList); } @@ -194,6 +156,7 @@ public void onFailure(Throwable caught) { GWT.log("An error occured while adding artifact."); + GWT.log(caught.getMessage()); } public void onSuccess(Collection newCollection) { @@ -225,17 +188,6 @@ } - /** - * This method registers a new ParameterChangeHandler. - * - * @param handler The new ParameterChangeHandler. - */ - public void addParameterChangeHandler(ParameterChangeHandler handler) { - if (handler != null) { - parameterHandlers.add(handler); - } - } - /** * This method calls the <code>onValueChange()</code> method of all @@ -251,17 +203,6 @@ /** - * This method calls the <code>onParameterChange()</code> method of all - * registered ParameterChangeHandler. - */ - protected void fireParameterChangeEvent(Artifact old, Artifact newArt) { - for (ParameterChangeHandler handler: parameterHandlers) { - handler.onParameterChange(new ParameterChangeEvent(old, newArt)); - } - } - - - /** * This method returns true, if the Collection is new and no plugins has * been chosen. * @@ -273,78 +214,6 @@ /** - * This method creates a Canvas displaying the plugins of FLYS combined with - * a widget to select a river. - * - * @return a Canvas that displays the supported plugins and rivers of FLYS. - */ - protected Canvas renderNew() { - River[] rivers = flys.getRivers(); - DataItem[] items = new DataItem[rivers.length]; - - int i = 0; - for (River river: rivers) { - String name = river.getName(); - items[i++] = new DefaultDataItem(name, null, name); - } - - Data data = new DefaultData( - "river", - messages.river_selection(), - null, - items); - - ModuleSelection widget = new ModuleSelection(); - HasStepForwardHandlers handler = (HasStepForwardHandlers) widget; - - handler.addStepForwardHandler(new StepForwardHandler() { - public void onStepForward(StepForwardEvent event) { - Data[] data = event.getData(); - - DataItem[] moduleItems = data[0].getItems(); - DataItem[] riversItems = data[1].getItems(); - - String module = moduleItems[0].getStringValue(); - String river = riversItems[0].getStringValue(); - - final String serverUrl = Config.getInstance().getServerUrl(); - final Data[] feedData = new Data[] { data[1] }; - artifactService.create( - serverUrl, module.toLowerCase(), - new AsyncCallback<Artifact>() { - public void onFailure(Throwable caught) { - GWT.log("Could not create the new artifact."); - GWT.log(caught.getMessage()); - } - - public void onSuccess(Artifact artifact) { - GWT.log("Successfully created a new artifact."); - - forwardService.go(serverUrl, artifact, feedData, - new AsyncCallback<Artifact>() { - public void onFailure(Throwable caught) { - GWT.log("Could not feed the artifact."); - GWT.log(caught.getMessage()); - } - - public void onSuccess(Artifact artifact) { - GWT.log("Successfully feed the artifact."); - setArtifact(artifact); - } - }); - } - }); - } - }); - - DataList list = new DataList(); - list.add(data); - - return widget.create(list); - } - - - /** * Returns the artifact that is used for the parameterization. * * @return the artifact that is used for the parameterization. @@ -360,10 +229,7 @@ * @param artifact The new artifact. */ protected void setArtifact(Artifact artifact) { - Artifact tmp = this.artifact; this.artifact = artifact; - - fireParameterChangeEvent(tmp, this.artifact); } @@ -378,6 +244,8 @@ ArtifactDescription desc = art.getArtifactDescription(); OutputMode[] outs = desc.getOutputModes(); + setArtifact(art); + if (outs != null) { User user = getFlys().getCurrentUser(); createNewCollection(user.identifier()); @@ -407,57 +275,6 @@ /** - * This method is used to call the ADVANCE service to go back to a previous - * state. - * - * @param e The StepBackEvent that holds the identifier of the target state. - */ - public void onStepBack(StepBackEvent e) { - final String target = e.getTarget(); - final String serverUrl = Config.getInstance().getServerUrl(); - - advanceService.advance(serverUrl, artifact, target, - new AsyncCallback<Artifact>() { - public void onFailure(Throwable caught) { - GWT.log("Could not go back to '" + target + "'"); - GWT.log(caught.getMessage()); - } - - public void onSuccess(Artifact artifact) { - GWT.log("Successfully step back to '" + target + "'"); - setArtifact(artifact); - } - } - ); - } - - - /** - * This method is called if the user clicks on the 'next' button to advance - * to the next state. - * - * @param event The StepForwardEvent. - */ - public void onStepForward(StepForwardEvent event) { - GWT.log("CollectionView - onStepForward()"); - String serverUrl = Config.getInstance().getServerUrl(); - - forwardService.go(serverUrl, artifact, event.getData(), - new AsyncCallback<Artifact>() { - public void onFailure(Throwable caught) { - GWT.log("Could not feed the artifact."); - GWT.log(caught.getMessage()); - } - - public void onSuccess(Artifact artifact) { - GWT.log("Successfully feed the artifact."); - setArtifact(artifact); - } - }); - } - - - /** * Update the view (refresh the list of old and current data). */ protected void updateView() {