Oliver,
I apologize for my incomplete snippet.  Looking back it would be difficult
to track down what was going on.   So lets try this one more time with some
complete code. :-)

XML Configuration Used:

<?xml version="1.0" encoding="UTF-8" ?>
<CollectiveVerificationTool>
  <Topic>test</Topic>

  <Publication>
     <Username>user</Username>
     <Password>usertest</Password>
  </Publication>

  <Hosts>
     <Subscribers>node1</Subscribers>
     <Publishers>node3</Publishers>
  </Hosts>

</CollectiveVerificationTool>


Here is a sample class illustrating the issue:

import java.util.Arrays;

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.XMLConfiguration;


public class ConfigTest {


   public ConfigTest() throws Exception {

        XMLConfiguration config = new XMLConfiguration( "CVT.xml" );

       config.setValidating( false );

       config.load();


       Configuration subConfig = config.subset( "Hosts" );

       System.out.println(subConfig.getString( "Subscribers" ));
       System.out.println(Arrays.asList(subConfig.getStringArray(
"Subscribers" )));


   }

   /**
    * @param args
    */
   public static void main(String[] args) throws Exception {

       new ConfigTest();


   }

}

Here is the output:
node1
[node1, node1]


I would expect the following output from that code above:
node1
[node1]

In other words I would expect a one element array returned by getStringArray
and the contents of that string array being "node1".

Thanks!



On 1/18/07, Oliver Heger <[EMAIL PROTECTED]> wrote:

Brian O'Connell wrote:
> I searched the archives (the best I could) but was unable to locate a
> solution to this problem.
>
> I am using commons configuration 1.3
>
> I am seeing duplicate entries using the getStringArray method with an
> XMLConfiguration.
>
> Here is an example configuration file:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <CollectiveVerificationTool>
>   <Topic>test</Topic>
>
>   <Publication>
>      <Username>user</Username>
>      <Password>usertest</Password>
>   </Publication>
>
>   <Hosts>
>      <Subscribers>node1</Subscribers>
>      <Publishers>node3</Publishers>
>   </Hosts>
>
>
> </CollectiveVerificationTool>
>
>
> Here is a code snippet that experiences the problem.
>
>
> String single = configuration.getString( key );
>
> System.out.println(single);
>
> String value[] = configuration.getStringArray( key );
>
> System.out.println("Size of Array: " + value.length);
>
> System.out.println(Arrays.asList(value));

Sorry, but from this snippet I cannot track down the problem. Which
value has the key variable? How did you load the configuration?

Oliver


>
>
> Here is the output of that snippet:
>
> node1
> Size of Array: 2
> [node1, node1]
>
>
> I would expect the size of the array to be 1 and the only item to be a
> single entry of node1.
>
> Any pointers are appreciated.
>
> Thanks!
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to