Changeset 695


Ignore:
Timestamp:
04/25/11 22:53:53 (8 years ago)
Author:
philsmart
Message:
 
Location:
raptor-ica-embedded/trunk/src/main
Files:
4 deleted
6 edited
1 moved

Legend:

Unmodified
Added
Removed
  • raptor-ica-embedded/trunk/src/main/config/dao-beans.xml

    r617 r695  
    3232                                <prop key="hibernate.dialect"> org.hibernate.dialect.PostgreSQLDialect</prop> <!-- database type --> 
    3333                                <prop key="hibernate.show_sql">false</prop>  <!-- outputs the SQL queries used to the standard logger --> 
    34                           <prop key="hibernate.hbm2ddl.auto">create</prop> <!-- update changes the db if mapping changes, creates the db if none exists, in production do not use any of these 
     34                          <prop key="hibernate.hbm2ddl.auto">update</prop> <!-- update changes the db if mapping changes, creates the db if none exists, in production do not use any of these 
    3535--> 
    3636                                <prop key="hibernate.c3p0.minPoolSize">5</prop> <!-- IMPORTANT this then uses the c3po pooling which is better than hibs implementation for production systems 
     
    6262 
    6363 
    64         <bean name="dataConnectionImpl" class="uk.ac.cardiff.raptor.raptorica.dao.internal.ICADataConnectionImpl"> 
     64        <bean name="dataConnectionImpl" class="uk.ac.cardiff.raptor.store.dao.DefaultDataConnection"> 
    6565                <property name="sessionFactory" ref="icaSessionFactory" /> 
    6666        </bean> 
  • raptor-ica-embedded/trunk/src/main/config/data-access.xml

    r691 r695  
    6666                    </property> 
    6767                </bean> 
    68  
     68                 
    6969 
    7070 
     
    8585                                        <property name="printParsingPosition"><value>true</value></property> 
    8686 
    87                                           The inclusion list is an OR of field name, value pairs that are loaded by the parser 
    88                                          all other fields are ignored, this is run before the exclusion list 
     87                                          The inclusion list is an OR of field name, value pairs that are loaded by the parser 
     88                                         all other fields are ignored, this is run before the exclusion list  
    8989                                        <property name="inclusionList"> 
    9090                                                        <bean class="uk.ac.cardiff.raptor.raptorica.model.filter.InclusionList"> 
     
    100100                                        </property> 
    101101 
    102  
    103                                                 exclude entries, is an OR list of <field name, field value> pairs 
     102                         
     103                                                exclude entries, is an OR list of <field name, field value> pairs 
    104104                                                that are checked for when parsing , if oneof them exists, that entry is 
    105                                                 ignored. 
     105                                                ignored.  
    106106 
    107107                                        <property name="exclusionList"> 
     
    125125                                                        </bean> 
    126126                                        </property> 
     127                     
    127128                                </bean>--> 
    128129                        </list> 
     
    132133        <!-- Create the entry handler --> 
    133134        <bean name="memoryEntryHandler" class="uk.ac.cardiff.raptor.raptorica.model.MemoryEntryHandler"></bean> 
    134         <bean name="persistantEntryHandler" class="uk.ac.cardiff.raptor.raptorica.model.PersistantEntryHandler"> 
     135        <bean name="persistantEntryHandler" class="uk.ac.cardiff.raptor.store.impl.PersistantEntryHandler"> 
    135136                <constructor-arg index="0"><ref bean="dataConnectionImpl"></ref></constructor-arg> 
    136137        </bean> 
     
    516517                    </property> 
    517518                    <property name="regexRetain"> 
    518                        <value>url=http%3a%2f%2f[^%]*|url=https://[^/]*|url=https%3a%2f%2f[^%]*</value> 
     519                       <value>url=http%3a%2f%2f[^%]*|url=https://[^/]*|url=https%3a%2f%2f[^%]*|url=http://[^/]*</value> 
     520                    </property> 
     521                    <property name="regexRetainCaseInsensitive"> 
     522                        <value>true</value> 
    519523                    </property> 
    520524                    <property name="regexReplaceAll"> 
  • raptor-ica-embedded/trunk/src/main/config/logback.xml

    r692 r695  
    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-ica-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"/> 
    1122  </logger> 
     23   
    1224  <logger name="uk" level="DEBUG"> 
    1325    <appender-ref ref="stdout"/> 
     26    <appender-ref ref="FILE"/> 
    1427  </logger> 
     28   
    1529  <logger name="org.mortbay" level="INFO"> 
    1630    <appender-ref ref="stdout"/> 
  • raptor-ica-embedded/trunk/src/main/java/uk/ac/cardiff/raptor/raptorica/dao/BaseEventParser.java

    r628 r695  
    2525 
    2626import uk.ac.cardiff.model.event.Event; 
    27 import uk.ac.cardiff.raptor.raptorica.model.EntryHandler; 
     27import uk.ac.cardiff.raptor.store.EntryHandler; 
    2828import uk.ac.cardiff.raptor.raptorica.model.exception.ParserException; 
    2929import uk.ac.cardiff.raptor.raptorica.model.filter.ExclusionList; 
  • raptor-ica-embedded/trunk/src/main/java/uk/ac/cardiff/raptor/raptorica/dao/external/file/LogFileParser.java

    r691 r695  
    9191        } 
    9292 
    93         @Override 
     93 
    9494        public void parse() throws ParserException { 
    9595                log.info("parsing: {} instance: {}", logfile, this); 
     
    135135                                                log.error("ERROR: trying to access field {}, when only {} fields in log file", e.getHeaderNo(), allvalues.size()); 
    136136                                        } 
    137                                         //log.debug("Event: " + authE.toString()); 
     137                                         
    138138                                        boolean shouldBeIncluded = isIncluded(authE); 
    139139                                        boolean preventAdd = isExcluded(authE); 
     140                                        //log.debug("Included {}, Veoted {}, Event: {}",new Object[]{shouldBeIncluded,preventAdd,authE.toString()}); 
    140141 
    141142                                        if (shouldBeIncluded && !preventAdd) { 
     
    149150 
    150151                        log.debug("done, walked {} lines", lineCount); 
    151                         log.debug("LogFileParser currently has: {} entries, latestEntry: {}", getEntryHandler().getEntries().size(), getEntryHandler().getLatestEntryTime()); 
    152                         entryHandler.endTransaction(); 
     152                        log.debug("LogFileParser currently has: {} entries, latestEntry: {}", entryHandler.getNumberOfEntries(), entryHandler.getLatestEntryTime()); 
     153                        //entryHandler.endTransaction(); 
    153154                } catch (MalformedURLException e1) { 
    154155                        throw new ParserException("Could not find the source file [" + logfile + "] for parsing", e1); 
     
    247248 
    248249        /** 
    249          * Replace substrings from <code>value</code> with the given strings in the <code>header</code> 
     250         * Replace substrings from <code>value</code> with the given strings in <code>header</code> 
    250251         * that match the regular expression(s) in the regexReplaceAll from the <code>header</code> 
    251252         * 
     
    277278                if (header.getRegexRetain() == null) 
    278279                        return value; 
    279  
    280                 Pattern p = Pattern.compile(header.getRegexRetain()); 
     280                 
     281                Pattern p = null; 
     282                if (header.isRegexRetainCaseInsensitive()) 
     283                        p = Pattern.compile(header.getRegexRetain(),Pattern.CASE_INSENSITIVE); 
     284                else 
     285                        p = Pattern.compile(header.getRegexRetain()); 
     286                 
    281287                Matcher match = p.matcher(value); 
    282288                ArrayList<String> allFound = new ArrayList<String>(); 
  • raptor-ica-embedded/trunk/src/main/java/uk/ac/cardiff/raptor/raptorica/dao/external/format/Header.java

    r661 r695  
    2929        public enum Type {STRING, DATE, INTEGER, STRINGLIST, URL} 
    3030 
     31        /** The name of the field this header matches to in the internal <code>Event</code> model*/ 
    3132        private String fieldName; 
     33         
     34        /** The index in the currently tokenized line this header matches to*/ 
    3235        private int fieldNo; 
    3336 
     
    3538        private int[] additionalFieldNos; 
    3639 
     40        /** The type of field, based on the Type enum */ 
     41        private Type fieldType; 
     42         
     43        /** A map of regular expressions and replacement values*/ 
     44        private Map<String,String> regexReplaceAll; 
     45         
     46        /** A regular expression that matches to a substring, which if found is kept as the value for this header*/ 
     47        private String regexRetain; 
     48         
     49        /** Whether the <code>regexRetain</code> should be case insensitive. Default is false*/ 
     50        private boolean regexRetainCaseInsensitive; 
    3751 
    38         private Type fieldType; 
    39         private Map<String,String> regexReplaceAll; 
    40         private String regexRetain; 
    41  
    42         //only needed if the object type is a date 
     52        /** If this header has a <code>DATE</code> type, this represents 
     53         * the format the value of the header should be parsed with*/ 
    4354        private String dateTimeFormat; 
     55         
     56        /** Timezone information*/ 
    4457        private String timeZone; 
    4558 
    4659        private String listDelimeter; 
     60         
     61        public Header(){ 
     62                regexRetainCaseInsensitive=false; 
     63        } 
    4764 
    4865        public void setFieldName(String fieldName) { 
     
    140157            return additionalFieldNos; 
    141158        } 
     159        public void setRegexRetainCaseInsensitive(boolean regexRetainCaseInsensitive) { 
     160                this.regexRetainCaseInsensitive = regexRetainCaseInsensitive; 
     161        } 
     162        public boolean isRegexRetainCaseInsensitive() { 
     163                return regexRetainCaseInsensitive; 
     164        } 
    142165 
    143166 
  • raptor-ica-embedded/trunk/src/main/java/uk/ac/cardiff/raptor/raptorica/server/RunServer.java

    r634 r695  
    1717 
    1818import java.io.File; 
     19import java.io.FileNotFoundException; 
     20import java.io.IOException; 
    1921import java.net.URL; 
    2022import java.security.ProtectionDomain; 
     
    2729import org.mortbay.jetty.servlet.ServletHolder; 
    2830import org.mortbay.jetty.webapp.WebAppContext; 
     31import org.slf4j.LoggerFactory; 
    2932import org.springframework.web.servlet.DispatcherServlet; 
    3033 
     34import ch.qos.logback.classic.LoggerContext; 
     35import ch.qos.logback.classic.joran.JoranConfigurator; 
     36import ch.qos.logback.core.joran.spi.JoranException; 
     37import ch.qos.logback.core.util.StatusPrinter; 
     38 
    3139public class RunServer { 
     40         
     41         
     42        /** 
     43         * Programmatically do the following: 
     44         * 1. Set the Apache CXF logger to use SLF4J 
     45         * 2. Configure the logback logger 
     46         * 3. Start a Jetty Server instance including trust and key stores, and set the web.xml in the configuration directory to initialise the servlet. 
     47         *  
     48         * @param args 
     49         * @throws IOException 
     50         * @throws FileNotFoundException 
     51         * @throws Exception 
     52         */ 
     53        public static void main(String args[]) throws FileNotFoundException, IOException { 
     54                System.setProperty("org.apache.cxf.Logger", "org.apache.cxf.common.logging.Slf4jLogger"); 
    3255 
    33     public static void main(String args[]) throws Exception { 
    34          
     56                String configurationFiles = System.getProperty("configurationFiles", System.getProperty("user.dir") + "/target/conf"); 
     57                 
     58                configureLogger(configurationFiles+"/logback.xml"); 
     59                 
     60                int portNumber = Integer.parseInt(System.getProperty("port", "8089")); 
    3561 
    36         String configurationFiles = System.getProperty("configurationFiles", System.getProperty("user.dir")+"/target/conf/ica-core.xml"); 
    37         int portNumber = Integer.parseInt(System.getProperty("port", "8089")); 
     62                System.out.println("[INFO] Jetty Config: Using Port " + portNumber); 
     63                System.out.println("[INFO] Spring Config: Configuration files at " + configurationFiles); 
    3864 
    39         System.out.println("[INFO] Jetty Config: Using Port "+portNumber); 
    40         System.out.println("[INFO] Spring Config: Configuration files at "+configurationFiles); 
     65                Server server = new Server(portNumber); 
     66                Context context = new Context(server, "/ICA", Context.SESSIONS); 
    4167 
    42         Server server = new Server(portNumber); 
    43         Context context = new Context(server, "/ICA", Context.SESSIONS); 
     68                DispatcherServlet dispatcherServlet = new DispatcherServlet(); 
     69                // dispatcherServlet.setContextConfigLocation("classpath:beans.xml"); 
     70                File springBeans = new File(configurationFiles+"/ica-core.xml"); 
     71                dispatcherServlet.setContextConfigLocation("file://" + springBeans.getCanonicalPath()); 
    4472 
    45         DispatcherServlet dispatcherServlet = new DispatcherServlet(); 
    46         //dispatcherServlet.setContextConfigLocation("classpath:beans.xml"); 
    47         File springBeans = new File(configurationFiles); 
    48         dispatcherServlet.setContextConfigLocation("file://"+springBeans.getCanonicalPath()); 
     73                ServletHolder servletHolder = new ServletHolder(dispatcherServlet); 
     74                context.addServlet(servletHolder, "/*"); 
    4975 
    50         ServletHolder servletHolder = new ServletHolder(dispatcherServlet); 
    51         context.addServlet(servletHolder, "/*"); 
     76                try { 
     77                        server.start(); 
     78                        server.join(); 
     79                } catch (Exception e) { 
     80                        e.printStackTrace(); 
     81                        System.exit(100); 
     82                } 
    5283 
    53         try { 
    54                 System.out.println(">>> STARTING EMBEDDED JETTY SERVER"); 
    55                 server.start(); 
    56 //              System.in.read(); 
    57 //              System.out.println(">>> STOPPING EMBEDDED JETTY SERVER"); 
    58 //              server.stop(); 
    59 //              server.join(); 
    60         } catch (Exception e) { 
    61                 e.printStackTrace(); 
    62                 System.exit(100); 
    6384        } 
    6485 
     86        private static void configureLogger(String logback) { 
     87                LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 
    6588 
    66     } 
     89                try { 
     90                        JoranConfigurator configurator = new JoranConfigurator(); 
     91                        configurator.setContext(lc); 
     92                        lc.reset(); 
     93                        configurator.doConfigure(logback); 
     94                } catch (JoranException je) { 
     95                        // StatusPrinter will handle thiss 
     96                } 
     97                StatusPrinter.print(lc); 
    6798 
    68  
     99        } 
    69100 
    70101} 
Note: See TracChangeset for help on using the changeset viewer.