A stack-trace would be helpful. -- Richard
Am 22.05.2013 um 17:08 schrieb harshal patni <[email protected]>: > Yes I did! When I do that it throws the following error - > It throws a cast error stating Type String cannot be converted to String > array. > > Harshal > > > On Wed, May 22, 2013 at 8:03 PM, Marshall Schor <[email protected]> wrote: > >> did you have the multi-values setting turned on in the parameter >> specification? >> >> >> On 5/22/2013 10:15 AM, harshal patni wrote: >>> Hi Marshall, >>> Thank you for your response. Yes I tried setting and >> array >>> as a second argument of NameValuePair_Impl. However it throws an error >>> since the setType() has only 4 options (String, Boolean, Float, >> Integer). I >>> had to set it to string forcibly, coz if I dont UIMA by default sets it >> to >>> NULL which again causes an error. >>> >>> Harshal >>> >>> >>> On Wed, May 22, 2013 at 7:33 PM, Marshall Schor <[email protected]> wrote: >>> >>>> most likely this is a problem in building the parameter setting. >>>> >>>> I did one of these using the Eclipse editor for UIMA XML files, and >> looked >>>> at >>>> what it generated as the setting: >>>> >>>> <configurationParameterSettings> >>>> <nameValuePair> >>>> <name>astringarray</name> >>>> <value> >>>> <array> >>>> <string>x1</string> >>>> <string>x2</string> >>>> </array> >>>> </value> >>>> </nameValuePair> >>>> </configurationParameterSettings> >>>> >>>> Have you tried creating NameValuePair_impl instances, with arrays as the >>>> 2nd >>>> argument (i.e., the "value")? >>>> >>>> for instance: >>>> ... new NameValuePair_impl("AttributeList", new String[] {"value1", >>>> "value2", >>>> ...}) ... >>>> >>>> -Marshall >>>> >>>> >>>> On 5/21/2013 11:34 PM, harshal patni wrote: >>>>> Hello Himanshu, >>>>> I tried setting the setMultivalues(true). The >>>>> problem is the following - >>>>> I use setType (String). I need to do this coz else it takes it as null. >>>> But >>>>> as soon as we setType(String) it throws a cast error saying string >> cannot >>>>> be cast to a String array. If you look at the source code of >>>> conceptMapper >>>>> it tried to cast in code. >>>>> >>>>> Hope that makes sense.. >>>>> Any idea how this could be resolved? >>>>> Please also add code snippet to make it easier to understand. >>>>> >>>>> Thanks, >>>>> Harshal >>>>> >>>>> >>>>> On Wed, May 22, 2013 at 1:34 AM, Himanshu Gahlot < >>>>> [email protected]> wrote: >>>>> >>>>>> Use setMultiValued()< >>>>>> >>>> >> http://uima.apache.org/downloads/releaseDocs/2.3.0-incubating/docs/api/org/apache/uima/resource/metadata/ConfigurationParameter.html#setMultiValued%28boolean%29 >>>>>>> . >>>>>> So, p1.setMultiValued() should make this config param accept multiple >>>>>> String values. >>>>>> >>>>>> Himanshu >>>>>> >>>>>> >>>>>> On Tue, May 21, 2013 at 1:10 AM, Renaud Richardet >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> Hi Harshal, >>>>>>> Have you tried UimaFit? I think it would be a better option, if you >> do >>>>>> not >>>>>>> want to use XML descriptors. >>>>>>> Hope that helps, Renaud >>>>>>> >>>>>>> >>>>>>> On Tue, May 21, 2013 at 8:49 AM, harshal patni < >>>> [email protected] >>>>>>>> wrote: >>>>>>>> Hello Everyone, >>>>>>>> I am currently writing ConceptMapper in code (not >>>>>>> using >>>>>>>> XML files). Basically I am definitely AnalysisEngineDescriptions and >>>>>>>> TypeSystem Description in java code. I create the following 2 >>>>>> parameters >>>>>>>> using "ConfigurationParameter" class. >>>>>>>> >>>>>>>> 1. AttributeList >>>>>>>> 2. FeatureList >>>>>>>> >>>>>>>> The problem is both these should be arrays. But >> ConfigurationParameter >>>>>>> only >>>>>>>> provide the following types (String, Boolean, Integer, Float). >> When I >>>>>>> pass >>>>>>>> these values as string it fails and throws a >>>>>> java.lang.ClassCastException >>>>>>>> error. COz it expects an array vs a String. How should I solve this >>>>>>> issue? >>>>>>>> Below is the AnalysisEngineDescription code. >>>>>>>> >>>>>>>> >>>> >> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// >>>>>>>> primitiveDesc = new AnalysisEngineDescription_impl(); >>>>>>>> >>>>>>>> primitiveDesc.setPrimitive(true); >>>>>>>> >>>>>>>> primitiveDesc.getMetaData().setName("Concept Mapper Offset >>>>>> Tokenizer"); >>>>>>>> primitiveDesc.setAnnotatorImplementationName( >>>>>>>> "org.apache.uima.conceptMapper.ConceptMapper"); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ConfigurationParameter p1 = new ConfigurationParameter_impl(); >>>>>>>> >>>>>>>> p1.setName("AttributeList"); >>>>>>>> >>>>>>>> p1.setDescription("Attribute List"); >>>>>>>> >>>>>>>> p1.setType(ConfigurationParameter.TYPE_STRING); // Here is the >>>> problem >>>>>>>> ConfigurationParameter p2 = new ConfigurationParameter_impl(); >>>>>>>> >>>>>>>> p2.setName("FeatureList"); >>>>>>>> >>>>>>>> p2.setDescription("Feature List"); >>>>>>>> >>>>>>>> p2.setType(ConfigurationParameter.TYPE_STRING); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>> >> primitiveDesc.getMetaData().getConfigurationParameterDeclarations().setConfigurationParameters( >>>>>>>> new ConfigurationParameter[] { p1,p2 }); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>> >> primitiveDesc.getMetaData().getConfigurationParameterSettings().setParameterSettings( >>>>>>>> new NameValuePair[] { new NameValuePair_impl("AttributeList", >>>>>>> "canonical"), >>>>>>>> new NameValuePair_impl("FeatureList", "DictCanon") }); >>>>>>>> >>>>>>>> TypeSystemDescription typeSystem = new >>>>>>> TypeSystemDescription_impl(); >>>>>>>> dicTerm(typeSystem); >>>>>>>> >>>>>>>> conceptMapperTokenizer(typeSystem); >>>>>>>> >>>>>>>> baseTokenizer(typeSystem); >>>>>>>> >>>>>>>> >>>>>> primitiveDesc.getAnalysisEngineMetaData().setTypeSystem(typeSystem); >>>>>>>> >>>> >> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// >>>>>>>> Also how should I pass the dictionary file in code? >>>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Harshal >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Renaud Richardet >>>>>>> Blue Brain Project PhD candidate >>>>>>> EPFL Station 15 >>>>>>> CH-1015 Lausanne >>>>>>> phone: +41-78-675-9501 >>>>>>> http://people.epfl.ch/renaud.richardet >>>>>>> >> >> > > > -- > > *Harshal Patni** | *Data Architect | Zynx Health ™ > > 10880 Wilshire Boulevard, Suite 300 | Los Angeles, CA, 90024 > > Mobile : 937-760-6639| [email protected] > <[email protected]><[email protected]> > > <http://www.linkedin.com/in/harshalpatni> | > <http://knoesis.wright.edu/researchers/harshal/> > > www.zynxhealth.com <http://www.zynx.com/> > > “*Most Interesting Vendor” 2010* > - Healthcare Informatics
