< prev index next >

src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java

Print this page
rev 52881 : 8214971: Replace use of string.equals("") with isEmpty()
Reviewed-by: jlaskey, prappo, lancea, dfuchs, redestad


 460      * {"a", ""} + {"b", ""}  =>  {"a", "", "b", ""}   {"a", "b", ""}
 461      * {"a", ""} + {"", "b"}  =>  {"a", "", "", "b"}   {"a", "", "b"}
 462      * }</pre>
 463      */
 464     public Name composeName(Name name, Name prefix) throws NamingException {
 465         Name res = (Name)prefix.clone();
 466         if (name == null) {
 467             return res;
 468         }
 469         res.addAll(name);
 470 
 471         String elide = (String)
 472             p_getEnvironment().get("java.naming.provider.compose.elideEmpty");
 473         if (elide == null || !elide.equalsIgnoreCase("true")) {
 474             return res;
 475         }
 476 
 477         int len = prefix.size();
 478 
 479         if (!allEmpty(prefix) && !allEmpty(name)) {
 480             if (res.get(len - 1).equals("")) {
 481                 res.remove(len - 1);
 482             } else if (res.get(len).equals("")) {
 483                 res.remove(len);
 484             }
 485         }
 486         return res;
 487     }
 488 
 489 
 490 // ------ internal methods used by PartialCompositeContext
 491 
 492     /**
 493      * Tests whether a name contains a nonempty component.
 494      */
 495     protected static boolean allEmpty(Name name) {
 496         Enumeration<String> enum_ = name.getAll();
 497         while (enum_.hasMoreElements()) {
 498             if (!enum_.nextElement().isEmpty()) {
 499                 return false;
 500             }
 501         }
 502         return true;




 460      * {"a", ""} + {"b", ""}  =>  {"a", "", "b", ""}   {"a", "b", ""}
 461      * {"a", ""} + {"", "b"}  =>  {"a", "", "", "b"}   {"a", "", "b"}
 462      * }</pre>
 463      */
 464     public Name composeName(Name name, Name prefix) throws NamingException {
 465         Name res = (Name)prefix.clone();
 466         if (name == null) {
 467             return res;
 468         }
 469         res.addAll(name);
 470 
 471         String elide = (String)
 472             p_getEnvironment().get("java.naming.provider.compose.elideEmpty");
 473         if (elide == null || !elide.equalsIgnoreCase("true")) {
 474             return res;
 475         }
 476 
 477         int len = prefix.size();
 478 
 479         if (!allEmpty(prefix) && !allEmpty(name)) {
 480             if (res.get(len - 1).isEmpty()) {
 481                 res.remove(len - 1);
 482             } else if (res.get(len).isEmpty()) {
 483                 res.remove(len);
 484             }
 485         }
 486         return res;
 487     }
 488 
 489 
 490 // ------ internal methods used by PartialCompositeContext
 491 
 492     /**
 493      * Tests whether a name contains a nonempty component.
 494      */
 495     protected static boolean allEmpty(Name name) {
 496         Enumeration<String> enum_ = name.getAll();
 497         while (enum_.hasMoreElements()) {
 498             if (!enum_.nextElement().isEmpty()) {
 499                 return false;
 500             }
 501         }
 502         return true;


< prev index next >