ICEfaces
  1. ICEfaces
  2. ICE-8522

ace:dataExporter, support pluggable export adapters for different export data-types

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 3.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Any

      Description

      Add an attribute to ace:dataExporter that allows application developers to specify a custom exporter type to be used instead of the built-in supported formats. Such object must be a subclass of org.icefaces.ace.component.dataexporter.Exporter.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #30649 Thu Aug 30 15:43:58 MDT 2012 art.zambrano ICE-8522 ace:dataExporter, added customExporter attribute
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporterMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporter.java
        Arturo Zambrano created issue -
        Arturo Zambrano made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 3.2 [ 10338 ]
        Arturo Zambrano made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Hide
        Arturo Zambrano added a comment -

        Committed improvement at revision 30649 in the trunk.

        Note: since the ace:dataExporter component has always worked by creating a new instance of a specific exporter type, the best practice for a custom exporter is to return a new instance of the exporter in the getter method, e.g.:

        public Object getCustomExporter()

        { return new MyExporter(); }

        Since, this getter is called in the Invoke Application phase, the exporter instance can pass any other application data in the constructor of the custom exporter, e.g.:

        public Object getCustomExporter()

        { return new MyExporter(selectedItems); }
        Show
        Arturo Zambrano added a comment - Committed improvement at revision 30649 in the trunk. Note: since the ace:dataExporter component has always worked by creating a new instance of a specific exporter type, the best practice for a custom exporter is to return a new instance of the exporter in the getter method, e.g.: public Object getCustomExporter() { return new MyExporter(); } Since, this getter is called in the Invoke Application phase, the exporter instance can pass any other application data in the constructor of the custom exporter, e.g.: public Object getCustomExporter() { return new MyExporter(selectedItems); }
        Arturo Zambrano made changes -
        Link This issue blocks ICE-8486 [ ICE-8486 ]
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #31346 Mon Oct 08 12:30:59 MDT 2012 art.zambrano ICE-8522 modified Exporter interface's 'export' method signature to avoid having to change such signature whenever a new feature or attribute is added to the dataExporter component, facilitating the use of custom exporters
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/InnerTableCSVExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/OuterTableCSVExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/XMLExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/PDFExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/CSVExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/ExcelExporter.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/Exporter.java
        Hide
        Arturo Zambrano added a comment - - edited

        Committed change to the trunk at revision 31346. The 'exporter' method signature was modified to avoid having to pass in every configuration parameter when invoking the exporter. Instead the ace:dataExporter component itself will be passed in, and the Exporter instance will retrieve whatever information it needs from the component. This is to facilitate the use of custom exporters in the future.

        Show
        Arturo Zambrano added a comment - - edited Committed change to the trunk at revision 31346. The 'exporter' method signature was modified to avoid having to pass in every configuration parameter when invoking the exporter. Instead the ace:dataExporter component itself will be passed in, and the Exporter instance will retrieve whatever information it needs from the component. This is to facilitate the use of custom exporters in the future.
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: