Array seems to be a good option. I tried it out with properties.xml and
with my UI. Works for both.

​~Bhupesh​


On Thu, May 12, 2016 at 10:11 PM, Thomas Weise <[email protected]>
wrote:

> I would suggest to consider usability over operator developer convenience.
> With String[] as parameter, BeanUtils will automatically convert a comma
> separated string into an array. That does not work with List<String>.
>
> Someone could also explore the use of additional BeanUtils converters for
> common types that we would like to offer better configuration is support
> for. This same discussion came up a while ago with time duration/unit
> properties.
>
> Thomas
>
> On Thu, May 12, 2016 at 9:17 PM, Bhupesh Chawda <[email protected]>
> wrote:
>
> > If this List is large enough, the user might have to create a large
> number
> > of properties, one for each element.
> > In this case however, it should be small enough and I think we can go
> ahead
> > with a List.
> >
> > ~Bhupesh
> >
> > On Thu, May 12, 2016 at 8:36 PM, Yogi Devendra <[email protected]>
> > wrote:
> >
> > > IMO from engineering perspective, List<String> is more elegant than
> comma
> > > separated strings and parsing it later.
> > >
> > > From user experience perspective, it is important to have consistent
> way
> > > across all operators. Some operators having comma separated string
> others
> > > having List<String> is confusing.
> > >
> > > Since, this discussion is more generic, not specific to a particular
> > > operator we should discuss this as a separate email thread. Some
> > guideline
> > > document describing best practices would be even better.
> > >
> > >
> > > ~ Yogi
> > >
> > > On 13 May 2016 at 06:36, Munagala Ramanath <[email protected]>
> wrote:
> > >
> > > > Philosophical musing: In software, functionality trumps (pun *not*
> > > > intended) elegance.
> > > >
> > > > Ram
> > > >
> > > > On Thu, May 12, 2016 at 6:02 PM, Bhupesh Chawda <
> > [email protected]
> > > >
> > > > wrote:
> > > >
> > > > > I thought that this might not be considered clean w.r.t. the user
> > > > > experience while configuring the operator.
> > > > > However, if it is acceptable then I'll go ahead with this.
> > > > >
> > > > > Thanks for pointing it out!
> > > > >
> > > > > ~Bhupesh
> > > > >
> > > > > On Thu, May 12, 2016 at 5:52 PM, Thomas Weise <
> > [email protected]>
> > > > > wrote:
> > > > >
> > > > > > Thanks! Looks a bit cumbersome though...
> > > > > >
> > > > > >
> > > > > > On Thu, May 12, 2016 at 5:47 PM, Munagala Ramanath <
> > > > [email protected]>
> > > > > > wrote:
> > > > > >
> > > > > > > An example of doing *exactly* that is shown here:
> > > > > > > http://docs.datatorrent.com/application_packages/
> > > > > > > in the section entitled "Operator properties"
> > > > > > >
> > > > > > > Ram
> > > > > > >
> > > > > > > On Thu, May 12, 2016 at 5:44 PM, Bhupesh Chawda <
> > > > > [email protected]
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > AFAIK, there is no clean way to set a List property from an
> XML
> > > > file.
> > > > > > > >
> > > > > > > > ~Bhupesh
> > > > > > > >
> > > > > > > > On Thu, May 12, 2016 at 5:41 PM, Munagala Ramanath <
> > > > > > [email protected]>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > What was the concern about "configuring the List elements
> > from
> > > > the
> > > > > > XML
> > > > > > > > > property file"
> > > > > > > > > and what issue might it create ?
> > > > > > > > >
> > > > > > > > > Ram
> > > > > > > > >
> > > > > > > > > On Thu, May 12, 2016 at 5:38 PM, Bhupesh Chawda <
> > > > > > > [email protected]
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi All,
> > > > > > > > > >
> > > > > > > > > > I'll reopen the pull request again after addressing
> review
> > > > > > comments.
> > > > > > > > > >
> > > > > > > > > >    - There was a concern from Thomas regarding
> configuring
> > > the
> > > > > List
> > > > > > > > > >    elements from the XML property file. I think this
> might
> > > > create
> > > > > > an
> > > > > > > > > > issue. I
> > > > > > > > > >    propose that in that case we create String getters and
> > > > setters
> > > > > > > > instead
> > > > > > > > > > of
> > > > > > > > > >    list. The signatures will stay the same but we'll
> change
> > > the
> > > > > > type
> > > > > > > of
> > > > > > > > > the
> > > > > > > > > >    fields to String to make them consistent:
> > > > > > > > > >       - String topics
> > > > > > > > > >       - public String getTopics()
> > > > > > > > > >       - public void setTopics(String topics)
> > > > > > > > > >    - I'll rename the branch name as suggested by Gaurav
> on
> > > the
> > > > > pull
> > > > > > > > > > request.
> > > > > > > > > >
> > > > > > > > > > Thanks.
> > > > > > > > > >
> > > > > > > > > > ~Bhupesh
> > > > > > > > > >
> > > > > > > > > > On Wed, May 11, 2016 at 8:43 AM, Munagala Ramanath <
> > > > > > > > [email protected]>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Yes, making the accessor types match the field will
> avoid
> > > > > > > confusion,
> > > > > > > > so
> > > > > > > > > > +1.
> > > > > > > > > > >
> > > > > > > > > > > We can add accessors like getTopicItem() and
> > setTopicItem()
> > > > for
> > > > > > the
> > > > > > > > > > > individual
> > > > > > > > > > > elements if necessary.
> > > > > > > > > > >
> > > > > > > > > > > Ram
> > > > > > > > > > >
> > > > > > > > > > > On Wed, May 11, 2016 at 12:08 AM, Bhupesh Chawda <
> > > > > > > > > > [email protected]>
> > > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi All,
> > > > > > > > > > > >
> > > > > > > > > > > > The fields in Kafka Input Operator in Malhar kafka
> > > project
> > > > > are
> > > > > > of
> > > > > > > > > type
> > > > > > > > > > > > String array. However the getters and setters are not
> > > > > > consistent
> > > > > > > > and
> > > > > > > > > > > have a
> > > > > > > > > > > > return type and parameters of String type
> respectively.
> > > > > > > > > > > > This may cause issues in down stream systems and
> hence
> > > must
> > > > > be
> > > > > > > > > fixed. I
> > > > > > > > > > > > have created a JIRA to track this -
> > > > > > > > > > > >
> https://issues.apache.org/jira/browse/APEXMALHAR-2084
> > > > > > > > > > > >
> > > > > > > > > > > > I am proposing that the types of these fields be made
> > > > > > > List<String>
> > > > > > > > > > > instead
> > > > > > > > > > > > of String[ ]. Additionally also make the getters and
> > > > setters
> > > > > > > accept
> > > > > > > > > > > > parameters and return data of the same type.
> > > > > > > > > > > >
> > > > > > > > > > > > Please let me know your thoughts on the same.
> > > > > > > > > > > >
> > > > > > > > > > > > Thanks
> > > > > > > > > > > > ~Bhupesh
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to