You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2018/03/26 16:22:49 UTC
svn commit: r1827772 -
/aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java
Author: csierra
Date: Mon Mar 26 16:22:49 2018
New Revision: 1827772
URL: http://svn.apache.org/viewvc?rev=1827772&view=rev
Log:
[Component-DSL] Improve toString method
Modified:
aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java
Modified: aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java
URL: http://svn.apache.org/viewvc/aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java?rev=1827772&r1=1827771&r2=1827772&view=diff
==============================================================================
--- aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java (original)
+++ aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/osgi/functional/CachingServiceReference.java Mon Mar 26 16:22:49 2018
@@ -170,10 +170,67 @@ public class CachingServiceReference<T>
@Override
public String toString() {
- return "CachingServiceReference{" +
- "cachedProperties=" + _properties + ", " +
- "serviceReference=" + _serviceReference +
- '}';
+ return "CachingServiceReference {" +
+ System.lineSeparator() +
+ "cachedProperties=" +
+ mapToString(_properties) +
+ System.lineSeparator() +
+ "serviceReference=" +
+ _serviceReference +
+ System.lineSeparator() +
+ "}";
+ }
+
+ private String mapToString(Map<String, Object> map) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("{");
+
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ stringBuilder.append(entry.getKey());
+ stringBuilder.append("=");
+
+ Object value = entry.getValue();
+
+ if (value instanceof int[]) {
+ stringBuilder.append(Arrays.toString((int[]) value));
+ }
+ else if (value instanceof long[]) {
+ stringBuilder.append(Arrays.toString((long[]) value));
+ }
+ else if (value instanceof float[]) {
+ stringBuilder.append(Arrays.toString((float[]) value));
+ }
+ else if (value instanceof double[]) {
+ stringBuilder.append(Arrays.toString((double[]) value));
+ }
+ else if (value instanceof byte[]) {
+ stringBuilder.append(Arrays.toString((byte[]) value));
+ }
+ else if (value instanceof short[]) {
+ stringBuilder.append(Arrays.toString((short[]) value));
+ }
+ else if (value instanceof char[]) {
+ stringBuilder.append(Arrays.toString((char[]) value));
+ }
+ else if (value instanceof Object[]) {
+ stringBuilder.append(Arrays.deepToString((Object[]) value));
+ }
+ else {
+ stringBuilder.append(value);
+ }
+
+ stringBuilder.append(", ");
+ }
+
+ if (!map.isEmpty()) {
+ stringBuilder.delete(
+ stringBuilder.length() - 2, stringBuilder.length());
+ }
+
+ stringBuilder.append("}");
+
+ return stringBuilder.toString();
}
/**