You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2010/01/28 18:09:56 UTC

svn commit: r904162 - in /qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging: Address.java util/JAddr.java util/PyPrint.java

Author: rhs
Date: Thu Jan 28 17:09:55 2010
New Revision: 904162

URL: http://svn.apache.org/viewvc?rev=904162&view=rev
Log:
moved pprint from JAddr into separate utility class and use it from Address to implement a property toString

Added:
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/PyPrint.java
Modified:
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/Address.java
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java

Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/Address.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/Address.java?rev=904162&r1=904161&r2=904162&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/Address.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/Address.java Thu Jan 28 17:09:55 2010
@@ -24,6 +24,8 @@
 
 import org.apache.qpid.messaging.util.AddressParser;
 
+import static org.apache.qpid.messaging.util.PyPrint.pprint;
+
 
 /**
  * Address
@@ -64,4 +66,10 @@
         return options;
     }
 
+    public String toString()
+    {
+        return String.format("%s/%s; %s", pprint(name), pprint(subject),
+                             pprint(options));
+    }
+
 }

Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java?rev=904162&r1=904161&r2=904162&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java Thu Jan 28 17:09:55 2010
@@ -22,15 +22,14 @@
 
 import java.io.InputStreamReader;
 
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.qpid.messaging.Address;
 import org.apache.qpid.messaging.util.ParseError;
 import org.apache.qpid.messaging.util.Token;
 
+import static org.apache.qpid.messaging.util.PyPrint.pprint;
+
 
 /**
  * JAddr
@@ -95,113 +94,4 @@
                              pprint(addr.getOptions()));
     }
 
-    private static String pprint(Object obj)
-    {
-        if (obj instanceof Map)
-        {
-            return pprint_map((Map) obj);
-        }
-        else if (obj instanceof List)
-        {
-            return pprint_list((List) obj);
-        }
-        else if (obj instanceof String)
-        {
-            return pprint_string((String) obj);
-        }
-        else if (obj instanceof Boolean)
-        {
-            return ((Boolean) obj).booleanValue() ? "True" : "False";
-        }
-        else if (obj == null)
-        {
-            return "None";
-        }
-        else
-        {
-            return obj.toString();
-        }
-    }
-
-    private static String indent(String st)
-    {
-        return "  " + st.replace("\n", "\n  ");
-    }
-
-    private static String pprint_map(Map<Object,Object> map)
-    {
-        List<String> items = new ArrayList<String>();
-        for (Map.Entry me : map.entrySet())
-        {
-            items.add(String.format("%s: %s", pprint(me.getKey()),
-                                    pprint(me.getValue())));
-        }
-        Collections.sort(items);
-        return pprint_items("{", items, "}");
-    }
-
-    private static String pprint_list(List list)
-    {
-        List<String> items = new ArrayList<String>();
-        for (Object o : list)
-        {
-            items.add(pprint(o));
-        }
-        return pprint_items("[", items, "]");
-    }
-
-    private static String pprint_items(String start, List<String> items,
-                                       String end)
-    {
-        StringBuilder result = new StringBuilder();
-        for (String item : items)
-        {
-            if (result.length() > 0)
-            {
-                result.append(",\n");
-            }
-            result.append(indent(item));
-        }
-
-        if (result.length() > 0)
-        {
-            return String.format("%s\n%s\n%s", start, result, end);
-        }
-        else
-        {
-            return String.format("%s%s", start, end);
-        }
-    }
-
-    private static String pprint_string(String st)
-    {
-        StringBuilder result = new StringBuilder();
-        result.append('\'');
-        for (int i = 0; i < st.length(); i++)
-        {
-            char c = st.charAt(i);
-            switch (c)
-            {
-            case '\'':
-                result.append("\\'");
-                break;
-            case '\n':
-                result.append("\\n");
-                break;
-            default:
-                if (c >= 0x80)
-                {
-                    result.append(String.format("\\u%04x", (int)c));
-                }
-                else
-                {
-                    result.append(c);
-                }
-                break;
-            }
-        }
-        result.append('\'');
-        return result.toString();
-    }
-
 }

Added: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/PyPrint.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/PyPrint.java?rev=904162&view=auto
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/PyPrint.java (added)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/PyPrint.java Thu Jan 28 17:09:55 2010
@@ -0,0 +1,146 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.messaging.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * PyPrint
+ *
+ */
+
+public class PyPrint
+{
+
+    public static String pprint(Object obj)
+    {
+        if (obj instanceof Map)
+        {
+            return pprint_map((Map) obj);
+        }
+        else if (obj instanceof List)
+        {
+            return pprint_list((List) obj);
+        }
+        else if (obj instanceof String)
+        {
+            return pprint_string((String) obj);
+        }
+        else if (obj instanceof Boolean)
+        {
+            return ((Boolean) obj).booleanValue() ? "True" : "False";
+        }
+        else if (obj == null)
+        {
+            return "None";
+        }
+        else
+        {
+            return obj.toString();
+        }
+    }
+
+    private static String indent(String st)
+    {
+        return "  " + st.replace("\n", "\n  ");
+    }
+
+    private static String pprint_map(Map<Object,Object> map)
+    {
+        List<String> items = new ArrayList<String>();
+        for (Map.Entry me : map.entrySet())
+        {
+            items.add(String.format("%s: %s", pprint(me.getKey()),
+                                    pprint(me.getValue())));
+        }
+        Collections.sort(items);
+        return pprint_items("{", items, "}");
+    }
+
+    private static String pprint_list(List list)
+    {
+        List<String> items = new ArrayList<String>();
+        for (Object o : list)
+        {
+            items.add(pprint(o));
+        }
+        return pprint_items("[", items, "]");
+    }
+
+    private static String pprint_items(String start, List<String> items,
+                                       String end)
+    {
+        StringBuilder result = new StringBuilder();
+        for (String item : items)
+        {
+            if (result.length() > 0)
+            {
+                result.append(",\n");
+            }
+            result.append(indent(item));
+        }
+
+        if (result.length() > 0)
+        {
+            return String.format("%s\n%s\n%s", start, result, end);
+        }
+        else
+        {
+            return String.format("%s%s", start, end);
+        }
+    }
+
+    private static String pprint_string(String st)
+    {
+        StringBuilder result = new StringBuilder();
+        result.append('\'');
+        for (int i = 0; i < st.length(); i++)
+        {
+            char c = st.charAt(i);
+            switch (c)
+            {
+            case '\'':
+                result.append("\\'");
+                break;
+            case '\n':
+                result.append("\\n");
+                break;
+            default:
+                if (c >= 0x80)
+                {
+                    result.append(String.format("\\u%04x", (int)c));
+                }
+                else
+                {
+                    result.append(c);
+                }
+                break;
+            }
+        }
+        result.append('\'');
+        return result.toString();
+    }
+
+}



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org