dflorey     2004/06/22 08:22:21

  Modified:    proposals/projector/src/java/org/apache/slide/projector/processor/table
                        TableGenerator.java TableMapRenderer.java
  Log:
  Selectable column fragment added
  
  Revision  Changes    Path
  1.7       +12 -5     
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableGenerator.java
  
  Index: TableGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableGenerator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TableGenerator.java       22 Jun 2004 13:54:24 -0000      1.6
  +++ TableGenerator.java       22 Jun 2004 15:22:21 -0000      1.7
  @@ -45,11 +45,12 @@
       final private static String SORTABLE = "sortable";
       final private static String HEADER = "header";
       final private static String KEY = "key";
  +    final private static String VALUE = "value";
  +    final private static String FRAGMENT = "fragment";
       
       final private static String HEADERS = "headers";
       final private static String COLUMNS = "columns";
   
  -    final private static String VALUE = "value";
       final private static String SORTABLE_HANDLER = "sortableHandler";
       final private static String RESIZABLE_HANDLER = "resizableHandler";
   
  @@ -62,6 +63,7 @@
           setRequiredFragments(new String[] { DEFAULT_FRAGMENT, COLUMN_FRAGMENT, 
HEADER_COLUMN_FRAGMENT });
           setOptionalFragments(new String[] { COLLAPSED_HEADER_COLUMN_FRAGMENT, 
COLLAPSED_COLUMN_FRAGMENT, ASCENDING_HEADER_COLUMN_FRAGMENT, 
DESCENDING_HEADER_COLUMN_FRAGMENT, EMPTY_FRAGMENT, HEADER_FRAGMENT, FOOTER_FRAGMENT, 
FIRST_FRAGMENT, LAST_FRAGMENT, EVEN_FRAGMENT });
           setRepeatedFragments(new String[] { FIRST_FRAGMENT, LAST_FRAGMENT, 
DEFAULT_FRAGMENT, EVEN_FRAGMENT });
  +        ignoreUndefinedFragments(false);
       }
   
       public void configure(StreamableValue config) throws ConfigurationException {
  @@ -75,9 +77,10 @@
           List headerParameterDescriptors = getTemplateParameterDescriptor(new 
String[] { HEADER_COLUMN_FRAGMENT, COLLAPSED_HEADER_COLUMN_FRAGMENT });
           headerParameterDescriptors.add(new ParameterDescriptor(HEADER, new 
ParameterMessage("tableGenerator/parameter/columns/header"), new 
StringValueDescriptor(), StringValue.EMPTY));
           headerParameterDescriptors.add(new ParameterDescriptor(VALUE, new 
ParameterMessage("tableGenerator/parameter/columns/value"), new 
ResourceValueDescriptor(), NullValue.NULL));
  -        headerParameterDescriptors.add(new ParameterDescriptor(KEY, new 
ParameterMessage("tableGenerator/parameter/columns/key"), new StringValueDescriptor(), 
NullValue.NULL));
  +        headerParameterDescriptors.add(new ParameterDescriptor(KEY, new 
ParameterMessage("tableGenerator/parameter/columns/key"), new 
StringValueDescriptor()));
           headerParameterDescriptors.add(new ParameterDescriptor(RESIZABLE, new 
ParameterMessage("tableGenerator/parameter/columns/resizable"), new 
BooleanValueDescriptor(), BooleanValue.FALSE));
           headerParameterDescriptors.add(new ParameterDescriptor(SORTABLE, new 
ParameterMessage("tableGenerator/parameter/columns/sortable"), new 
BooleanValueDescriptor(), BooleanValue.FALSE));
  +        headerParameterDescriptors.add(new ParameterDescriptor(FRAGMENT, new 
ParameterMessage("tableGenerator/parameter/columns/fragment"), new 
StringValueDescriptor(getDefinedFragments()), NullValue.NULL));
           parameterDescriptorList.add(new ParameterDescriptor(COLUMNS_PARAMETER, new 
ParameterMessage("tableGenerator/parameter/columns"),
                        new ArrayValueDescriptor(new 
MapValueDescriptor((ParameterDescriptor [])headerParameterDescriptors.toArray(new 
ParameterDescriptor[headerParameterDescriptors.size()])))));
           parameterDescriptorList.add(new ParameterDescriptor(PARAMETER, new 
ParameterMessage("tableGenerator/parameter/parameter"), new MapValueDescriptor(), new 
MapValue(new HashMap())));
  @@ -162,15 +165,19 @@
               Map inputParameter = ((MapValue)input[i]).getMap();
                for ( int j = 0; j < columns.length; j++ ) {
                        Map columnMap = ((MapValue)columns[j]).getMap();
  +                     Object value = columnMap.get(VALUE);
                        String key = columnMap.get(KEY).toString();
  -                     Value value = (Value)columnMap.get(VALUE);
                        if ( value == null || value == NullValue.NULL ) {
  -                             value = (Value)inputParameter.get(key);
  +                             value = inputParameter.get(key);
                        }
                        Map columnParameters = new HashMap();
                        columnParameters.putAll(parameter);
                        columnParameters.put(VALUE, value);
                        Template template = columnTemplate;
  +                     Value fragment = (Value)columnMap.get(FRAGMENT);
  +                     if ( fragment != NullValue.NULL ) {
  +                             template = getOptionalFragment(fragment.toString());
  +                     }
                        if ( size != null && 
TableHandler.COLLAPSED.equals(size.get(key))) {
                                template = collapsedColumnTemplate;
                        }
  
  
  
  1.6       +2 -2      
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableMapRenderer.java
  
  Index: TableMapRenderer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableMapRenderer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TableMapRenderer.java     21 Jun 2004 16:00:25 -0000      1.5
  +++ TableMapRenderer.java     22 Jun 2004 15:22:21 -0000      1.6
  @@ -203,8 +203,8 @@
                public int compare(Object o1, Object o2) {
                        Map map1 = ((MapValue)o1).getMap();
                        Map map2 = ((MapValue)o2).getMap();
  -                     Value v1 = (Value)map1.get(sortBy);
  -                     Value v2 = (Value)map2.get(sortBy);
  +                     Object v1 = map1.get(sortBy);
  +                     Object v2 = map2.get(sortBy);
                        int comparison = 0;
                        if ( v1 instanceof Comparable ) {
                                comparison = ((Comparable)v1).compareTo(v2);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to