[configuration] getProperties not working as I expect...

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[configuration] getProperties not working as I expect...

Poppe, Troy

Assuming that I use the example XML document on the "XMLConfiguration HOWTO" page
(see below), I have a question regarding the use of
Configuration.getProperties().

I'd like to get a List of Properties objects that represent the field nodes for a
given table.

I started by trying to get a Properties object for one of the field nodes, but
was unable to.

Any examples for the use of getProperties or getList that might help me out here?

Thanks.

Troy Poppe




The Example XML file:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<database>
  <tables>
    <table tableType="system">
      <name>users</name>
      <fields>
        <field>
          <name>uid</name>
          <type>long</type>
        </field>
        <field>
          <name>uname</name>
          <type>java.lang.String</type>
        </field>
        <field>
          <name>firstName</name>
          <type>java.lang.String</type>
        </field>
        <field>
          <name>lastName</name>
          <type>java.lang.String</type>
        </field>
        <field>
          <name>email</name>
          <type>java.lang.String</type>
        </field>
      </fields>
    </table>
    <table tableType="application">
      <name>documents</name>
      <fields>
        <field>
          <name>docid</name>
          <type>long</type>
        </field>
        <field>
          <name>name</name>
          <type>java.lang.String</type>
        </field>
        <field>
          <name>creationDate</name>
          <type>java.util.Date</type>
        </field>
        <field>
          <name>authorID</name>
          <type>long</type>
        </field>
        <field>
          <name>version</name>
          <type>int</type>
        </field>
      </fields>
    </table>
  </tables>
</database>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [configuration] getProperties not working as I expect...

Oliver Heger
Poppe, Troy wrote:

> Assuming that I use the example XML document on the "XMLConfiguration HOWTO" page
> (see below), I have a question regarding the use of
> Configuration.getProperties().
>
> I'd like to get a List of Properties objects that represent the field nodes for a
> given table.
>
> I started by trying to get a Properties object for one of the field nodes, but
> was unable to.
>
> Any examples for the use of getProperties or getList that might help me out here?
>
> Thanks.
>
> Troy Poppe
>
>
>
>
> The Example XML file:
>
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <database>
>   <tables>
>     <table tableType="system">
>       <name>users</name>
>       <fields>
>         <field>
>           <name>uid</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>uname</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>firstName</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>lastName</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>email</name>
>           <type>java.lang.String</type>
>         </field>
>       </fields>
>     </table>
>     <table tableType="application">
>       <name>documents</name>
>       <fields>
>         <field>
>           <name>docid</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>name</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>creationDate</name>
>           <type>java.util.Date</type>
>         </field>
>         <field>
>           <name>authorID</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>version</name>
>           <type>int</type>
>         </field>
>       </fields>
>     </table>
>   </tables>
> </database>
>

I had a look at the getProperties() implementation (in
AbstractConfiguration), but it does not seem to be suitable for your
needs. AFICT it requires the property values to be queried in a form
like "key = value", so a supported XML would have to look something like

...
<fields>
   <field>
     <fielddata>name=uid</fielddata>
     <fielddata>type=long</fielddata>
   </field>
   ...
</fields>
...

Then it should be possible to do something like

Properties props =
config.getProperties("tables.table(0).fields.field(0).fielddata");

for obtaining a properties object with information about the first field
of the first table (however I didn't test this).

Using getList() allows you to query a single property value at a time
only. So you can fetch the names of all fields in a table (as shown in
the howtos), but you cannot retrieve a combination of the fields' names
and types (or further properties).

IIUYC you would like to do something like

Properties props = config.getProperties("tables.table.fields.field(0)");

and would obtain a Properties object with the keys "name" and "type" and
the values describing the first field, right? I am sorry, but this is
not supported ATM. And I am not sure whether it would be possible to
implement such a feature in a general and intuitive way: this would
require to parse a property's sub properties and somehow combine them?

Oliver


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: [configuration] getProperties not working as I expect...

Poppe, Troy
In reply to this post by Poppe, Troy

Thanks, I think this really boils down, for me, as an misunderstanding/lack of
understanding of the documentation.

I'll find another way to do it.

Thanks.

Troy

-----Original Message-----
From: Oliver Heger [mailto:[hidden email]]
Sent: Tuesday, June 14, 2005 2:22 AM
To: Jakarta Commons Users List
Subject: Re: [configuration] getProperties not working as I expect...


Poppe, Troy wrote:

> Assuming that I use the example XML document on the "XMLConfiguration
> HOWTO" page (see below), I have a question regarding the use of
> Configuration.getProperties().
>
> I'd like to get a List of Properties objects that represent the field
> nodes for a given table.
>
> I started by trying to get a Properties object for one of the field
> nodes, but was unable to.
>
> Any examples for the use of getProperties or getList that might help
> me out here?
>
> Thanks.
>
> Troy Poppe
>
>
>
>
> The Example XML file:
>
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <database>
>   <tables>
>     <table tableType="system">
>       <name>users</name>
>       <fields>
>         <field>
>           <name>uid</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>uname</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>firstName</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>lastName</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>email</name>
>           <type>java.lang.String</type>
>         </field>
>       </fields>
>     </table>
>     <table tableType="application">
>       <name>documents</name>
>       <fields>
>         <field>
>           <name>docid</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>name</name>
>           <type>java.lang.String</type>
>         </field>
>         <field>
>           <name>creationDate</name>
>           <type>java.util.Date</type>
>         </field>
>         <field>
>           <name>authorID</name>
>           <type>long</type>
>         </field>
>         <field>
>           <name>version</name>
>           <type>int</type>
>         </field>
>       </fields>
>     </table>
>   </tables>
> </database>
>

I had a look at the getProperties() implementation (in
AbstractConfiguration), but it does not seem to be suitable for your
needs. AFICT it requires the property values to be queried in a form
like "key = value", so a supported XML would have to look something like

...
<fields>
   <field>
     <fielddata>name=uid</fielddata>
     <fielddata>type=long</fielddata>
   </field>
   ...
</fields>
...

Then it should be possible to do something like

Properties props =
config.getProperties("tables.table(0).fields.field(0).fielddata");

for obtaining a properties object with information about the first field
of the first table (however I didn't test this).

Using getList() allows you to query a single property value at a time
only. So you can fetch the names of all fields in a table (as shown in
the howtos), but you cannot retrieve a combination of the fields' names
and types (or further properties).

IIUYC you would like to do something like

Properties props = config.getProperties("tables.table.fields.field(0)");

and would obtain a Properties object with the keys "name" and "type" and
the values describing the first field, right? I am sorry, but this is
not supported ATM. And I am not sure whether it would be possible to
implement such a feature in a general and intuitive way: this would
require to parse a property's sub properties and somehow combine them?

Oliver


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [configuration] getProperties not working as I expect...

Oliver Heger
That does not surprise me. The documentation for the getProperties()
method is indeed very short. I had to look inside the code to find out
what it is doing.

I will see if I can improve it a bit.

Oliver

Poppe, Troy wrote:

> Thanks, I think this really boils down, for me, as an misunderstanding/lack of
> understanding of the documentation.
>
> I'll find another way to do it.
>
> Thanks.
>
> Troy
>
> -----Original Message-----
> From: Oliver Heger [mailto:[hidden email]]
> Sent: Tuesday, June 14, 2005 2:22 AM
> To: Jakarta Commons Users List
> Subject: Re: [configuration] getProperties not working as I expect...
>
>
> Poppe, Troy wrote:
>
>>Assuming that I use the example XML document on the "XMLConfiguration
>>HOWTO" page (see below), I have a question regarding the use of
>>Configuration.getProperties().
>>
>>I'd like to get a List of Properties objects that represent the field
>>nodes for a given table.
>>
>>I started by trying to get a Properties object for one of the field
>>nodes, but was unable to.
>>
>>Any examples for the use of getProperties or getList that might help
>>me out here?
>>
>>Thanks.
>>
>>Troy Poppe
>>
>>
>>
>>
>>The Example XML file:
>>
>><?xml version="1.0" encoding="ISO-8859-1" ?>
>>
>><database>
>>  <tables>
>>    <table tableType="system">
>>      <name>users</name>
>>      <fields>
>>        <field>
>>          <name>uid</name>
>>          <type>long</type>
>>        </field>
>>        <field>
>>          <name>uname</name>
>>          <type>java.lang.String</type>
>>        </field>
>>        <field>
>>          <name>firstName</name>
>>          <type>java.lang.String</type>
>>        </field>
>>        <field>
>>          <name>lastName</name>
>>          <type>java.lang.String</type>
>>        </field>
>>        <field>
>>          <name>email</name>
>>          <type>java.lang.String</type>
>>        </field>
>>      </fields>
>>    </table>
>>    <table tableType="application">
>>      <name>documents</name>
>>      <fields>
>>        <field>
>>          <name>docid</name>
>>          <type>long</type>
>>        </field>
>>        <field>
>>          <name>name</name>
>>          <type>java.lang.String</type>
>>        </field>
>>        <field>
>>          <name>creationDate</name>
>>          <type>java.util.Date</type>
>>        </field>
>>        <field>
>>          <name>authorID</name>
>>          <type>long</type>
>>        </field>
>>        <field>
>>          <name>version</name>
>>          <type>int</type>
>>        </field>
>>      </fields>
>>    </table>
>>  </tables>
>></database>
>>
>
> I had a look at the getProperties() implementation (in
> AbstractConfiguration), but it does not seem to be suitable for your
> needs. AFICT it requires the property values to be queried in a form
> like "key = value", so a supported XML would have to look something like
>
> ...
> <fields>
>    <field>
>      <fielddata>name=uid</fielddata>
>      <fielddata>type=long</fielddata>
>    </field>
>    ...
> </fields>
> ...
>
> Then it should be possible to do something like
>
> Properties props =
> config.getProperties("tables.table(0).fields.field(0).fielddata");
>
> for obtaining a properties object with information about the first field
> of the first table (however I didn't test this).
>
> Using getList() allows you to query a single property value at a time
> only. So you can fetch the names of all fields in a table (as shown in
> the howtos), but you cannot retrieve a combination of the fields' names
> and types (or further properties).
>
> IIUYC you would like to do something like
>
> Properties props = config.getProperties("tables.table.fields.field(0)");
>
> and would obtain a Properties object with the keys "name" and "type" and
> the values describing the first field, right? I am sorry, but this is
> not supported ATM. And I am not sure whether it would be possible to
> implement such a feature in a general and intuitive way: this would
> require to parse a property's sub properties and somehow combine them?
>
> Oliver
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]