Changeset 523


Ignore:
Timestamp:
02/11/11 18:50:59 (2 years ago)
Author:
philsmart
Message:
 
Location:
raptor-web/trunk/src/main
Files:
53 added
10 edited

Legend:

Unmodified
Added
Removed
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/engine/ChartProcessor.java

    r522 r523  
    333333            tableModel.addTableSeries(tseries); 
    334334        } 
     335        tableModel.constrcutTableForView(); 
    335336 
    336337        return tableModel; 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/engine/RaptorWebEngine.java

    r484 r523  
    164164     */ 
    165165    public void updateMUAStatistic(GraphModel model) { 
    166         log.debug("Updating statistic {} ",model.getSelectedStatisticalUnit().getStatisticParameters().getUnitName()); 
    167         ServiceEndpointInterface.updateStatisticalUnit(attachedMUA.getServiceEndpoint(),model.getSelectedStatisticalUnit()); 
     166        log.debug("Updating statistic {} ",model.getSelectedStatisticalUnit().getStatisticalIUnitInformation().getStatisticParameters().getUnitName()); 
     167        ServiceEndpointInterface.updateStatisticalUnit(attachedMUA.getServiceEndpoint(),model.getSelectedStatisticalUnit().getStatisticalIUnitInformation()); 
    168168    } 
    169169 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/engine/reports/CSVReportGenerator.java

    r518 r523  
    6464            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); 
    6565            java.util.Date date = new java.util.Date(); 
    66             dir = new File(dir.getAbsoluteFile() + "/" + session.getGraphmodel().getSelectedStatisticalUnit().getStatisticParameters().getUnitName().replaceAll(" ", "") + "-" + dateFormat.format(date) + ".csv"); 
     66            dir = new File(dir.getAbsoluteFile() + "/" + session.getGraphmodel().getSelectedStatisticalUnit().getStatisticalIUnitInformation().getStatisticParameters().getUnitName().replaceAll(" ", "") + "-" + dateFormat.format(date) + ".csv"); 
    6767 
    6868 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/engine/reports/ExcelReportGenerator.java

    r518 r523  
    6161            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); 
    6262            java.util.Date date = new java.util.Date(); 
    63             dir = new File(dir.getAbsoluteFile() + "/" + session.getGraphmodel().getSelectedStatisticalUnit().getStatisticParameters().getUnitName().replaceAll(" ", "") + "-" + dateFormat.format(date) + ".xls"); 
     63            dir = new File(dir.getAbsoluteFile() + "/" + session.getGraphmodel().getSelectedStatisticalUnit().getStatisticalIUnitInformation().getStatisticParameters().getUnitName().replaceAll(" ", "") + "-" + dateFormat.format(date) + ".xls"); 
    6464            WorkbookSettings ws = new WorkbookSettings(); 
    6565            ws.setLocale(new Locale("en", "EN")); 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/model/GraphModel.java

    r521 r523  
    1010 
    1111 
     12import uk.ac.cardiff.model.StatisticParameters; 
    1213import uk.ac.cardiff.model.wsmodel.StatisticalUnitInformation; 
    1314 
     
    2122        private ChartOptions chartOptions; 
    2223        private RaptorTableChartModel currentTableGraph; 
    23         private StatisticalUnitInformation selectedStatisticalUnit; 
     24        private StatisticalUnitInformationView selectedStatisticalUnit; 
    2425        private String processingResult; 
    2526        private boolean showControlPanel; 
    2627        private RaptorJFreeChartModel currentJFreeGraph; 
    2728        private String controlPanelSize; 
     29        private List<StatisticalUnitInformationView> statisticalUnitsForView; 
     30 
    2831 
    2932 
     
    4144            controlPanelSize="0%"; 
    4245            currentTableGraph = new RaptorTableChartModel(); 
     46 
     47            //create a blank selected statistical unit for display 
     48            selectedStatisticalUnit = new StatisticalUnitInformationView(); 
     49            StatisticalUnitInformation tmp = new StatisticalUnitInformation(); 
     50            tmp.setStatisticParameters(new StatisticParameters()); 
     51            selectedStatisticalUnit.setStatisticalIUnitInformation(tmp); 
     52 
    4353        } 
    4454 
    4555        /** 
     56         * Set the old statistical unit to false, update it with the newly selected statisticalunit 
     57         * and set it to selected. 
     58         * 
    4659         * @param selectedStatisticalUnit the selectedStatisticalUnit to set 
    4760         */ 
    48         public void setSelectedStatisticalUnit(StatisticalUnitInformation selectedStatisticalUnit) { 
    49                 this.selectedStatisticalUnit = selectedStatisticalUnit; 
     61        public void setSelectedStatisticalUnit(StatisticalUnitInformationView selectedStatisticalUnit) { 
     62                this.selectedStatisticalUnit.setSelected(false); 
     63                this.selectedStatisticalUnit = selectedStatisticalUnit; 
     64                this.selectedStatisticalUnit.setSelected(true); 
    5065        } 
    5166 
     
    5570         * @return the selectedStatisticalUnit 
    5671         */ 
    57         public StatisticalUnitInformation getSelectedStatisticalUnit() { 
     72        public StatisticalUnitInformationView getSelectedStatisticalUnit() { 
    5873                return selectedStatisticalUnit; 
    5974        } 
     
    132147        } 
    133148 
     149        public void setStatisticalUnitsForView(List<StatisticalUnitInformationView> statisticalUnitsForView) { 
     150            this.statisticalUnitsForView = statisticalUnitsForView; 
     151        } 
     152 
     153        public List<StatisticalUnitInformationView> getStatisticalUnitsForView() { 
     154            return statisticalUnitsForView; 
     155        } 
     156 
     157 
    134158 
    135159 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/model/RaptorTableChartModel.java

    r519 r523  
    66import java.io.Serializable; 
    77import java.util.ArrayList; 
     8import java.util.Arrays; 
    89import java.util.List; 
     10 
     11import org.slf4j.Logger; 
     12import org.slf4j.LoggerFactory; 
     13 
     14import uk.ac.cardiff.raptorweb.model.records.Row; 
    915 
    1016/** 
     
    1218 * 
    1319 */ 
    14 public class RaptorTableChartModel implements Serializable{ 
     20public class RaptorTableChartModel implements Serializable { 
     21    static Logger log = LoggerFactory.getLogger(RaptorTableChartModel.class); 
    1522 
    1623    /* generated serialID */ 
    1724    private static final long serialVersionUID = 1765790673328864045L; 
    1825 
    19         private List<TableSeries> tableSeries; 
     26    private List<TableSeries> tableSeries; 
    2027 
    21         public RaptorTableChartModel(){ 
    22             setTableSeries(new ArrayList()); 
    23         } 
     28    private List<ManyRow> rowsForView; 
    2429 
    25         /** 
    26          * @param tseries 
    27          */ 
    28         public void addTableSeries(TableSeries tseries) { 
    29            getTableSeries().add(tseries); 
    30         } 
     30    private List<String> series; 
     31    private List<Object[]> rowList; 
    3132 
    32         public void setTableSeries(List<TableSeries> tableSeries) { 
    33             this.tableSeries = tableSeries; 
    34         } 
     33    public RaptorTableChartModel() { 
     34        setTableSeries(new ArrayList()); 
     35    } 
    3536 
    36         public List<TableSeries> getTableSeries() { 
    37             return tableSeries; 
     37    /** 
     38     * @param tseries 
     39     */ 
     40    public void addTableSeries(TableSeries tseries) { 
     41        getTableSeries().add(tseries); 
     42    } 
     43 
     44    public void setTableSeries(List<TableSeries> tableSeries) { 
     45        this.tableSeries = tableSeries; 
     46    } 
     47 
     48    public List<TableSeries> getTableSeries() { 
     49        return tableSeries; 
     50    } 
     51 
     52    /** 
     53     * This could be cached, as opposed to created on the fly e.g. created after the construction of he tableSeries 
     54     * 
     55     * @return 
     56     */ 
     57    public void constrcutTableForView() { 
     58        if (rowsForView == null) 
     59            rowsForView = new ArrayList<ManyRow>(); 
     60        if (series == null) 
     61            series = new ArrayList<String>(); 
     62 
     63 
     64        series.add("Group"); 
     65        for (TableSeries tseries : tableSeries) { 
     66            series.add(tseries.getSeriesLabel()); 
     67 
    3868        } 
    3969 
    4070 
     71        if (tableSeries.size() > 0) { 
     72            for (Row row : tableSeries.get(0).getRows()) { 
     73                ManyRow manyRow = new ManyRow(); 
     74                manyRow.setGroupLabel(row.getGroup()); 
     75                getRowsForView().add(manyRow); 
    4176 
     77            } 
    4278 
     79            for (TableSeries series : tableSeries) { 
     80                for (Row row : series.getRows()) { 
     81                    for (ManyRow mrow : getRowsForView()) { 
     82                        if (mrow.getGroupLabel().equals(row.getGroup())) { 
     83                            mrow.addValue(row.getValue()); 
     84                        } 
     85                    } 
     86                } 
     87            } 
     88            setRowList(new ArrayList<Object[]>()); 
    4389 
     90            for (ManyRow mrow : rowsForView) { 
     91                Object[] completeRow = new Object[series.size()]; 
     92                for (int i = 0; i < series.size(); i++) { 
     93                    if (i==0){ 
     94                        completeRow[0] = mrow.getGroupLabel(); 
     95                    } 
     96                    else if (mrow.getValues().size() > i) { 
     97                        completeRow[i] = mrow.getValues().get(i); 
     98                    } else { 
     99                        completeRow[i] = ""; 
     100                    } 
     101                } 
     102                rowList.add(completeRow); 
     103            } 
     104        } 
     105 
     106    } 
     107 
     108    /** 
     109     * @param currentTableGraph 
     110     * @return 
     111     */ 
     112    private int maxNoRows() { 
     113        int maxRows = 0; 
     114        for (TableSeries tseries : tableSeries) { 
     115            if (tseries.getRows().size() > maxRows) 
     116                maxRows = tseries.getRows().size(); 
     117        } 
     118        return maxRows; 
     119    } 
     120 
     121    public void setRowsForView(List<ManyRow> rowsForView) { 
     122        this.rowsForView = rowsForView; 
     123    } 
     124 
     125    public List<ManyRow> getRowsForView() { 
     126        return rowsForView; 
     127    } 
     128 
     129    public void setSeries(List<String> series) { 
     130        this.series = series; 
     131    } 
     132 
     133    public List<String> getSeries() { 
     134        return series; 
     135    } 
     136 
     137    public void setRowList(List<Object[]> rowList) { 
     138        this.rowList = rowList; 
     139    } 
     140 
     141    public List<Object[]> getRowList() { 
     142        return rowList; 
     143    } 
    44144 
    45145} 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/service/GraphService.java

    r484 r523  
    2323        public List getStatisticalUnits(); 
    2424 
     25        public void populateStatisticalUnits(WebSession websession); 
     26 
    2527        public void invokeStatisticalUnit(WebSession websession); 
    2628 
  • raptor-web/trunk/src/main/java/uk/ac/cardiff/raptorweb/service/impl/GraphServiceImpl.java

    r519 r523  
    2424import uk.ac.cardiff.raptorweb.model.RaptorGraphModel; 
    2525import uk.ac.cardiff.raptorweb.model.ReportModel; 
     26import uk.ac.cardiff.raptorweb.model.StatisticalUnitInformationView; 
    2627import uk.ac.cardiff.raptorweb.model.WebSession; 
    2728import uk.ac.cardiff.raptorweb.service.GraphService; 
     
    5758        } 
    5859 
     60        public void populateStatisticalUnits(WebSession websession){ 
     61            ArrayList<StatisticalUnitInformationView> statisticalUnitsForView = new ArrayList(); 
     62            List<StatisticalUnitInformation> units = getStatisticalUnits(); 
     63            for (StatisticalUnitInformation unit : units){ 
     64                    StatisticalUnitInformationView unitForView = new StatisticalUnitInformationView(); 
     65                    unitForView.setSelected(false); 
     66 
     67                    unitForView.setStatisticalIUnitInformation(unit); 
     68                    statisticalUnitsForView.add(unitForView); 
     69            } 
     70            websession.getGraphmodel().setStatisticalUnitsForView(statisticalUnitsForView); 
     71 
     72        } 
     73 
    5974        /** 
    60          * Only retrieves USER level units from those retrieved by the MUA 
     75         * Only retrieves USER level units from those retrieved by the MUA. Encapsulates them in a view object 
    6176         */ 
    6277        public List getStatisticalUnits(){ 
     78 
    6379                List<StatisticalUnitInformation> units = webEngine.getStatisticalUnits(); 
    64                 List<StatisticalUnitInformation> userUnits = new ArrayList<StatisticalUnitInformation>(); 
     80                List<StatisticalUnitInformation> unitsForUser = new ArrayList<StatisticalUnitInformation>(); 
     81 
    6582                for (StatisticalUnitInformation unit : units){ 
    66                         if (unit.getStatisticParameters().getType()==StatisticType.USER) 
    67                             userUnits.add(unit); 
     83                        if (unit.getStatisticParameters().getType()==StatisticType.USER){ 
     84                            unitsForUser.add(unit); 
     85                        } 
    6886                 } 
    69                 return userUnits; 
     87                return unitsForUser; 
    7088        } 
    7189 
     
    101119                GraphModel model = websession.getGraphmodel(); 
    102120                log.info("Graph Service Invoking "+model.getSelectedStatisticalUnit()); 
    103                 AggregatorGraphModel gmodel = webEngine.invokeStatisticalUnit(model.getSelectedStatisticalUnit()); 
     121                AggregatorGraphModel gmodel = webEngine.invokeStatisticalUnit(model.getSelectedStatisticalUnit().getStatisticalIUnitInformation()); 
    104122                if (gmodel!=null){ 
    105123                    model.setCurrentTableGraph(chartProcessor.constructRaptorTableChartModel(gmodel)); 
  • raptor-web/trunk/src/main/webapp/WEB-INF/flows/reports/graphicalReports.xhtml

    r522 r523  
    2323                                                        <rich:layoutPanel position="left" width="40%"> 
    2424 
    25                                                                 <rich:dataTable value="#{graphService.statisticalUnits}" 
     25                                                                <rich:dataTable value="#{flowScope.websession.graphmodel.statisticalUnitsForView}" 
    2626                                                                        bandingInterval="2" banding="row" var="unit" width="100%" 
    2727                                                                        labelWidth="0%" inlineStyle="border-style: hidden;" 
     
    3838                                                                                        <h:outputText value="Statistic" /> 
    3939                                                                                </f:facet> 
    40                                                                                 <a4j:commandLink value="#{unit.statisticParameters.unitName}" 
     40                                                                                <a4j:commandLink ajaxSingle="true" 
     41                                                                                        value="#{unit.statisticalIUnitInformation.statisticParameters.unitName}" 
    4142                                                                                        action="invokeStatisticalUnit" 
    42                                                                                         reRender="chartForm,graphImage"> 
     43                                                                                        reRender="chartForm,graphImage,optionsPanel,ControlPanelForm"> 
    4344                                                                                        <f:setPropertyActionListener value="#{unit}" 
    4445                                                                                                target="#{flowScope.websession.graphmodel.selectedStatisticalUnit}" /> 
     
    4950                                                                        <rich:column> 
    5051                                                                                <f:facet name="header"> 
    51                                                                                         <h:outputText value="Modifying" /> 
     52                                                                                        <h:outputText value="Modify" /> 
    5253                                                                                </f:facet> 
    53  
     54                                                                                <a4j:commandLink ajaxSingle="true" reRender="optionsPanel,ControlPanelForm"> 
     55                                                                                        <h:graphicImage value="/image/icon/onebit_20.png" 
     56                                                                                                style="border:0; margin-left: auto;margin-right: auto;" 
     57                                                                                                width="20px" rendered="#{!unit.selected}"/> 
     58                                                                                                <h:graphicImage value="/image/icon/onebit_27.png" 
     59                                                style="border:0; margin-left: auto;margin-right: auto;" 
     60                                                width="20px" rendered="#{unit.selected}"/> 
     61                                                                                        <f:setPropertyActionListener value="#{unit}" 
     62                                                                                                target="#{flowScope.websession.graphmodel.selectedStatisticalUnit}" /> 
     63                                                                                </a4j:commandLink> 
    5464                                                                        </rich:column> 
    5565                                                                </rich:dataTable> 
     
    5969 
    6070                                                        <rich:layoutPanel position="right"> 
    61                                                                 <rich:panel width="100%"> 
     71                                                                <rich:panel width="100%" id="optionsPanel"> 
    6272                                                                        <f:facet name="header"> 
    6373                                        Options 
    6474                                     </f:facet> 
    6575 
    66                                                                 </rich:panel> 
     76                                                                        <h:panelGrid columns="2" width="50%" > 
     77 
     78                                                                                <h:outputText value="Method Name:" style="font-weight: bold;" /> 
     79                                                                                <h:outputText 
     80                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.statisticParameters.methodName}" /> 
     81 
     82 
     83                                                                                <h:outputText value="Start Time:" style="font-weight: bold;" /> 
     84                                                                                <rich:calendar id="startTimeDate" showApplyButton="true" 
     85                                                                                        datePattern="dd/MM/yyyy HH:mm" 
     86                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.statisticParameters.startTimeAsJavaDate}"> 
     87                                                                                </rich:calendar> 
     88 
     89 
     90                                                                                <h:outputText value="End Time:" style="font-weight: bold;" /> 
     91                                                                                <rich:calendar id="endTimeDate" showApplyButton="true" 
     92                                                                                        datePattern="dd/MM/yyyy HH:mm" 
     93                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.statisticParameters.endTimeAsJavaDate}"> 
     94                                                                                </rich:calendar> 
     95 
     96 
     97                                                                                <h:outputText value="Parameters:" 
     98                                                                                        inlineStyle="font-weight: bold;" /> 
     99                                                                                <rich:dataTable 
     100                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.statisticParameters.methodParams}" 
     101                                                                                        var="parameter" width="95%" labelWidth="5%" 
     102                                                                                        style="border-style: hidden;"> 
     103                                                                                        <rich:column inlineStyle="border-style: hidden;"> 
     104                                                                                                <h:inputText value="#{parameter.parameter}" /> 
     105                                                                                        </rich:column> 
     106                                                                                </rich:dataTable> 
     107 
     108 
     109                                                                                <h:outputText value="Graph Title:" style="font-weight: bold;" /> 
     110                                                                                <h:inputText 
     111                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.statisticParameters.presentation.graphTitle}" /> 
     112 
     113                                                                                <h:outputText value="Preprocessors:" 
     114                                                                                        style="font-weight: bold; width:100%" /> 
     115                                                                                <h:inputText 
     116                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.preProcessorsAsString}" /> 
     117 
     118 
     119                                                                                <h:outputText value="Postprocessors:" 
     120                                                                                        style="font-weight: bold;" /> 
     121                                                                                <h:inputText 
     122                                                                                        value="#{flowScope.websession.graphmodel.selectedStatisticalUnit.statisticalIUnitInformation.postProcessorsAsString}" /> 
     123 
     124                                                                                <f:facet name="footer"> 
     125                                                                                        <h:panelGroup style="display:block; text-align:center"> 
     126                                                                                                <h:commandButton id="Update" action="updateMUAStatistic" value="Update" /> 
     127                                                                                        </h:panelGroup> 
     128                                                                                </f:facet> 
     129 
     130                                                                        </h:panelGrid> 
     131                                                        </rich:panel> 
    67132                                                        </rich:layoutPanel> 
    68133 
     
    108173                                                <rich:tab name="table" label="Table"> 
    109174 
     175                                                <rich:dataTable value="#{flowScope.websession.graphmodel.currentTableGraph.rowList}" 
     176                                    bandingInterval="2" banding="row" var="unit" width="100%" 
     177                                     rendered="#{not empty flowScope.websession.graphmodel.currentTableGraph}"> 
     178 
     179 
     180                                     <rich:columns value="#{flowScope.websession.graphmodel.currentTableGraph.series}" 
     181                                     var="columns" index="index" id="column#{index}"> 
     182                                        <f:facet name="header"> 
     183                                            <h:outputText value="#{columns}"/> 
     184                                        </f:facet> 
     185                                                <h:outputText value="#{unit[index]}"/> 
     186                                      </rich:columns> 
     187 
     188 
     189                        </rich:dataTable> 
    110190 
    111191                                                </rich:tab> 
  • raptor-web/trunk/src/main/webapp/WEB-INF/flows/reports/reports-flow.xml

    r519 r523  
    4343        <view-state id="graphicalReports" view="graphicalReports.xhtml"> 
    4444 
    45                 <!-- we need to load these specific to a person and a role --> 
     45                <!-- populate the statisticalunit list --> 
     46                <on-entry> 
     47            <evaluate expression="graphService.populateStatisticalUnits(flowScope.websession)" /> 
     48        </on-entry> 
    4649 
    4750                <transition on="invokeStatisticalUnit"> 
Note: See TracChangeset for help on using the changeset viewer.