From: <bh...@us...> - 2006-10-27 20:21:47
|
Revision: 328 http://svn.sourceforge.net/cishell/?rev=328&view=rev Author: bh2 Date: 2006-10-27 13:21:33 -0700 (Fri, 27 Oct 2006) Log Message: ----------- cleaned up input parameter printing in the console Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java 2006-10-27 19:54:39 UTC (rev 327) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java 2006-10-27 20:21:33 UTC (rev 328) @@ -75,38 +75,7 @@ //save the current data Data[] data = this.data; Converter[][] converters = this.converters; - - //Print out acknowledge info. Not sure this is the right place. - //But it seems working fine. - LogService logger = (LogService) ciContext.getService(LogService.class.getName()); - - String label = (String)ref.getProperty("label"); - if (label != null){ - logger.log(LogService.LOG_INFO, ".........."); - logger.log(LogService.LOG_INFO, label+" was selected."); - } - String authors = (String)ref.getProperty("authors"); - if (authors != null) - logger.log(LogService.LOG_INFO, "Author(s): "+authors); - String implementers = (String)ref.getProperty("implementers"); - if (implementers != null) - logger.log(LogService.LOG_INFO, "Implementer(s): "+implementers); - String integrators = (String)ref.getProperty("integrators"); - if (integrators != null) - logger.log(LogService.LOG_INFO, "Integrator(s): "+integrators); - String reference = (String)ref.getProperty("reference"); - String reference_url = (String)ref.getProperty("reference_url"); - if (reference != null && reference_url != null ) - logger.log(LogService.LOG_INFO, "Reference: "+reference+ - " ( "+reference_url+" )"); - else if (reference != null && reference_url == null ) - logger.log(LogService.LOG_INFO, "Reference: "+reference); - String docu = (String)ref.getProperty("docu"); - if (docu != null) - logger.log(LogService.LOG_INFO, "Docu: "+docu); -/////////////////////////// - SchedulerService scheduler = (SchedulerService) bContext.getService(bContext.getServiceReference( SchedulerService.class.getName())); @@ -116,6 +85,8 @@ AlgorithmFactory factory = (AlgorithmFactory) bContext.getService(ref); MetaTypeProvider provider = factory.createParameters(null); String pid = (String)ref.getProperty(Constants.SERVICE_PID); + + printAlgorithmInformation(); Dictionary params = new Hashtable(); if (provider != null) { @@ -123,13 +94,43 @@ } if (params != null) { - scheduler.schedule(new AlgorithmWrapper(ref, bContext, ciContext, originalData, data, converters, params), ref); + scheduler.schedule(new AlgorithmWrapper(ref, bContext, ciContext, originalData, data, converters, provider, params), ref); } } catch (Throwable e) { e.printStackTrace(); } } + private void printAlgorithmInformation() { + LogService logger = (LogService) ciContext.getService(LogService.class.getName()); + + String label = (String)ref.getProperty("label"); + if (label != null){ + logger.log(LogService.LOG_INFO, ".........."); + logger.log(LogService.LOG_INFO, label+" was selected."); + } + String authors = (String)ref.getProperty("authors"); + if (authors != null) + logger.log(LogService.LOG_INFO, "Author(s): "+authors); + String implementers = (String)ref.getProperty("implementers"); + if (implementers != null) + logger.log(LogService.LOG_INFO, "Implementer(s): "+implementers); + String integrators = (String)ref.getProperty("integrators"); + if (integrators != null) + logger.log(LogService.LOG_INFO, "Integrator(s): "+integrators); + String reference = (String)ref.getProperty("reference"); + String reference_url = (String)ref.getProperty("reference_url"); + if (reference != null && reference_url != null ) + logger.log(LogService.LOG_INFO, "Reference: "+reference+ + " ( "+reference_url+" )"); + else if (reference != null && reference_url == null ) + logger.log(LogService.LOG_INFO, "Reference: "+reference); + String docu = (String)ref.getProperty("docu"); + if (docu != null) + logger.log(LogService.LOG_INFO, "Docu: "+docu); + + } + public void dataSelected(Data[] selectedData) { String inDataString = (String)ref.getProperty(IN_DATA); String[] inData = ("" + inDataString).split(","); Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java 2006-10-27 19:54:39 UTC (rev 327) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java 2006-10-27 20:21:33 UTC (rev 328) @@ -16,7 +16,9 @@ import java.util.ArrayList; import java.util.Dictionary; import java.util.Enumeration; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.cishell.app.service.datamanager.DataManagerService; import org.cishell.framework.CIShellContext; @@ -28,8 +30,12 @@ import org.cishell.service.conversion.Converter; import org.cishell.service.guibuilder.GUIBuilderService; import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; import org.osgi.service.log.LogService; +import org.osgi.service.metatype.AttributeDefinition; +import org.osgi.service.metatype.MetaTypeProvider; +import org.osgi.service.metatype.ObjectClassDefinition; public class AlgorithmWrapper implements Algorithm, AlgorithmProperty { @@ -40,10 +46,13 @@ protected Data[] data; protected Converter[][] converters; protected Dictionary parameters; + protected Map idToLabelMap; + protected MetaTypeProvider provider; public AlgorithmWrapper(ServiceReference ref, BundleContext bContext, CIShellContext ciContext, Data[] originalData, Data[] data, - Converter[][] converters, Dictionary parameters) { + Converter[][] converters, MetaTypeProvider provider, + Dictionary parameters) { this.ref = ref; this.bContext = bContext; this.ciContext = ciContext; @@ -51,6 +60,8 @@ this.data = data; this.converters = converters; this.parameters = parameters; + this.provider = provider; + this.idToLabelMap = new HashMap(); } /** @@ -68,19 +79,7 @@ AlgorithmFactory factory = (AlgorithmFactory) bContext.getService(ref); Algorithm alg = factory.createAlgorithm(data, parameters, ciContext); - LogService logger = getLogService(); - if (logger != null) { - if (!this.parameters.isEmpty()) { - logger.log(LogService.LOG_INFO, ""); - logger.log(LogService.LOG_INFO, "Input Parameters:"); - for (Enumeration e = this.parameters.keys(); e - .hasMoreElements();) { - String key = (String) e.nextElement(); - logger.log(LogService.LOG_INFO, key + ": " - + this.parameters.get(key)); - } - } - } + printParameters(); Data[] outData = alg.execute(); @@ -117,6 +116,49 @@ } } + protected void printParameters() { + LogService logger = getLogService(); + setupIdToLabelMap(); + + if (logger != null) { + if (!this.parameters.isEmpty()) { + logger.log(LogService.LOG_INFO, ""); + logger.log(LogService.LOG_INFO, "Input Parameters:"); + for (Enumeration e = this.parameters.keys(); e + .hasMoreElements();) { + String key = (String) e.nextElement(); + Object value = this.parameters.get(key); + + key = (String) idToLabelMap.get(key); + + logger.log(LogService.LOG_INFO, key+": "+value); + } + } + } + } + + protected void setupIdToLabelMap() { + if (provider != null) { + ObjectClassDefinition ocd = null; + try { + String pid = (String) ref.getProperty(Constants.SERVICE_PID); + ocd = provider.getObjectClassDefinition(pid, null); + + if (ocd != null) { + AttributeDefinition[] attr = + ocd.getAttributeDefinitions(ObjectClassDefinition.ALL); + + for (int i=0; i < attr.length; i++) { + String id = attr[i].getID(); + String label = attr[i].getName(); + + idToLabelMap.put(id, label); + } + } + } catch (IllegalArgumentException e) {} + } + } + //only does anything if parentage=default so far... protected void doParentage(Data[] outData) { //make sure the parent set is the original Data and not the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |