[kepler-users] Enforcing array subtypes.
Thomas M. Parris
parris at isciences.com
Wed Jul 21 14:28:24 PDT 2010
Jianwu,
Thanks for responding. As I mentioned, I am writing an actor with a
portparameter (pp) that has a default value of {1}. The program can only
make sense out of a vector of integers.
Examples of valid values for pp include:
{1}
{1,2,3}
{4,6,7,10}
Examples of invalid values for pp include:
{1.0}
{{1,2},{3,4}}
{"A", "B"}
I'd like to enforce this by constraining the type of the pp such that:
o it must be an array
o it must by 1-dimensional
o it must be losslessly castable to an integer value.
While it is not needed for this particular actor, I can also envision
situations where I would additionally constrain the minimum and maximum
number of elements in the vector (or perhaps other dimensions). An example,
might be a program that sets gain parameters for a 5-channel data recorder.
In this case, it would be helpful to constrain the port or portparameter to
have between 1 and 5 values.
I see many of the pieces for what I need to do (some of which have ben
discovered since I sent my query), but have not yet figured out how to
string them together.
-- Tom
-----Original Message-----
From: Jianwu Wang [mailto:jianwu at sdsc.edu]
Sent: Wednesday, July 21, 2010 5:02 PM
To: Thomas M. Parris
Cc: 'Kepler Users'
Subject: Re: [kepler-users] Enforcing array subtypes.
Hi Thomas,
Sorry, I don't quite get your question. Would you please explain it
more using concrete examples?
Best wishes
Sincerely yours
Jianwu Wang
jianwu at sdsc.edu
http://users.sdsc.edu/~jianwu/
Assistant Project Scientist
Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center
University of California, San Diego
San Diego, CA, U.S.A.
On 7/21/2010 12:32 PM, Thomas M. Parris wrote:
> Greetings,
>
> I'm writing an actor with a PortParameter that is an array with a default
> value of {1}. So far so good.
>
> Is there a way to ensure that the value is also a vector (1-dimensional as
> opposed to higher order nesting) and does not exceed integer? At some
> point, I could also see wanting to set a minimum and maximum lengths of
the
> vector (but that is not required for now).
>
> I know how to do similar things with scalars, but not arrays.
>
> While I can set the initial value and type to array with:
>
> portparameter.setExpression("{1}");
>
> I can't seem to fnd a method that would be more specific than that short
of
> testing what I get in the actor and throwing an exception.
>
> Many thanks in advance for any help provided,
> Tom
> ----------------------------------------------------
> Thomas M. Parris
> Vice President
> ISciences, LLC
> ----------------------------------------------------
>
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>
More information about the Kepler-users
mailing list