Changeset 799


Ignore:
Timestamp:
05/13/11 18:57:48 (8 years ago)
Author:
philsmart
Message:
 
Location:
raptor-mua/trunk/src/main
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • raptor-mua/trunk/src/main/config/attribute-association.xml

    r710 r799  
    1414        <property name="attributeAssociationDefinitions"> 
    1515            <list> 
    16                 <ref bean="shibAttributeAssociationDefinition"/> 
    17                 <ref bean="ezproxyAttributeAssociationDefinition"/> 
     16                <ref bean="shibPrincipalAttributeAssociationDefinition"/> 
     17                <ref bean="ezproxyPrincipalAttributeAssociationDefinition"/> 
    1818             </list> 
    1919        </property> 
    2020    </bean> 
    2121 
     22    <!-- Association policies to mark resources as internal or external --> 
     23    <bean id="shibResourceCategoryAttributeAssociationDefinition" class="uk.ac.cardiff.raptor.event.expansion.ResourceCategoryAttributeAssociationDefinition"> 
     24        <property name="definiationName"><value>ShibAssociationDefinition</value></property> 
     25        <property name="dataConnection"><ref bean="dataConnectionImpl"/></property> 
     26        <property name="enabled"><value>true</value></property> 
     27        <property name="classToAdd"><value type="java.lang.Class">uk.ac.cardiff.model.event.Event</value></property> 
     28        <property name="associateWithClass"><value>uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent</value></property> 
     29    </bean> 
     30 
    2231 
    2332    <!-- Properties to set. PrincipalInformation only has the attributes [school, affiliation] --> 
    24     <bean id="shibAttributeAssociationDefinition" class="uk.ac.cardiff.raptor.event.expansion.AttributeAssociationDefinition"> 
     33    <bean id="shibPrincipalAttributeAssociationDefinition" class="uk.ac.cardiff.raptor.event.expansion.PrincipalAttributeAssociationDefinition"> 
    2534        <property name="definiationName"><value>ShibAssociationDefinition</value></property> 
    2635        <property name="subjectPrincipalField"><value>principalName</value></property> 
     
    4554    </bean> 
    4655 
    47     <bean id="ezproxyAttributeAssociationDefinition" class="uk.ac.cardiff.raptor.event.expansion.AttributeAssociationDefinition"> 
     56    <bean id="ezproxyPrincipalAttributeAssociationDefinition" class="uk.ac.cardiff.raptor.event.expansion.PrincipalAttributeAssociationDefinition"> 
    4857        <property name="definiationName"><value>EzproxyAssociationDefinition</value></property> 
    4958        <property name="subjectPrincipalField"><value>principalName</value></property> 
  • raptor-mua/trunk/src/main/config/database.xml

    r793 r799  
    2525                        <!--<prop key="hibernate.dialect"> org.hibernate.dialect.HSQLDialect</prop> 
    2626                                --><prop key="hibernate.show_sql">false</prop> 
    27                                 <prop key="hibernate.hbm2ddl.auto">create</prop> 
     27                                <prop key="hibernate.hbm2ddl.auto">update</prop> 
    2828                        </props> 
    2929                </property> 
  • raptor-mua/trunk/src/main/config/event-release.xml

    r793 r799  
    7373                        <list> 
    7474                                <bean id="cardiffRaptorMUA" class="uk.ac.cardiff.raptor.registry.Endpoint"> 
     75                                        <property name="supportedEvents"> 
     76                                                <list> 
     77                                                        <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
     78                                                        </value> 
     79                                                </list> 
     80                                        </property> 
    7581                                        <property name="serviceEndpoint"> 
    7682                                                <value>https://localhost:8443/MUA/MultiUnitAggregator</value> 
     
    110116                <property name="attributeRules"> 
    111117                        <list> 
     118                <bean class="uk.ac.cardiff.raptor.attribute.filtering.NullAttributeRule"> 
     119                    <property name="attributeId"> 
     120                        <value>assertionId</value> 
     121                    </property> 
     122                    <property name="eventType"> 
     123                        <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
     124                        </value> 
     125                    </property> 
     126                    <property name="denyValueRule"> 
     127                        <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
     128                            <property name="enabled"> 
     129                                <value>true</value> 
     130                            </property> 
     131                        </bean> 
     132                    </property> 
     133                </bean> 
     134                <bean class="uk.ac.cardiff.raptor.attribute.filtering.NullAttributeRule"> 
     135                    <property name="attributeId"> 
     136                        <value>requestId</value> 
     137                    </property> 
     138                    <property name="eventType"> 
     139                        <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
     140                        </value> 
     141                    </property> 
     142                    <property name="denyValueRule"> 
     143                        <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
     144                            <property name="enabled"> 
     145                                <value>true</value> 
     146                            </property> 
     147                        </bean> 
     148                    </property> 
     149                </bean> 
     150 
     151                <bean class="uk.ac.cardiff.raptor.attribute.filtering.NullAttributeRule"> 
     152                    <property name="attributeId"> 
     153                        <value>responseId</value> 
     154                    </property> 
     155                    <property name="eventType"> 
     156                        <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
     157                        </value> 
     158                    </property> 
     159                    <property name="denyValueRule"> 
     160                        <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
     161                            <property name="enabled"> 
     162                                <value>true</value> 
     163                            </property> 
     164                        </bean> 
     165                    </property> 
     166                </bean> 
     167 
    112168                                <bean class="uk.ac.cardiff.raptor.attribute.filtering.NullAttributeRule"> 
    113169                                        <property name="attributeId"> 
    114                                                 <value>assertionId</value> 
     170                                                <value>principalInformation</value> 
    115171                                        </property> 
    116172                                        <property name="eventType"> 
     
    128184                                <bean class="uk.ac.cardiff.raptor.attribute.filtering.HashAttributeRule"> 
    129185                                        <property name="attributeId"> 
    130                                                 <value>requestId</value> 
     186                                                <value>principalName</value> 
    131187                                        </property> 
    132188                                        <property name="eventType"> 
     
    142198                                        </property> 
    143199                                </bean> 
    144                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.HashAttributeRule"> 
    145                                         <property name="attributeId"> 
    146                                                 <value>responseId</value> 
    147                                         </property> 
    148                                         <property name="eventType"> 
    149                                                 <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
    150                                                 </value> 
    151                                         </property> 
    152                                         <property name="denyValueRule"> 
    153                                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
    154                                                         <property name="enabled"> 
    155                                                                 <value>true</value> 
    156                                                         </property> 
    157                                                 </bean> 
    158                                         </property> 
    159                                 </bean> 
    160  
    161                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.NullAttributeRule"> 
    162                                         <property name="attributeId"> 
    163                                                 <value>principalInformation</value> 
    164                                         </property> 
    165                                         <property name="eventType"> 
    166                                                 <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
    167                                                 </value> 
    168                                         </property> 
    169                                         <property name="denyValueRule"> 
    170                                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
    171                                                         <property name="enabled"> 
    172                                                                 <value>true</value> 
    173                                                         </property> 
    174                                                 </bean> 
    175                                         </property> 
    176                                 </bean> 
    177                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.HashAttributeRule"> 
    178                                         <property name="attributeId"> 
    179                                                 <value>principalName</value> 
    180                                         </property> 
    181                                         <property name="eventType"> 
    182                                                 <value type="java.lang.Class">uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent 
    183                                                 </value> 
    184                                         </property> 
    185                                         <property name="denyValueRule"> 
    186                                                 <bean class="uk.ac.cardiff.raptor.attribute.filtering.match.MatchRule"> 
    187                                                         <property name="enabled"> 
    188                                                                 <value>true</value> 
    189                                                         </property> 
    190                                                 </bean> 
    191                                         </property> 
    192                                 </bean> 
    193200                        </list> 
    194201                </property> 
  • raptor-mua/trunk/src/main/config/metadata.xml

    r787 r799  
    2525        <!-- MUA Metadata --> 
    2626    <bean id="MUAMetadata" class="uk.ac.cardiff.model.ServiceMetadata"> 
    27         <property name="serviceName"><value>Cardiff University's MUA</value></property> 
    28         <property name="description"><value>Cardiff University's MUA</value></property> 
     27        <property name="serviceName"><value>Cardiff Universitys MUA</value></property> 
    2928        <property name="organisationName"><value>Cardiff University</value></property> 
    3029        <property name="contactEmail"><value>smartp@cf.ac.uk</value></property> 
  • raptor-mua/trunk/src/main/config/mua-core.xml

    r793 r799  
    8080                        <ref bean="MUAEngine"></ref> 
    8181                </property> 
     82                <property name="backgroundServices"> 
     83                   <ref bean="backgroundServices"/> 
     84                </property> 
    8285        </bean> 
    8386 
     
    129132    </bean> 
    130133 
     134        <!-- release trigger setup --> 
     135    <bean id="muaResourceClassificationQuickTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
     136        <property name="jobDetail"> 
     137            <ref local="muaResourceClassificationJobDetail" /> 
     138        </property> 
     139        <property name="startDelay" value="5000" /> 
     140        <property name="repeatInterval" value="100000" /> 
     141    </bean> 
     142 
     143    <bean id="muaResourceClassificationJobDetail" 
     144        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
     145        <property name="targetObject"> 
     146            <ref bean="MUAProcess" /> 
     147        </property> 
     148        <property name="targetMethod"> 
     149            <value>resourceClassification</value> 
     150        </property> 
     151        <property name="concurrent"> 
     152            <value>false</value> 
     153        </property> 
     154    </bean> 
     155 
    131156    <!--  Trigger setup --> 
    132157    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
     
    134159            <list> 
    135160                <ref local="muaReleaseQuickTrigger" /> 
     161                <ref local="muaResourceClassificationQuickTrigger"/> 
    136162            </list> 
    137163        </property> 
     
    144170        <property name="attributeAssociationEngine"><ref bean="attributeAssociationEngine"></ref></property> 
    145171        </bean> 
     172 
     173 
     174        <!-- Class to handle processing of background services --> 
     175    <bean name="backgroundServices" class="uk.ac.cardiff.raptormua.engine.BackgroundServices"> 
     176            <property name="dataConnection"><ref bean="dataConnectionImpl"></ref></property> 
     177    </bean> 
    146178 
    147179        <bean name="persistantEntryHandler" class="uk.ac.cardiff.raptor.store.impl.PersistantEntryHandler"> 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/MUAEngine.java

    r787 r799  
    145145 
    146146 
    147                         for (Event e : eventsToSend){ 
    148                             log.debug("EventTime [{}] - {}",e.getEventTime(),e); 
    149                         } 
    150  
    151147                        boolean success = false; 
    152148                        try { 
     
    159155             return false; 
    160156        } 
     157 
    161158 
    162159 
     
    355352    } 
    356353 
     354 
     355 
    357356} 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/GroupBy.java

    r787 r799  
    3333 
    3434public class GroupBy extends Statistic{ 
    35          
     35 
    3636        /** Class logger */ 
    3737        private final Logger log = LoggerFactory.getLogger(GroupByCountDistinct.class); 
     
    5151         * @throws StatisticalUnitException 
    5252         */ 
    53         public Boolean  performStatistic(ArrayList<MethodParameter> methodParams, String sqlWhere) throws StatisticalUnitException {  
    54          
     53        public Boolean  performStatistic(ArrayList<MethodParameter> methodParams, String sqlWhere) throws StatisticalUnitException { 
     54 
    5555                if (methodParams.size()!=1) 
    5656                        throw new StatisticalUnitException("incorrect method parameters"); 
    57                  
     57 
    5858                String groupByField = methodParams.get(0).getValue(); 
    59                  
     59 
    6060                log.debug("Performing groupByFrequency Statistical Operation"); 
    6161                log.debug("Params for method:  {},{}", this.getClass().getSimpleName(), statisticParameters.getUnitName()); 
     
    6767                String tableName= statisticParameters.getEventType().getHibernateSimpleClassName(); 
    6868                log.debug("Select {}, tableName {}", groupByField, tableName); 
    69                  
     69 
    7070                String query=""; 
    71                  
     71 
    7272                if (sqlWhere.equals("")) { 
    7373                        query = "select "+groupByField+" from "+tableName+" where (eventTime between ? and ?) group by ("+groupByField+")"; 
    7474                } else { 
    7575                        query = "select "+groupByField+" from "+tableName+" where (eventTime between ? and ?) and "+sqlWhere+" group by ("+groupByField+")"; 
    76                 }        
    77                  
     76                } 
     77 
    7878                Object[] params = new Object[]{start.toDate(),end.toDate()}; 
    79                  
     79 
    8080                List results = getEntryHandler().query(query,params); 
    8181 
     
    8585                        Group group = new Group(); 
    8686                        group.setValue(0); 
    87                         group.setGroupName((String) resultAsArray); 
     87                        if (resultAsArray!=null){ 
     88                            group.setGroupName((String) resultAsArray); 
     89                        } 
     90                        else{ 
     91                            group.setGroupName("NA"); 
     92                        } 
    8893                        groups.add(group); 
    8994 
     
    112117                if (methodParams.size()==1){ 
    113118                        methodParams.get(0).setParameterName("Group By Field"); 
    114                         methodParams.get(0).setParameterType(ParameterType.FIELD);                       
     119                        methodParams.get(0).setParameterType(ParameterType.FIELD); 
    115120                } 
    116121                else{ 
     
    118123                } 
    119124                this.statisticParameters = statisticParameters; 
    120                  
     125 
    121126        } 
    122127 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/functions/GroupByFrequency.java

    r787 r799  
    4545         * observations, or true if the statistic succeeds and there are valid 
    4646         * observations. 
    47          *  
    48          *  
     47         * 
     48         * 
    4949         * @param groupByField 
    5050         * @return 
     
    7373                } else { 
    7474                        query = "select "+groupByField+", count(*) from "+tableName+" where (eventTime between ? and ?) and "+sqlWhere+" group by ("+groupByField+")"; 
    75                 }                
    76                  
     75                } 
     76 
    7777                Object[] params = new Object[]{start.toDate(),end.toDate()}; 
    7878 
     
    9090                        } 
    9191                        try { 
    92                                 group.setGroupName((String) resultAsArray[0]); 
     92                                if (resultAsArray==null || resultAsArray[0]==null){ 
     93                                    group.setGroupName("NA"); 
     94                                } 
     95                                else{ 
     96                                    group.setGroupName((String) resultAsArray[0]); 
     97                                } 
     98 
    9399                        } catch (ClassCastException e) { 
    94100                                throw new StatisticalUnitException("Results were not of the correct type"); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/service/MUAProcess.java

    r770 r799  
    7777         */ 
    7878        public void release(); 
     79 
     80 
     81        public void resourceClassification(); 
    7982} 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/service/impl/MUAProcessImpl.java

    r787 r799  
    3838import uk.ac.cardiff.model.wsmodel.StatisticalUnitInformation; 
    3939import uk.ac.cardiff.raptor.store.TransactionInProgressException; 
     40import uk.ac.cardiff.raptormua.engine.BackgroundServices; 
    4041import uk.ac.cardiff.raptormua.engine.MUAEngine; 
    4142import uk.ac.cardiff.raptormua.service.MUAProcess; 
     
    5354    private final Logger log = LoggerFactory.getLogger(MUAProcessImpl.class); 
    5455 
    55     /** main engine of the MultiUnitAggregator */ 
     56    /** main engine of the MultiUnitAggregator, that handles all 
     57     * common functions */ 
    5658    private MUAEngine engine; 
    5759 
     60    /** Engine to handle background tasks */ 
     61    private BackgroundServices backgroundServices; 
     62 
    5863    /** 
    5964     * ReentrantLock to prevent more than one operation at the same time 
     
    6166    final Lock lockR = new ReentrantLock(); 
    6267 
    63     public void setEngine(MUAEngine engine) { 
    64         this.engine = engine; 
    65     } 
    66  
    67     public MUAEngine getEngine() { 
    68         return engine; 
    69     } 
    7068 
    7169    public AggregatorGraphModel performStatistic(String statisticName) throws SoapFault { 
     
    227225    } 
    228226 
     227    public void resourceClassification(){ 
     228          log.info("Resource classification background thread called"); 
     229          backgroundServices.resourceClassification(); 
     230    } 
     231 
     232    /** 
     233     * @param backgroundServices the backgroundServices to set 
     234     */ 
     235    public void setBackgroundServices(BackgroundServices backgroundServices) { 
     236        this.backgroundServices = backgroundServices; 
     237    } 
     238 
     239    /** 
     240     * @return the backgroundServices 
     241     */ 
     242    public BackgroundServices getBackgroundServices() { 
     243        return backgroundServices; 
     244    } 
     245 
     246    public void setEngine(MUAEngine engine) { 
     247        this.engine = engine; 
     248    } 
     249 
     250    public MUAEngine getEngine() { 
     251        return engine; 
     252    } 
     253 
    229254} 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/wsinterface/impl/MultiUnitAggregatorImpl.java

    r733 r799  
    9898        } 
    9999 
     100 
     101 
    100102} 
Note: See TracChangeset for help on using the changeset viewer.