lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (Issue Comment Edited) (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Edited] (LUCENE-3847) LuceneTestCase should check for modifications on System properties
Date Mon, 05 Mar 2012 08:10:57 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-3847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222208#comment-13222208
] 

Uwe Schindler edited comment on LUCENE-3847 at 3/5/12 8:09 AM:
---------------------------------------------------------------

As far as I remember, the main problem with the Map interface in Properties is the values
coming from the parent "defaults" object. When you wrap another properties object with one
that has the other one as "defaults" given in ctor, then your are fcked up if you are using
the Map interface. Which is not the case for system properties, but that's not guaranteed
(e.g. the Java JVM could set some basic properties in another Properties object and make the
changes available only through the overlayed properties object).

To fix the "defaults" problem I would go with the Enumeration<?> (works in Java 5, too)
in a "for(Enumeration<?> e=propertyNames(); e.hasMoreElements();)" loop.

If you use the Set interface, the inherited props would not have been seen and the system
may *delete* properties which are in a parent/"defaults" properties object.
                
      was (Author: thetaphi):
    As far as I remember, the main problem with the Map interface in Properties is the values
coming from the parent object (passed in Parameter). When you wrap another properties object
with one that has the other one as "defaults" given in ctor, then your are fcked up if you
are using the Map interface. Which is not the case for system properties, but that's not guaranteed
(e.g. the Java JVM could set some basic properties in another Properties object and make the
changes available only through the overlayed properties object).

To fix the "defaults" problem I would go with the Enumeration<?> (works in Java 5, too)
in a "for(Enumeration<?> e=propertyNames(); e.hasMoreElements();)" loop.

If you use the Set interface, the inherited props would not have been seen and the system
may *delete* properties which are in a parent/"defaults" properties object.
                  
> LuceneTestCase should check for modifications on System properties
> ------------------------------------------------------------------
>
>                 Key: LUCENE-3847
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3847
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: general/test
>            Reporter: Dawid Weiss
>            Assignee: Dawid Weiss
>            Priority: Minor
>             Fix For: 3.6, 4.0
>
>         Attachments: LUCENE-3847.patch
>
>
> - fail the test if changes have been detected.
> - revert the state of system properties before the suite.
> - cleanup after the suite.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message