Changeset 697


Ignore:
Timestamp:
04/25/11 22:54:08 (8 years ago)
Author:
philsmart
Message:
 
Location:
raptor-mua/trunk
Files:
2 added
1 deleted
13 edited
1 moved

Legend:

Unmodified
Added
Removed
  • raptor-mua/trunk/pom.xml

    r683 r697  
    3131 
    3232        <properties> 
    33                 <apache.cxf.version>2.2.7</apache.cxf.version> 
     33                <apache.cxf.version>2.2.8</apache.cxf.version> 
    3434                <spring.version>3.0.3.RELEASE</spring.version> 
    3535                <jetty.version>6.1.23</jetty.version> 
     
    222222                    <groupId>org.slf4j</groupId> 
    223223                </exclusion> 
     224                <exclusion> 
     225                        <artifactId>jcl-over-slf4j</artifactId> 
     226                        <groupId>org.slf4j</groupId> 
     227                </exclusion> 
    224228            </exclusions> 
    225229        </dependency> 
     
    228232                <!-- Anything using log4j should defer to slf4j. --> 
    229233                <!-- Anything using commons-logging should defer to slf4j. --> 
    230                 <dependency> 
    231                         <groupId>org.slf4j</groupId> 
    232                         <artifactId>jcl-over-slf4j</artifactId> 
    233                         <version>1.6.1</version> 
    234                         <scope>runtime</scope> 
    235                         <exclusions> 
    236                                 <exclusion> 
    237                                         <artifactId>slf4j-api</artifactId> 
    238                                         <groupId>org.slf4j</groupId> 
    239                                 </exclusion> 
    240                         </exclusions> 
    241                 </dependency> 
    242234                <dependency> 
    243235                        <groupId>postgresql</groupId> 
     
    276268                        <version>0.9.1.2</version> 
    277269                </dependency> 
     270         
     271        <!--  to deal with existing log4j components that do not use slf4j. This bridge pushes those through 
     272        slf4j and hence then through logback (or the sl4fy implementation) --> 
    278273                <dependency> 
    279274                        <groupId>org.slf4j</groupId> 
    280275                        <artifactId>log4j-over-slf4j</artifactId> 
     276                        <version>1.6.1</version> 
     277                </dependency> 
     278                <dependency> 
     279                        <groupId>org.slf4j</groupId> 
     280                        <artifactId>jcl-over-slf4j</artifactId> 
    281281                        <version>1.6.1</version> 
    282282                </dependency> 
  • raptor-mua/trunk/src/main/config/dao-beans.xml

    r674 r697  
    2626                                <prop key="hibernate.dialect"> org.hibernate.dialect.PostgreSQLDialect</prop> <!-- database type --> 
    2727                                <prop key="hibernate.show_sql">false</prop>  <!-- outputs the SQL queries used to the standard logger --> 
    28                                 <prop key="hibernate.hbm2ddl.auto">create</prop> <!-- update changes the db if mapping changes, creates the db if none exists, 
     28                                <prop key="hibernate.hbm2ddl.auto">update</prop> <!-- update changes the db if mapping changes, creates the db if none exists, 
    2929                                        in production do not use any of these --> 
    3030                                <!-- Generate hibernate statistics 
  • raptor-mua/trunk/src/main/config/logback.xml

    r692 r697  
    22 
    33<configuration> 
     4 
     5  <property name="USER_HOME" value="/tmp/" /> 
     6 
    47  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
    58    <encoder> 
     
    710    </encoder> 
    811  </appender> 
     12   
     13  <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     14    <file>${USER_HOME}/raptor-mua-process.log</file> 
     15    <encoder> 
     16      <pattern>%5p %d \(%C:%L\) ---&gt; %m%n</pattern> 
     17    </encoder> 
     18  </appender> 
     19   
    920  <logger name="org.springframework" level="ERROR"> 
    1021    <appender-ref ref="stdout"/> 
     
    1223  <logger name="uk" level="DEBUG"> 
    1324    <appender-ref ref="stdout"/> 
     25    <appender-ref ref="FILE"/> 
    1426  </logger> 
    1527  <logger name="org.mortbay" level="INFO"> 
     
    1931    <appender-ref ref="stdout"/> 
    2032  </logger> 
     33 
     34  <logger name="  org.apache.cxf" level="ERROR"> 
     35    <appender-ref ref="stdout"/> 
     36    <appender-ref ref="FILE"/> 
     37  </logger> 
     38   
     39 
    2140</configuration> 
  • raptor-mua/trunk/src/main/config/mua-core.xml

    r671 r697  
    2525 
    2626 
    27         <import resource="classpath:META-INF/cxf/cxf.xml" /> 
    28         <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
    29         <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
     27    <import resource="classpath:META-INF/cxf/cxf.xml" /> 
     28    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
     29    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
    3030 
    3131 
  • raptor-mua/trunk/src/main/config/statistical-units.xml

    r668 r697  
    5858                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    5959                                        <property name="statisticType"><value>User</value></property> 
     60                    <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    6061                                        <property name="unitName"><value>All Authentications In X minute Intervals</value></property> 
    6162                                        <property name="startTime"><value>20100520T140000</value></property>   <!-- presently only ddMMyyy or yyyyMMdd'T'HHmmss --> 
     
    9293                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    9394                                        <property name="statisticType"><value>User</value></property> 
     95                     <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    9496                                        <property name="unitName"><value>Authentications over a time range (split)</value></property> 
    9597                                        <property name="startTime"><value>20101020T140000</value></property> <!--  presently only ddMMyyy or yyyyMMdd'T'HHmmss--> 
     
    127129                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    128130                                        <property name="statisticType"><value>User</value></property> 
     131                     <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    129132                                        <property name="unitName"><value>Number of Authentications per Service Provider (by entityID)</value></property> 
    130133                                        <property name="startTime"><value>20110115T140000</value></property>   <!-- presently only ddMMyyy or yyyyMMdd'T'HHmmss --> 
     
    133136                                                <list> 
    134137                                                        <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    135                                                                 <property name="value"><value>serviceHost</value></property> 
     138                                                                <property name="value"><value>resourceId</value></property> 
    136139                                                        </bean> 
    137140                                                </list> 
     
    162165                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    163166                                        <property name="statisticType"><value>User</value></property> 
     167                     <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    164168                                        <property name="unitName"><value>Number of Authentications per Service Provider (by Organisational Name)</value></property> 
    165169                                        <property name="startTime"><value>20091020T140000</value></property>   <!-- presently only ddMMyyy or yyyyMMdd'T'HHmmss --> 
     
    168172                                                <list> 
    169173                                                        <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    170                                                                 <property name="value"><value>serviceHost</value></property> 
     174                                                                <property name="value"><value>resourceId</value></property> 
    171175                                                        </bean> 
    172176                                                </list> 
     
    201205                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    202206                                        <property name="statisticType"><value>User</value></property> 
     207                     <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    203208                                        <property name="unitName"><value>Number of Authentications per Service Provider by OrgName (Percentage)</value></property> 
    204209                                        <property name="startTime"><value>20091020T140000</value></property>   <!-- presently only ddMMyyy or yyyyMMdd'T'HHmmss --> 
     
    207212                                                <list> 
    208213                                                        <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    209                                                                 <property name="value"><value>serviceHost</value></property> 
     214                                                                <property name="value"><value>resourceId</value></property> 
    210215                                                        </bean> 
    211216                                                </list> 
     
    242247                        <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    243248                                        <property name="statisticType"><value>User</value></property> 
     249                     <property name="eventType"><value>SHIBBOLETH_AUTHENTICATION</value></property> 
    244250                                        <property name="unitName"><value>Comparison of Authentications For Two SPs</value></property> 
    245251                                        <property name="startTime"><value>20110116T140000</value></property>   <!-- presently only ddMMyyy or yyyyMMdd'T'HHmmss --> 
     
    260266                                                                         <bean class="uk.ac.cardiff.model.sql.ComparisonPredicate"> 
    261267                                                                                        <property name="compOp" value="EQUAL"/> 
    262                                                                                         <property name="fieldName" value="serviceHost"/> 
     268                                                                                        <property name="fieldName" value="resourceId"/> 
    263269                                                                                        <property name="value" value="https://sdauth.sciencedirect.com/"/> 
    264270                                                                         </bean> 
     
    270276                                                                                <bean class="uk.ac.cardiff.model.sql.ComparisonPredicate"> 
    271277                                                                                                <property name="compOp" value="EQUAL"/> 
    272                                                                                                 <property name="fieldName" value="serviceHost"/> 
     278                                                                                                <property name="fieldName" value="resourceId"/> 
    273279                                                                                                <property name="value" value="https://scauth.scopus.com/"/> 
    274280                                                                                </bean> 
     
    319325 
    320326 
    321         <!--  System level statistics that must be present for RaptorWeb to work --> 
    322  
    323         <bean id="numberOfAuthenticationsPer" class="uk.ac.cardiff.raptormua.engine.statistics.functions.CountEntry"> 
    324                 <property name="StatisticParameters"> 
    325                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    326                                         <property name="statisticType"><value>System</value></property> 
    327                                         <property name="unitName"><value>numberOfAuthenticationsPer</value></property> 
    328                                         <property name="methodParams"> 
    329                                                 <list> 
    330                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    331                                                                 <property name="value"><value>1</value></property> 
    332                                                         </bean> 
    333                                                 </list> 
    334                                         </property> 
    335  
    336                                          <property name="presentation"> 
    337                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    338                             <property name="graphTitle" value="Number Of Authentications Per"/> 
    339                             <property name="xAxisLabel" value="Time"/> 
    340                              <property name="yAxisLabel" value="Frequency"/> 
    341                         </bean> 
    342                     </property> 
    343  
    344                                         <property name="series"> 
    345                         <list> 
    346                             <bean class="uk.ac.cardiff.model.report.Series"> 
    347                                 <property name="seriesLabel" value="Number of auths"/> 
    348                             </bean> 
    349                         </list> 
    350                     </property> 
    351  
    352                         </bean> 
    353                 </property> 
    354         </bean> 
    355  
    356         <bean id="numberOfUniqueUsersPer" class="uk.ac.cardiff.raptormua.engine.statistics.functions.GroupBy"> 
    357                 <property name="StatisticParameters"> 
    358                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    359                                         <property name="statisticType"><value>System</value></property> 
    360                                         <property name="unitName"><value>numberOfUnqiueUsersPer</value></property> 
    361                                         <property name="methodParams"> 
    362                                                 <list> 
    363                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    364                                                                 <property name="value"><value>principalName</value></property> 
    365                                                         </bean> 
    366                                                 </list> 
    367                                         </property> 
    368  
    369                                          <property name="presentation"> 
    370                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    371                             <property name="graphTitle" value="Number of unique users for"/> 
    372                             <property name="xAxisLabel" value="Time"/> 
    373                              <property name="yAxisLabel" value="Frequency"/> 
    374                         </bean> 
    375                     </property> 
    376  
    377                                         <property name="series"> 
    378                         <list> 
    379                             <bean class="uk.ac.cardiff.model.report.Series"> 
    380                                 <property name="seriesLabel" value="Number of auths"/> 
    381                             </bean> 
    382                         </list> 
    383                     </property> 
    384                         </bean> 
    385                 </property> 
    386         </bean> 
    387  
    388         <bean id="numberOfAuthenticationsPerIntervalNumber" class="uk.ac.cardiff.raptormua.engine.statistics.functions.CountEntry"> 
    389                 <property name="StatisticParameters"> 
    390                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    391                                         <property name="statisticType"><value>System</value></property> 
    392                                         <property name="unitName"><value>numberOfAuthenticationsPerIntervalNumber</value></property> 
    393                                         <property name="methodParams"> 
    394                                                 <list> 
    395                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    396                                                                 <property name="value"><value>40</value></property> 
    397                                                         </bean> 
    398                                                 </list> 
    399                                         </property> 
    400  
    401                                          <property name="presentation"> 
    402                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    403                             <property name="graphTitle" value=""/> 
    404                             <property name="xAxisLabel" value=""/> 
    405                              <property name="yAxisLabel" value="Frequency"/> 
    406                              <property name="dateFormat" value="ddMMyy (HH:mm)"/> 
    407                         </bean> 
    408                     </property> 
    409  
    410                                         <property name="series"> 
    411                         <list> 
    412                             <bean class="uk.ac.cardiff.model.report.Series"> 
    413                                 <property name="seriesLabel" value="Number of auths"/> 
    414                             </bean> 
    415                         </list> 
    416                     </property> 
    417                         </bean> 
    418                 </property> 
    419         </bean> 
    420  
    421         <bean id="top5Resources" class="uk.ac.cardiff.raptormua.engine.statistics.functions.GroupByFrequency"> 
    422                 <property name="StatisticParameters"> 
    423                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    424                                         <property name="statisticType"><value>System</value></property> 
    425                                         <property name="unitName"><value>top5Resources</value></property> 
    426                                         <property name="methodParams"> 
    427                                                 <list> 
    428                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    429                                                                 <property name="value"><value>serviceHost</value></property> 
    430                                                         </bean> 
    431                                                 </list> 
    432                                         </property> 
    433  
    434                                          <property name="presentation"> 
    435                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    436                             <property name="graphTitle" value="Top 5 Resources"/> 
    437                             <property name="xAxisLabel" value="Time"/> 
    438                              <property name="yAxisLabel" value="Frequency"/> 
    439                         </bean> 
    440                     </property> 
    441                                         <property name="series"> 
    442                         <list> 
    443                             <bean class="uk.ac.cardiff.model.report.Series"> 
    444                                 <property name="seriesLabel" value="Number of auths"/> 
    445                             </bean> 
    446                         </list> 
    447                     </property> 
    448  
    449                         </bean> 
    450                 </property> 
    451                 <property name="postprocessor"> 
    452                         <list> 
    453                                 <ref bean="sortDsc"/> 
    454                                 <ref bean="cut"/> 
    455                                 <ref bean="ShibbolethMetadataNameFormatter"/> 
    456                         </list> 
    457                 </property> 
    458         </bean> 
    459  
    460  
    461         <bean id="numberOfUniqueAuthenticationsPerSP" class="uk.ac.cardiff.raptormua.engine.statistics.functions.GroupByCountDistinct"> 
    462                 <property name="StatisticParameters"> 
    463                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    464                                         <property name="statisticType"><value>System</value></property> 
    465                                         <property name="unitName"><value>numberOfUniqueAuthenticationsPerSP</value></property> 
    466                                         <property name="methodParams"> 
    467                                                 <list> 
    468                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    469                                                                 <property name="value"><value>serviceHost</value></property> 
    470  
    471                                                         </bean> 
    472                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    473                                                              <property name="value"><value>principalName</value></property> 
    474                                                         </bean> 
    475                                                 </list> 
    476                                         </property> 
    477  
    478                                          <property name="presentation"> 
    479                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    480                             <property name="graphTitle" value="Number of Unique Authentications Per Service Provider"/> 
    481                             <property name="xAxisLabel" value="Time"/> 
    482                              <property name="yAxisLabel" value="Frequency"/> 
    483                         </bean> 
    484                     </property> 
    485  
    486                                         <property name="series"> 
    487                         <list> 
    488                             <bean class="uk.ac.cardiff.model.report.Series"> 
    489                                 <property name="seriesLabel" value="Number of auths"/> 
    490                             </bean> 
    491                         </list> 
    492                     </property> 
    493  
    494                         </bean> 
    495                 </property> 
    496                 <property name="postprocessor"> 
    497                         <list> 
    498                                 <ref bean="sortDsc"/> 
    499                                 <ref bean="cut"/> 
    500                                 <ref bean="ShibbolethMetadataNameFormatter"/> 
    501                         </list> 
    502                 </property> 
    503         </bean> 
    504  
    505         <bean id="bottom5Resources" class="uk.ac.cardiff.raptormua.engine.statistics.functions.GroupByFrequency"> 
    506                 <property name="StatisticParameters"> 
    507                         <bean class="uk.ac.cardiff.model.wsmodel.StatisticParameters"> 
    508                                         <property name="statisticType"><value>System</value></property> 
    509                                         <property name="unitName"><value>bottom5Resources</value></property> 
    510                                         <property name="methodParams"> 
    511                                                 <list> 
    512                                                         <bean class="uk.ac.cardiff.model.wsmodel.MethodParameter"> 
    513                                                                 <property name="value"><value>serviceHost</value></property> 
    514                                                         </bean> 
    515                                                 </list> 
    516                                         </property> 
    517  
    518                                          <property name="presentation"> 
    519                         <bean class="uk.ac.cardiff.model.report.Presentation"> 
    520                             <property name="graphTitle" value="Bottom 5 Resources"/> 
    521                             <property name="xAxisLabel" value="Time"/> 
    522                              <property name="yAxisLabel" value="Frequency"/> 
    523                         </bean> 
    524                     </property> 
    525  
    526                                         <property name="series"> 
    527                         <list> 
    528                             <bean class="uk.ac.cardiff.model.report.Series"> 
    529                                 <property name="seriesLabel" value="Number of auths"/> 
    530                             </bean> 
    531                         </list> 
    532                     </property> 
    533  
    534                         </bean> 
    535                 </property> 
    536                 <property name="postprocessor"> 
    537                         <list> 
    538                                 <ref bean="sortAsc"/> 
    539                                 <ref bean="cut"/> 
    540                                 <ref bean="ShibbolethMetadataNameFormatter"/> 
    541                         </list> 
    542                 </property> 
    543         </bean> 
     327        <import resource="statistical-units-system.xml"/> 
    544328 
    545329 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/Statistic.java

    r668 r697  
    124124                        for (Group group : groups) { 
    125125                                gmodel.addGroupLabel(group.getGroupName()); 
    126                         } 
     126                        }                        
    127127                        //now add each series and their values 
    128128                        for (int i=0; i < observationSeries.size(); i++){ 
     
    130130                                gmodel.getSeriesLabels().add(statisticParameters.getSeries().get(i).getSeriesLabel()); 
    131131 
    132                                 List<Double> values = new ArrayList(); 
     132                                List<Double> values = new ArrayList<Double>(); 
    133133                                for (Group group : groups) { 
    134134                                        Double valueDouble = new Double(group.getValue()); 
     
    199199                if (statisticParameters.getStartTimeAsDate() != null) 
    200200                        return statisticParameters.getStartTimeAsDate(); 
    201                 DateTime start = (DateTime) this.getEntryHandler().queryUnique("select min(eventTime) from Entry"); 
     201                DateTime start = (DateTime) this.getEntryHandler().queryUnique("select min(eventTime) from Event"); 
    202202                return start; 
    203203        } 
     
    206206                if (statisticParameters.getEndTimeAsDate() != null) 
    207207                        return statisticParameters.getEndTimeAsDate(); 
    208                 DateTime end = (DateTime) this.getEntryHandler().queryUnique("select max(eventTime) from Entry"); 
     208                DateTime end = (DateTime) this.getEntryHandler().queryUnique("select max(eventTime) from Event"); 
    209209                return end; 
    210210        } 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/StatisticsHandler.java

    r668 r697  
    6565 
    6666        private AggregatorGraphModel performStatiticalPipeline(Statistic statistic) { 
    67                 // on set entries, also perform preprocessing, could be done as an extra 
    68                 // method call 
    6967                statistic.setEntryHandler(entryHandler); 
    7068                Boolean success = invoke(statistic); 
     
    8179                            //must catch this error here, so we can clear the observations that the statistic has generated 
    8280                            statistic.reset(); 
    83                             log.error("Problem constructing graph model for statistic {}",statistic.getStatisticParameters().getUnitName()); 
     81                            log.error("Problem constructing graph model for statistic {}",statistic.getStatisticParameters().getUnitName(),e); 
     82                            e.printStackTrace(); 
    8483                            return null; 
    8584                        } 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/CountEntry.java

    r668 r697  
    9797                        // must exclude equals end 
    9898                        Integer count = (Integer) this.getEntryHandler().queryUnique( 
    99                                         "select count(*) from Event where (eventTime between '" + bucket.getStart() + "' and '" 
     99                                        "select count(*) from "+statisticParameters.getEventType().getHibernateSimpleClassName()+" where (eventTime between '" + bucket.getStart() + "' and '" 
    100100                                                        + bucket.getEnd() + "') and (eventTime !='" + bucket.getEnd() + "')");// new 
    101101                        // Object[]{start,end}); 
     
    109109                 * contain the entries. 
    110110                 */ 
    111                 log.debug("Entries: " + this.getEntryHandler().getNumberOfEntries() + ", total in buckets: " + testCount); 
     111                log.debug("Events: " + this.getEntryHandler().getNumberOfEntries() + ", total in buckets: " + testCount); 
    112112 
    113113                ObservationSeries series=  new ObservationSeries(); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/CountEntryPerInterval.java

    r625 r697  
    108108 
    109109                long testCount = 0; 
     110                String tableName= statisticParameters.getEventType().getHibernateSimpleClassName(); 
    110111                for (Bucket bucket : buckets) { 
    111112                        // SQL between is >= start && <= end. We want, >= start && < end, so 
     
    113114                        String query=null; 
    114115                        if (sqlWhere.equals("")) 
    115                                 query = "select count(*) from Event where (eventTime between '" + bucket.getStart() + "' and '" 
     116                                query = "select count(*) from "+tableName+" where (eventTime between '" + bucket.getStart() + "' and '" 
    116117                                                        + bucket.getEnd() + "') and (eventTime !='" + bucket.getEnd() + "')"; 
    117118                        else 
    118                                 query = "select count(*) from Event where (eventTime between '" + bucket.getStart() + "' and '" 
     119                                query = "select count(*) from "+tableName+" where (eventTime between '" + bucket.getStart() + "' and '" 
    119120                                + bucket.getEnd() + "') and (eventTime !='" + bucket.getEnd() + "') and "+sqlWhere; 
    120121                        Integer count = (Integer) this.getEntryHandler().queryUnique(query);// new 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/GroupBy.java

    r668 r697  
    5050                DateTime end = endingTime(); 
    5151                log.debug("groupBy between [start:{}] [end:{}]", start, end); 
    52                 String tableName = ReflectionHelper.findEntrySubclassForMethod(groupByField); 
     52                String tableName= statisticParameters.getEventType().getHibernateSimpleClassName(); 
    5353                log.debug("Select {}, tableName {}", groupByField, tableName); 
    54                 List results = getEntryHandler().query( 
    55                                 "select " + groupByField + " from " + tableName + " where (eventTime between '" + start + "' and '" 
    56                                                 + end + "') group by (" + groupByField + ")"); 
     54                 
     55                String query="select " + groupByField + " from "+tableName+" where (eventTime between '" + start + "' and '" 
     56                + end + "') group by (" + groupByField + ")"; 
     57                 
     58                List results = getEntryHandler().query(query); 
    5759 
    5860                ArrayList<Group> groups = new ArrayList(); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/GroupByCountDistinct.java

    r668 r697  
    1111import uk.ac.cardiff.model.wsmodel.StatisticParameters; 
    1212import uk.ac.cardiff.model.wsmodel.MethodParameter.ParameterType; 
     13import uk.ac.cardiff.raptor.runtimeutils.ReflectionException; 
    1314import uk.ac.cardiff.raptor.runtimeutils.ReflectionHelper; 
    1415import uk.ac.cardiff.raptormua.engine.statistics.ObservationSeries; 
     
    1718import uk.ac.cardiff.raptormua.exceptions.StatisticalUnitException; 
    1819 
    19 public class GroupByCountDistinct extends Statistic{ 
    20          
     20public class GroupByCountDistinct extends Statistic { 
     21 
    2122        /** Class logger */ 
    2223        private final Logger log = LoggerFactory.getLogger(GroupByCountDistinct.class); 
    23          
     24 
    2425        public Boolean performStatistic(ArrayList<MethodParameter> methodParams, String sqlWhere) throws StatisticalUnitException { 
    25                  
    26                 if (methodParams.size()!=2) 
     26 
     27                if (methodParams.size() != 2) 
    2728                        throw new StatisticalUnitException("incorrect method parameters"); 
    28                  
     29 
    2930                String groupByField = methodParams.get(0).getValue(); 
    3031                String countDistinctField = methodParams.get(1).getValue(); 
    31                  
     32 
    3233                log.debug("Performing groupByFrequency Statistical Operation"); 
    3334                log.debug("Params for method:  {},{}", this.getClass().getSimpleName(), statisticParameters.getUnitName()); 
     
    3738                DateTime end = endingTime(); 
    3839                log.debug("groupByFrequency between [start:{}] [end:{}]", start, end); 
    39                 //need to find the lowest level class from which to perform these statistics 
    40                 String tableName = ReflectionHelper.determineSubclassForMethods(groupByField,countDistinctField); 
     40 
     41                String tableName = statisticParameters.getEventType().getHibernateSimpleClassName(); 
    4142 
    4243                log.debug("Select {}, tableName {}", groupByField, tableName); 
    43                 List results = getEntryHandler().query( 
    44                                 "select " + groupByField + ",count(distinct "+countDistinctField+") from " + tableName + " where (eventTime between '" + start 
    45                                                 + "' and '" + end + "') group by (" + groupByField + ")"); 
    4644 
     45                // String query ="select " + groupByField + ",count(distinct " + 
     46                // countDistinctField + ") from " + tableName + 
     47                // " where (eventTime between '" + start 
     48                // + "' and '" + end + "') group by (" + groupByField + ")"; 
    4749 
    48                 ArrayList<Group> groups = new ArrayList(); 
     50                String query = "select " + groupByField + ",count(distinct " + countDistinctField + ") from " + tableName + " where (eventTime between '" + start 
     51                                + "' and '" + end + "') group by (" + groupByField + ")"; 
     52 
     53                List results = getEntryHandler().query(query); 
     54 
     55                ArrayList<Group> groups = new ArrayList<Group>(); 
    4956                int testCount = 0; 
    5057                for (Object result : results) { 
     
    5764                } 
    5865 
    59  
    6066                log.debug("Entries: {}, total in buckets:{} ", this.getEntryHandler().getNumberOfEntries(), testCount); 
    61  
    6267 
    6368                if (groups.size() == 0) 
     
    6570 
    6671                // finished successfully, no exception thrown 
    67                 ObservationSeries series= new ObservationSeries(); 
     72                ObservationSeries series = new ObservationSeries(); 
    6873                series.setObservations(groups.toArray(new Group[0])); 
    6974                getObservationSeries().add(series); 
     
    7681        public void setStatisticParameters(StatisticParameters statisticParameters) { 
    7782                List<MethodParameter> methodParams = statisticParameters.getMethodParams(); 
    78                 if (methodParams.size()==2){ 
     83                if (methodParams.size() == 2) { 
    7984                        methodParams.get(0).setParameterName("Group By Field"); 
    80                         methodParams.get(0).setParameterType(ParameterType.FIELD);                       
     85                        methodParams.get(0).setParameterType(ParameterType.FIELD); 
    8186                        methodParams.get(1).setParameterName("Count Distinct Field"); 
    8287                        methodParams.get(1).setParameterType(ParameterType.FIELD); 
    83                          
    84                 } 
    85                 else{ 
    86                         log.error("Unable to set parameter type for statistic {}, incorrect number of parameters",this.getClass().getSimpleName()); 
     88 
     89                } else { 
     90                        log.error("Unable to set parameter type for statistic {}, incorrect number of parameters", this.getClass().getSimpleName()); 
    8791                } 
    8892                this.statisticParameters = statisticParameters; 
    89                  
     93 
    9094        } 
    9195 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/GroupByFrequency.java

    r668 r697  
    5252                DateTime end = endingTime(); 
    5353                log.debug("groupByFrequency between [start:{}] [end:{}]", start, end); 
    54                 String tableName = ReflectionHelper.findEntrySubclassForMethod(groupByField); 
     54                String tableName= statisticParameters.getEventType().getHibernateSimpleClassName(); 
    5555                log.debug("Select {}, tableName {}", groupByField, tableName); 
    56                 List results = getEntryHandler().query( 
    57                                 "select " + groupByField + ",count(*) from " + tableName + " where (eventTime between '" + start 
    58                                                 + "' and '" + end + "') group by (" + groupByField + ")"); 
     56                 
     57                 
     58                 
     59                String query ="select " + groupByField + ",count(*) from "+tableName+" where (eventTime between '" + start 
     60                + "' and '" + end + "') group by (" + groupByField + ")"; 
     61                 
     62                List results = getEntryHandler().query(query); 
    5963 
    6064                ArrayList<Group> groups = new ArrayList(); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/exceptions/StatisticalUnitException.java

    r363 r697  
    2626                        super(message); 
    2727        } 
     28         
     29        public StatisticalUnitException (String message, Exception wrappedException){ 
     30                super(message, wrappedException); 
     31        } 
    2832 
    2933 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/server/RunServer.java

    r648 r697  
    4141import org.mortbay.jetty.servlet.ServletHolder; 
    4242import org.mortbay.jetty.webapp.WebAppContext; 
     43import org.slf4j.LoggerFactory; 
    4344import org.springframework.context.support.ClassPathXmlApplicationContext; 
    4445import org.springframework.context.support.FileSystemXmlApplicationContext; 
    4546import org.springframework.web.servlet.DispatcherServlet; 
     47 
     48import ch.qos.logback.classic.LoggerContext; 
     49import ch.qos.logback.classic.joran.JoranConfigurator; 
     50import ch.qos.logback.core.joran.spi.JoranException; 
     51import ch.qos.logback.core.util.StatusPrinter; 
    4652 
    4753import uk.ac.cardiff.raptor.remoting.server.sei.MultiUnitAggregator; 
     
    5157 
    5258        /** 
    53          * Programmatically start a Jetty Server instance, and set the web.xml in 
    54          * the configuration directory to initialise the servlet. 
     59         * Programmatically do the following: 
     60         * 1. Set the Apache CXF logger to use SLF4J 
     61         * 2. Configure the logback logger 
     62         * 3. Start a Jetty Server instance including trust and key stores, and set the web.xml in the configuration directory to initialise the servlet. 
    5563         *  
    5664         * @param args 
     
    6068         */ 
    6169        public static void main(String args[]) throws FileNotFoundException, IOException { 
     70                System.setProperty("org.apache.cxf.Logger", "org.apache.cxf.common.logging.Slf4jLogger"); 
    6271 
    6372                String configurationFiles = System.getProperty("configurationFiles", System.getProperty("user.dir") + "/target/conf"); 
     73                 
     74                configureLogger(configurationFiles+"/logback.xml"); 
    6475 
    6576                Properties props = new Properties(); 
     
    112123        } 
    113124 
     125        private static void configureLogger(String logback) { 
     126                LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 
     127 
     128                try { 
     129                        JoranConfigurator configurator = new JoranConfigurator(); 
     130                        configurator.setContext(lc); 
     131                        lc.reset(); 
     132                        configurator.doConfigure(logback); 
     133                } catch (JoranException je) { 
     134                        // StatusPrinter will handle thiss 
     135                } 
     136                StatusPrinter.print(lc); 
     137 
     138        } 
     139 
    114140} 
Note: See TracChangeset for help on using the changeset viewer.