Author: rgodfrey
Date: Mon Feb  2 20:50:15 2015
New Revision: 1656566

URL: http://svn.apache.org/r1656566
Log:
QPID-6341 : Add test and allow a default alt text for oversized values

Modified:
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
    
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
    
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
 Mon Feb  2 20:50:15 2015
@@ -129,6 +129,12 @@ public class ConfiguredAutomatedAttribut
         return _annotation.oversize();
     }
 
+    @Override
+    public String getOversizedAltText()
+    {
+        return _annotation.oversizedAltText();
+    }
+
     public String getDescription()
     {
         return _annotation.description();

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
 Mon Feb  2 20:50:15 2015
@@ -60,6 +60,13 @@ public class ConfiguredDerivedAttribute<
         return _annotation.oversize();
     }
 
+    @Override
+    public String getOversizedAltText()
+    {
+        return "";
+    }
+
+
     public String getDescription()
     {
         return _annotation.description();

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
 Mon Feb  2 20:50:15 2015
@@ -45,6 +45,8 @@ public abstract class ConfiguredObjectAt
 
     public abstract boolean isOversized();
 
+    public abstract String getOversizedAltText();
+
     public abstract String getDescription();
 
     public T convert(final Object value, C object)

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
 Mon Feb  2 20:50:15 2015
@@ -36,4 +36,5 @@ public @interface ManagedAttribute
     String description() default "";
     String[] validValues() default {};
     boolean oversize() default false;
+    String oversizedAltText() default "";
 }

Modified: 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
 Mon Feb  2 20:50:15 2015
@@ -164,7 +164,12 @@ public class ConfiguredObjectToMapConver
                         String valueString = String.valueOf(value);
                         if(valueString.length() > oversizeThreshold)
                         {
-                            object.put(name, 
String.valueOf(value).substring(0,oversizeThreshold-4) + "...");
+
+                            String replacementValue = 
"".equals(attribute.getOversizedAltText())
+                                    ? String.valueOf(value).substring(0, 
oversizeThreshold - 4) + "..."
+                                    : attribute.getOversizedAltText();
+
+                            object.put(name, replacementValue);
                         }
                         else
                         {

Modified: 
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java?rev=1656566&r1=1656565&r2=1656566&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
 Mon Feb  2 20:50:15 2015
@@ -28,6 +28,7 @@ import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -216,6 +217,85 @@ public class ConfiguredObjectToMapConver
 
     }
 
+    public void testOversizedAttributes()
+    {
+
+        Model model = createTestModel();
+        ConfiguredObjectTypeRegistry typeRegistry = model.getTypeRegistry();
+        final Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes =
+                typeRegistry.getAttributeTypes(TestChild.class);
+        final ConfiguredObjectAttribute longAttr = 
mock(ConfiguredObjectAttribute.class);
+        when(longAttr.isOversized()).thenReturn(true);
+        when(longAttr.getOversizedAltText()).thenReturn("");
+        when(attributeTypes.get(eq("longAttr"))).thenReturn(longAttr);
+
+        TestChild mockChild = mock(TestChild.class);
+        when(mockChild.getModel()).thenReturn(model);
+        when(_configuredObject.getModel()).thenReturn(model);
+        configureMockToReturnOneAttribute(mockChild, "longAttr", "this is not 
long");
+        
when(_configuredObject.getChildren(TestChild.class)).thenReturn(Arrays.asList(mockChild));
+
+
+         Map<String, Object> resultMap = 
_converter.convertObjectToMap(_configuredObject,
+                                                                            
ConfiguredObject.class,
+                                                                            1,
+                                                                            
false,
+                                                                            
false,
+                                                                            
false,
+                                                                            
false,
+                                                                            
20);
+        Object children = resultMap.get("testchilds");
+        assertNotNull(children);
+        assertTrue(children instanceof Collection);
+        assertTrue(((Collection)children).size()==1);
+        Object attrs = ((Collection)children).iterator().next();
+        assertTrue(attrs instanceof Map);
+        assertEquals("this is not long", ((Map) attrs).get("longAttr"));
+
+
+
+        resultMap = _converter.convertObjectToMap(_configuredObject,
+                                                  ConfiguredObject.class,
+                                                  1,
+                                                  false,
+                                                  false,
+                                                  false,
+                                                  false,
+                                                  8);
+
+        children = resultMap.get("testchilds");
+        assertNotNull(children);
+        assertTrue(children instanceof Collection);
+        assertTrue(((Collection)children).size()==1);
+        attrs = ((Collection)children).iterator().next();
+        assertTrue(attrs instanceof Map);
+        assertEquals("this...", ((Map) attrs).get("longAttr"));
+
+
+
+
+        when(longAttr.getOversizedAltText()).thenReturn("test alt text");
+
+        resultMap = _converter.convertObjectToMap(_configuredObject,
+                                                  ConfiguredObject.class,
+                                                  1,
+                                                  false,
+                                                  false,
+                                                  false,
+                                                  false,
+                                                  8);
+
+        children = resultMap.get("testchilds");
+        assertNotNull(children);
+        assertTrue(children instanceof Collection);
+        assertTrue(((Collection)children).size()==1);
+        attrs = ((Collection)children).iterator().next();
+        assertTrue(attrs instanceof Map);
+        assertEquals("test alt text", ((Map) attrs).get("longAttr"));
+
+
+    }
+
     private Model createTestModel()
     {
         Model model = mock(Model.class);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to