[isidorus-cvs] r787 - in branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets: base environment isidorus

Author: lgiessmann Date: Thu Aug 25 07:41:29 2011 New Revision: 787 Log: gdl-frontend: Widgets: implemented a sample CommitCallback Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ICommitCallback.java Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java Thu Aug 25 06:56:56 2011 (r786) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/GdlPanel.java Thu Aug 25 07:41:29 2011 (r787) @@ -137,24 +137,21 @@ // some setters for callback instances - public void setLoadSchemaCallback(ILoadSchemaCallback callback){ - if(callback != null){ - this.loadSchemaCallback = callback; - } + public void setLoadSchemaCallback(ILoadSchemaCallback callback) throws ExecutionException{ + if(callback == null) throw new ExecutionException("callback must not be null"); + this.loadSchemaCallback = callback; } - public void setCommitCallback(ICommitCallback callback){ - if(callback != null){ - this.commitCallback = callback; - } + public void setCommitCallback(ICommitCallback callback) throws ExecutionException{ + if(callback == null) throw new ExecutionException("callback must not be null"); + this.commitCallback = callback; } - public void setDeleteCallback(IDeleteCallback callback){ - if(callback != null){ - this.deleteCallback = callback; - } + public void setDeleteCallback(IDeleteCallback callback) throws ExecutionException{ + if(callback == null) throw new ExecutionException("callback must not be null"); + this.deleteCallback = callback; } @@ -173,6 +170,7 @@ return this.deleteCallback; } + // a getter for the internal topic map public TopicMap getSchemaTm(){ return this.requestedSchemaTm; @@ -210,7 +208,7 @@ if(this.commitCallback == null){ throw new ExecutionException("No CommitCallback was set yet"); } - this.commitCallback.commitTmConstruct(requestedSchemaTm, TopicMapsTypes.TopicMap); + this.commitCallback.commitTmConstruct(this.requestedSchemaTm, TopicMapsTypes.TopicMap, this.tmEngine); }catch(Exception e){ for (IOnErrorCallback handler : localOnErrorContainer) { handler.onError(GdlErrorTypes.CommitError, e); Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java Thu Aug 25 06:56:56 2011 (r786) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/base/TestClass.java Thu Aug 25 07:41:29 2011 (r787) @@ -5,6 +5,7 @@ import us.isidor.gdl.anaToMia.TmEngine.jtmsBasedEngine.JtmsTmEngine; import us.isidor.gdl.anaToMia.Widgets.environment.Pair; import us.isidor.gdl.anaToMia.Widgets.environment.TopicIdentifierTypes; +import us.isidor.gdl.anaToMia.Widgets.isidorus.CommitCallback; import us.isidor.gdl.anaToMia.Widgets.isidorus.LoadSchemaCallback; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.event.dom.client.ClickEvent; @@ -45,7 +46,7 @@ mainPanel.add(gdlPanel); gdlPanel.setTmEngine(new JtmsTmEngine()); gdlPanel.setLoadSchemaCallback(new LoadSchemaCallback()); - + gdlPanel.setCommitCallback(new CommitCallback()); Button requestButton = new Button("load schema"); Modified: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ICommitCallback.java ============================================================================== --- branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ICommitCallback.java Thu Aug 25 06:56:56 2011 (r786) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/environment/ICommitCallback.java Thu Aug 25 07:41:29 2011 (r787) @@ -1,9 +1,10 @@ package us.isidor.gdl.anaToMia.Widgets.environment; +import us.isidor.gdl.anaToMia.TopicMaps.TmEngineModel.TmEngine; import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct; import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes; public interface ICommitCallback { - public void commitTmConstruct(Construct construct, TopicMapsTypes constructType); + public void commitTmConstruct(Construct construct, TopicMapsTypes constructType, TmEngine tmengine); } Added: branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/gdl-frontend/src/anaToMia/GDL_Widgets/src/us/isidor/gdl/anaToMia/Widgets/isidorus/CommitCallback.java Thu Aug 25 07:41:29 2011 (r787) @@ -0,0 +1,45 @@ +package us.isidor.gdl.anaToMia.Widgets.isidorus; + +import com.google.gwt.user.client.Window; + +import us.isidor.gdl.anaToMia.TopicMaps.TmEngineModel.ExporterException; +import us.isidor.gdl.anaToMia.TopicMaps.TmEngineModel.TmEngine; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Association; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Construct; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Topic; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Name; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Variant; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Role; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.Occurrence; +import us.isidor.gdl.anaToMia.TopicMaps.TopicMapsModel.TopicMapsTypes; +import us.isidor.gdl.anaToMia.Widgets.environment.ICommitCallback; + +public class CommitCallback implements ICommitCallback{ + + @Override + public void commitTmConstruct(Construct construct, TopicMapsTypes constructType, TmEngine tmEngine) { + try{ + String jtm = null; + + switch(constructType){ + case Association: jtm = tmEngine.exportTm((Association)construct); + break; + case Role: jtm = tmEngine.exportTm((Role)construct); + break; + case Topic: jtm = tmEngine.exportTm((Topic)construct); + break; + case Name: jtm = tmEngine.exportTm((Name)construct); + break; + case Variant: jtm = tmEngine.exportTm((Variant)construct); + break; + case Occurrence: jtm = tmEngine.exportTm((Occurrence)construct); + break; + } + + Window.alert(jtm); + // TODO: implement + }catch(ExporterException ee){ + Window.alert("faild to commit the Topic Maps data, because: " + ee.getMessage()); + } + } +}
participants (1)
-
lgiessmann@common-lisp.net