Changeset 746


Ignore:
Timestamp:
05/05/11 18:59:46 (8 years ago)
Author:
philsmart
Message:
 
Location:
raptor-mua/trunk
Files:
9 edited

Legend:

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

    r733 r746  
    288288                        <artifactId>jcl-over-slf4j</artifactId> 
    289289                        <version>1.6.1</version> 
     290                </dependency> 
     291                <dependency> 
     292                        <groupId>org.hsqldb</groupId> 
     293                        <artifactId>hsqldb</artifactId> 
     294                        <version>2.0.0</version> 
    290295                </dependency> 
    291296        </dependencies> 
  • raptor-mua/trunk/src/main/config/dao-beans.xml

    r742 r746  
    2020                class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    2121                <property name="dataSource"> 
    22                         <ref local="muac3p0DataSource" /> 
     22                        <ref local="muac3p0DataSourceHSQLDB" /> 
    2323                </property> 
    2424                <property name="hibernateProperties"> 
    2525                        <props> 
    26                                 <prop key="hibernate.dialect"> org.hibernate.dialect.PostgreSQLDialect</prop> <!-- database type --> 
     26                                <!-- <prop key="hibernate.dialect"> org.hibernate.dialect.PostgreSQLDialect</prop> database type --> 
     27                                <prop key="hibernate.dialect"> org.hibernate.dialect.HSQLDialect</prop> <!-- database type --> 
    2728                                <prop key="hibernate.show_sql">false</prop>  <!-- outputs the SQL queries used to the standard logger --> 
    28                                 <prop key="hibernate.hbm2ddl.auto">upload</prop> <!-- update changes the db if mapping changes, creates the db if none exists, 
     29                                <prop key="hibernate.hbm2ddl.auto">update</prop> <!-- update changes the db if mapping changes, creates the db if none exists, 
    2930                                        in production do not use any of these --> 
    3031                        </props> 
     
    6768 
    6869 
     70 
     71    <!-- IF HSQLDB is choosen, the following database connection properties should be used --> 
     72 
     73 
     74    <bean id="muac3p0DataSourceHSQLDB" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
     75        destroy-method="close"> 
     76        <property name="driverClass"> 
     77            <value>org.hsqldb.jdbcDriver</value> 
     78        </property> 
     79        <property name="jdbcUrl"> 
     80            <value>jdbc:hsqldb:file:/tmp/muatt;cached=true</value> 
     81        </property> 
     82        <property name="user"> 
     83            <value>sa</value> 
     84        </property> 
     85        <property name="password"> 
     86            <value></value> 
     87        </property> 
     88        <property name="properties"> 
     89            <props> 
     90                <prop key="c3p0.acquire_increment">5</prop> 
     91                <prop key="c3p0.idle_test_period">100</prop> 
     92                <prop key="c3p0.max_size">100</prop> 
     93                <prop key="c3p0.max_statements">0</prop> 
     94                <prop key="c3p0.min_size">10</prop> 
     95                <prop key="user">sa</prop> 
     96                <prop key="password"></prop> 
     97            </props> 
     98        </property> 
     99    </bean> 
     100 
     101 
    69102        <bean name="dataConnectionImpl" class="uk.ac.cardiff.raptor.store.dao.DefaultDataConnection"> 
    70103                <property name="sessionFactory" ref="muaSessionFactory" /> 
  • raptor-mua/trunk/src/main/config/mua-core.xml

    r733 r746  
    116116 
    117117        <!-- MUA Metadata --> 
    118         <bean id="MUAMetadata" class="uk.ac.cardiff.model.ServerMetadata"> 
     118        <bean id="MUAMetadata" class="uk.ac.cardiff.model.ServiceMetadata"> 
    119119                <property name="serverName"><value>Cardiff University's MUA</value></property> 
    120120                <property name="organisationName"><value>Cardiff University</value></property> 
    121121                <property name="contactEmail"><value>smartp@cf.ac.uk</value></property> 
     122                <property name="entityId"><value>https://HOSTNAME/raptor-mua</value></property> 
    122123        </bean> 
    123124 
  • raptor-mua/trunk/src/main/config/server.properties

    r648 r746  
    66jetty.trustStorePassword=phil11 
    77jetty.keyStoreLocation=/Users/philsmart/Documents/Java/RaptorWorkspace/keys/raptor.jks 
     8 
     9database.useHsqldb = true 
     10hsqldbFileLocation =/tmp/hsql 
  • raptor-mua/trunk/src/main/config/statistical-units.xml

    r742 r746  
    238238                        <list> 
    239239                            <bean class="uk.ac.cardiff.model.report.Series"> 
    240                                 <property name="seriesLabel" value="Number of authentications"/> 
     240                                <property name="seriesLabel" value="Number of authentications (ALL)"/> 
     241                            </bean> 
     242                            <bean class="uk.ac.cardiff.model.report.Series"> 
     243                                <property name="seriesLabel" value="Number of authentications (Undergraduate)"/> 
     244                                <property name="comparisonPredicate"> 
     245                                        <bean class="uk.ac.cardiff.model.sql.ComparisonPredicate"> 
     246                                                <property name="compOp" value="EQUAL"/> 
     247                                                <property name="fieldName" value="principalInformation.affiliation"/> 
     248                                                <property name="value" value="U"/> 
     249                                        </bean> 
     250                                </property> 
    241251                            </bean> 
    242252                        </list> 
     
    254264        </property> 
    255265    </bean> 
    256      
     266 
    257267        <bean id="authsPerPersonAffiliation" class="uk.ac.cardiff.raptormua.engine.statistics.functions.GroupByFrequency"> 
    258268        <property name="StatisticParameters"> 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/MUAEngine.java

    r742 r746  
    1919package uk.ac.cardiff.raptormua.engine; 
    2020 
    21 import java.io.BufferedReader; 
    22 import java.io.ByteArrayInputStream; 
    23 import java.io.DataInputStream; 
    24 import java.io.InputStreamReader; 
    2521import java.util.ArrayList; 
    2622import java.util.List; 
    27 import java.util.Set; 
     23 
    2824 
    2925import org.slf4j.Logger; 
     
    3127 
    3228import uk.ac.cardiff.model.AdministrativeFunction; 
    33 import uk.ac.cardiff.model.ClientMetadata; 
    34 import uk.ac.cardiff.model.ServerMetadata; 
     29import uk.ac.cardiff.model.ServiceMetadata; 
    3530import uk.ac.cardiff.model.event.Event; 
    3631import uk.ac.cardiff.model.report.AggregatorGraphModel; 
    37 import uk.ac.cardiff.model.report.Series; 
    3832import uk.ac.cardiff.model.wsmodel.Capabilities; 
    3933import uk.ac.cardiff.model.wsmodel.EventPushMessage; 
     
    4236import uk.ac.cardiff.model.wsmodel.StatisticalUnitInformation; 
    4337import uk.ac.cardiff.model.wsmodel.SuggestionValues; 
    44 import uk.ac.cardiff.raptor.event.expansion.AttributeAssociationEngine; 
    4538import uk.ac.cardiff.raptor.parse.BaseEventParser; 
    4639import uk.ac.cardiff.raptor.parse.DataAccessRegister; 
     
    4942import uk.ac.cardiff.raptor.remoting.client.EventReleaseClient; 
    5043import uk.ac.cardiff.raptor.runtimeutils.ReflectionHelper; 
    51 import uk.ac.cardiff.raptor.store.EntryHandler; 
    5244import uk.ac.cardiff.raptor.store.StorageEngine; 
    5345import uk.ac.cardiff.raptor.store.TransactionInProgressException; 
     
    7971 
    8072    /** Metadata about the this MUA instance */ 
    81     private ServerMetadata muaMetadata; 
     73    private ServiceMetadata muaMetadata; 
    8274 
    8375    /** Used to parse batch uploads */ 
     
    229221    } 
    230222 
    231     public void setMuaMetadata(ServerMetadata muaMetadata) { 
     223    public void setMuaMetadata(ServiceMetadata muaMetadata) { 
    232224        this.muaMetadata = muaMetadata; 
    233225    } 
    234226 
    235     public ServerMetadata getMuaMetadata() { 
     227    public ServiceMetadata getMuaMetadata() { 
    236228        return muaMetadata; 
    237229    } 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/Statistic.java

    r738 r746  
    5858        protected StatisticParameters statisticParameters; 
    5959 
    60         /* add a preprocessing module to the statistical method */ 
     60        /** add a preprocessing module to the statistical method */ 
    6161        private StatisticsPreProcessor preprocessor; 
    6262 
    63         /* add a postprocessing module to the statistical method */ 
     63        /** add a postprocessing module to the statistical method */ 
    6464        private List<StatisticsPostProcessor> postprocessor; 
    6565 
     
    120120                if (countGroup == observationSeries.size()) { 
    121121                        log.info("Constructing graph model for Group type"); 
    122                         //construct the groups from the first series (each series will have the same grouping) 
    123                         Observation[] observations = observationSeries.get(0).getObservations(); 
     122                        //construct the groups from the series with the most groups 
     123                        Observation[] observations = getObservationWithMostGroups(observationSeries); 
    124124                        Group[] groups = (Group[]) observations; 
    125125                        for (Group group : groups) { 
     126                                log.trace("Group {}",group.getGroupName()); 
    126127                                gmodel.addGroupLabel(group.getGroupName()); 
    127128                        } 
     
    132133 
    133134                                List<Double> values = new ArrayList<Double>(); 
    134                                 for (Group group : groups) { 
    135                                         Double valueDouble = new Double(group.getValue()); 
    136                                         values.add(valueDouble); 
     135                                for (String label : gmodel.getGroupLabels()){ 
     136                                    Double valueDouble=new Double(0); 
     137                                    for (Group group : groups) { 
     138                                        if (group.getGroupName().equals(label)) 
     139                                            valueDouble = new Double(group.getValue()); 
     140                                    } 
     141                                    values.add(valueDouble); 
    137142                                } 
    138                                 log.debug("Adding Values {}",Arrays.toString(values.toArray(new Double[0]))); 
     143 
     144                                log.trace("Adding Values {}",Arrays.toString(values.toArray(new Double[0]))); 
    139145                                gmodel.addGroupValue(values); 
    140146                        } 
     
    164170                                        values.add(valueDouble); 
    165171                                } 
    166                                 //log.debug("Adding Values {}",Arrays.toString(values.toArray(new Double[0]))); 
     172                                log.trace("Adding Values {}",Arrays.toString(values.toArray(new Double[0]))); 
    167173                                gmodel.addGroupValue(values); 
    168174                        } 
     
    173179 
    174180                return gmodel; 
     181        } 
     182 
     183        private Observation[] getObservationWithMostGroups(List<ObservationSeries> observationSeries){ 
     184            Observation[] maxObs =null; 
     185            int max=0; 
     186            for (ObservationSeries series : observationSeries){ 
     187                  Observation[] obs= series.getObservations(); 
     188                  if (obs.length > max){ 
     189                      max = obs.length; 
     190                      maxObs = obs; 
     191                  } 
     192 
     193            } 
     194            return maxObs; 
    175195        } 
    176196 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/server/RunServer.java

    r742 r746  
    4141import org.mortbay.jetty.servlet.ServletHolder; 
    4242import org.mortbay.jetty.webapp.WebAppContext; 
     43import org.mortbay.log.Log; 
    4344import org.slf4j.LoggerFactory; 
    4445import org.springframework.context.support.ClassPathXmlApplicationContext; 
     
    6162         * 2. Configure the logback logger 
    6263         * 3. Start a Jetty Server instance including trust and key stores, and set the web.xml in the configuration directory to initialise the servlet. 
    63          *  
     64         * 
    6465         * @param args 
    6566         * @throws IOException 
     
    7172 
    7273                String configurationFiles = System.getProperty("configurationFiles", System.getProperty("user.dir") + "/target/conf"); 
    73                  
     74 
    7475                configureLogger(configurationFiles+"/logback.xml"); 
    7576 
     
    8384                String trustStorePassword = props.getProperty("jetty.trustStorePassword", "changeit"); 
    8485                String webappContextPath = props.getProperty("jetty.webapp.contextPath", "/MUA"); 
     86 
     87                String useHsqldb = props.getProperty("database.useHsqldb", "true"); 
     88                String hsqldbFileLocation = props.getProperty("database.hsqldbFileLocation", "/tmp/hsql"); 
     89                if (useHsqldb.equals("true")) 
     90                    startHsqldbServer(hsqldbFileLocation); 
    8591 
    8692                System.out.println("[INFO] Jetty Config: Using Port " + portNumber); 
     
    99105 
    100106                // enable mutual authentication 
    101                 //sslConnector.setNeedClientAuth(true); 
     107                sslConnector.setNeedClientAuth(true); 
    102108 
    103109                server.setConnectors(new Connector[] { sslConnector }); 
     
    123129        } 
    124130 
     131        private static void startHsqldbServer(String fileLocation){ 
     132            Log.info("Starting embedded HSQLDB with path [{}]",fileLocation); 
     133//          org.hsqldb.Server server = new org.hsqldb.Server(); 
     134//          server.setAddress("localhost"); 
     135//          server.setDatabaseName(0,"mua"); 
     136//          server.setDatabasePath(0, fileLocation); 
     137//          server.setPort(1234); 
     138//          server.setTrace(true); 
     139//          server.start(); 
     140 
     141        } 
     142 
    125143        private static void configureLogger(String logback) { 
    126144                LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/service/impl/MUAProcessImpl.java

    r733 r746  
    151151                if (lockR.tryLock()) { 
    152152                        try { 
    153                                 log.info("MUA has received {} entries from {}", pushed.getEvents().size(), pushed.getClientMetadata().getClientName()); 
     153                                log.info("MUA has received {} entries from {}", pushed.getEvents().size(), pushed.getClientMetadata().getServerName()); 
    154154                                engine.addAuthentications(pushed); 
    155155                                success = true; 
Note: See TracChangeset for help on using the changeset viewer.