Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions common/src/main/java/com/genexus/util/GXProperties.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

public class GXProperties implements IGxJSONSerializable {
private LinkedHashMap < String, GXProperty > properties = new LinkedHashMap < > ();
private LinkedHashMap < String, GXProperty > originalProperties = new LinkedHashMap < > ();
private boolean eof;
private int lastElement;

Expand All @@ -23,36 +24,40 @@ public void set(String name, String value) {
this.put(name, value);
}

public void add(String name, String value) {
properties.put(name, new GXProperty(name, value));
}
public void add(String name, String value) { this.put(name, value); }

public void put(String name, String value) {
originalProperties.put(name, new GXProperty(name, value));
name = name.toLowerCase();
properties.put(name, new GXProperty(name, value));
}

public String toString() {
StringBuilder builder = new StringBuilder();
for (GXProperty property: properties.values()) {
for (GXProperty property: properties.values())
builder.append(property.getValue());
}
return builder.toString();
}

public String get(String name) {
name = name.toLowerCase();
return containsKey(name) ? properties.get(name).getValue() : "";
}

public void remove(String name) {
originalProperties.remove(name);
name = name.toLowerCase();
properties.remove(name);
}

public boolean containsKey(String name) {
name = name.toLowerCase();
return properties.containsKey(name);
}

public GXProperty item(int i) {
int counter = 0;
for (Map.Entry < String, GXProperty > entry: properties.entrySet()) {
for (Map.Entry < String, GXProperty > entry: originalProperties.entrySet()) {
if (counter++ == i) {
return entry.getValue();
}
Expand All @@ -76,7 +81,7 @@ public GXProperty first() {
eof = false;
if (count() > 0) {
lastElement = 0;
return properties.entrySet().iterator().next().getValue();
return originalProperties.entrySet().iterator().next().getValue();
} else {
eof = true;
return null;
Expand Down Expand Up @@ -114,12 +119,14 @@ public String toJSonString() {
JSONObject jObj = (JSONObject) GetJSONObject();
return jObj.toString();
}

public boolean fromJSonString(String s) {
return fromJSonString(s, null);
}

public boolean fromJSonString(String s, GXBaseCollection < SdtMessages_Message > messages) {
this.clear();
if (!s.equals("")) {
if (!s.isEmpty()) {
try {
JSONObject jObj = new JSONObject(s);
Iterator < String > keys = jObj.keys();
Expand All @@ -137,4 +144,4 @@ public boolean fromJSonString(String s, GXBaseCollection < SdtMessages_Message >
return false;
}
}
}
}