From: <jsa...@us...> - 2008-11-11 11:00:45
|
Revision: 83 http://flexotask.svn.sourceforge.net/flexotask/?rev=83&view=rev Author: jsauerbach Date: 2008-11-11 11:00:38 +0000 (Tue, 11 Nov 2008) Log Message: ----------- Mark runtime providers according to whether they supply a vm bridge and add warning/cancel dialog if there is none or too many (eventually we will need the ability to pick from amongst multiples). Modified Paths: -------------- trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/OpenRuntimeProvider.java trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeExportWizard.java trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeProvider.java Modified: trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/OpenRuntimeProvider.java =================================================================== --- trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/OpenRuntimeProvider.java 2008-11-11 10:59:21 UTC (rev 82) +++ trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/OpenRuntimeProvider.java 2008-11-11 11:00:38 UTC (rev 83) @@ -43,4 +43,12 @@ { return "Open source runtime components, including ESystem and NativeIO"; } + + /* (non-Javadoc) + * @see com.ibm.realtime.flexotask.editor.dialogs.RuntimeProvider#isVMBridge() + */ + public boolean isVMBridge() + { + return false; + } } Modified: trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeExportWizard.java =================================================================== --- trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeExportWizard.java 2008-11-11 10:59:21 UTC (rev 82) +++ trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeExportWizard.java 2008-11-11 11:00:38 UTC (rev 83) @@ -81,16 +81,33 @@ */ public void addPages() { + int vmBridges = 0; StringBuilder builder = new StringBuilder("This runtime will contain:\n"); RuntimeProvider[] providers = getRuntimeProviders(); for (int i = 0; i < providers.length; i++) { builder.append(" ").append(providers[i].getDescription()).append("\n"); + if (providers[i].isVMBridge()) { + vmBridges++; + } } builder.append(" Standard Java libraries for the Flexotask API\n"); LibraryProvider[] libraries = GlobalTiming.getAllProviders(); for (int i = 0; i < libraries.length; i++) { builder.append(" ").append(libraries[i].getDescription()).append("\n"); } + if (vmBridges != 1) { + boolean ok; + if (vmBridges == 0) { + ok = MessageDialog.openConfirm(getShell(), "Problem Detected", + "No providers of real-time VM behavior have been registered; generated runtime will not be real-time"); + } else { + ok = MessageDialog.openConfirm(getShell(), "Problem Detected", + "There are " + vmBridges + " providers of real-time VM behavior (current system expects only one). Results may be inconsistent"); + } + if (!ok) { + return; + } + } page = new RuntimeExportWizardPage(builder.toString()); addPage(page); } Modified: trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeProvider.java =================================================================== --- trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeProvider.java 2008-11-11 10:59:21 UTC (rev 82) +++ trunk/flexotask-editor/src/com/ibm/realtime/flexotask/editor/dialogs/RuntimeProvider.java 2008-11-11 11:00:38 UTC (rev 83) @@ -30,4 +30,10 @@ * @return this provider's one-sentence self-description of what it provides */ public String getDescription(); + + /** + * @return true iff his RuntimeProvider provides the FlexotaskVMBridge service (e.g. supports true real-time + * execution) + */ + public boolean isVMBridge(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |