Pankraz76 commented on code in PR #2436:
URL: https://github.com/apache/maven/pull/2436#discussion_r2134654507


##########
src/mdo/java/WrapperProperties.java:
##########
@@ -101,102 +88,89 @@ public void list(PrintWriter out) {
 
     @Override
     public int size() {
-        ensureInitialized();
-        return orderedProps.size();
+        return getter.get().size();
     }
 
     @Override
     public boolean isEmpty() {
-        ensureInitialized();
-        return orderedProps.isEmpty();
+        return getter.get().isEmpty();
     }
 
     @Override
     public Enumeration<Object> keys() {
-        ensureInitialized();
-        return orderedProps.keys();
+        return Collections.enumeration((Set) getter.get().keySet());
     }
 
     @Override
     public Enumeration<Object> elements() {
-        ensureInitialized();
-        return orderedProps.elements();
+        return Collections.enumeration((Collection) getter.get().values());
     }
 
     @Override
     public boolean contains(Object value) {
-        ensureInitialized();
-        return orderedProps.contains(value);
+        return getter.get().containsKey(value != null ? value.toString() : 
null);
     }
 
     @Override
     public boolean containsValue(Object value) {
-        ensureInitialized();
-        return orderedProps.containsValue(value);
+        return getter.get().containsValue(value);
     }
 
     @Override
     public boolean containsKey(Object key) {
-        ensureInitialized();
-        return orderedProps.containsKey(key);
+        return getter.get().containsKey(key);
     }
 
     @Override
     public Object get(Object key) {
-        ensureInitialized();
-        return orderedProps.get(key);
+        return getter.get().get(key);
     }
 
     @Override
     public synchronized String toString() {
-        ensureInitialized();
-        return orderedProps.toString();
+        return getter.get().toString();
     }
 
     @Override
     public Set<Object> keySet() {
-        ensureInitialized();
-        return orderedProps.keySet();
+        return new OrderedProperties(getter.get()).keySet();
     }
 
     @Override
     public Collection<Object> values() {
-        ensureInitialized();
-        return orderedProps.values();
+        return new OrderedProperties(getter.get()).values();
     }
 
     @Override
     public Set<Map.Entry<Object, Object>> entrySet() {
-        ensureInitialized();
-        return orderedProps.entrySet();
+        return new OrderedProperties(getter.get()).entrySet();
     }
 
     @Override
     public synchronized boolean equals(Object o) {
-        ensureInitialized();
         if (o instanceof WrapperProperties wrapperProperties) {
-            wrapperProperties.ensureInitialized();
-            return orderedProps.equals(wrapperProperties.orderedProps);
+            o = wrapperProperties.getter.get();
         }
-        return orderedProps.equals(o);
+        return getter.get().equals(o);
     }
 
     @Override
     public synchronized int hashCode() {
-        ensureInitialized();
-        return orderedProps.hashCode();
+        return getter.get().hashCode();
     }
 
     @Override
     public Object getOrDefault(Object key, Object defaultValue) {
-        ensureInitialized();
-        return orderedProps.getOrDefault(key, defaultValue);
+        if (key instanceof String str && defaultValue instanceof String def) {
+            return getter.get().getOrDefault(key, def);
+        } else {
+            return defaultValue;
+        }

Review Comment:
   yes, its done in browser, sorry. could still merge and fix by auto format 
:-). this is really good nice feat.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to