Changeset 1083
- Timestamp:
- 08/30/11 19:56:46 (21 months ago)
- Location:
- raptor-mua/trunk/src/main
- Files:
-
- 3 added
- 12 edited
-
config/statistical-processors.xml (added)
-
config/statistical-units.xml (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/CapabilitiesConstructor.java (modified) (13 diffs)
-
java/uk/ac/cardiff/raptormua/engine/statistics/ContextAwareStatisticRegistry.java (modified) (2 diffs)
-
java/uk/ac/cardiff/raptormua/engine/statistics/DefaultStatisticProcessorRegistry.java (added)
-
java/uk/ac/cardiff/raptormua/engine/statistics/Statistic.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/StatisticPostProcessor.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/StatisticProcessorFactory.java (modified) (2 diffs)
-
java/uk/ac/cardiff/raptormua/engine/statistics/StatisticProcessorRegistry.java (added)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/CutRowsPostProcessor.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/NumberFormatterPostProcessor.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/PercentagePostProcessor.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/RowSortPostProcessor.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/SamlMetadataNameFormatter.java (modified) (1 diff)
-
java/uk/ac/cardiff/raptormua/engine/statistics/processor/SortGroupsAlphabeticallyPostProcessor.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
raptor-mua/trunk/src/main/config/statistical-units.xml
r1082 r1083 341 341 342 342 <import resource="statistical-units-system.xml"/> 343 <!-- <import resource="statistical-processors.xml"/> --> 343 344 344 345 -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/CapabilitiesConstructor.java
r1082 r1083 2 2 * 3 3 */ 4 4 5 package uk.ac.cardiff.raptormua.engine; 5 6 … … 33 34 * 34 35 */ 35 public class CapabilitiesConstructor implements ApplicationContextAware {36 public class CapabilitiesConstructor implements ApplicationContextAware { 36 37 37 38 /** Class logger. */ … … 52 53 private Set<String> excludeFieldNames; 53 54 54 /** Springs application context */55 private ApplicationContext applicationContext;55 /** Springs application context */ 56 private ApplicationContext applicationContext; 56 57 57 58 /** 58 59 * @return 59 60 */ 60 public Capabilities constructCapabilities(StatisticHandler statisticsHandler, StorageEngine storageEngine, ServiceMetadata metadata) { 61 public Capabilities constructCapabilities(StatisticHandler statisticsHandler, StorageEngine storageEngine, 62 ServiceMetadata metadata) { 61 63 log.info("Capabilities Constructor Called"); 62 64 long startTime = System.currentTimeMillis(); … … 66 68 checkCacheValidity(); 67 69 68 if (cacheEnabled && cachedCapabilities!=null) { 69 log.info("Capabilities retrieved from cache, cache will timeout in {} milliseconds",cacheTimeoutMs-(System.currentTimeMillis()-cacheResetTimeMs)); 70 if (cacheEnabled && cachedCapabilities != null) { 71 log.info("Capabilities retrieved from cache, cache will timeout in {} milliseconds", cacheTimeoutMs 72 - (System.currentTimeMillis() - cacheResetTimeMs)); 70 73 capabilities = cachedCapabilities; 71 74 } … … 85 88 capabilities.setNumberOfAuthenticationsStored(storageEngine.getEntryHandler().getNumberOfEvents()); 86 89 List<Suggestion> possiblePostProcessors = findPostProcessors(); 87 log. debug("Has set {} possible post processor suggestion values",possiblePostProcessors.size());90 log.trace("Has set {} possible post processor suggestion values", possiblePostProcessors.size()); 88 91 suggestionValues.setPossiblePostProcessors(possiblePostProcessors); 89 92 … … 103 106 104 107 // set resource metadata 105 List<ResourceMetadata> resourceMetadata = (List<ResourceMetadata>) storageEngine.getEntryHandler().query("from ResourceMetadata"); 108 List<ResourceMetadata> resourceMetadata = 109 (List<ResourceMetadata>) storageEngine.getEntryHandler().query("from ResourceMetadata"); 106 110 log.debug("Setting {} resource metadata", resourceMetadata.size()); 107 Collections.sort(resourceMetadata, new ResourceMetadataComparator());111 Collections.sort(resourceMetadata, new ResourceMetadataComparator()); 108 112 capabilities.setResourceMetadata(resourceMetadata); 109 113 … … 119 123 if (entry.getPostprocessor() != null) { 120 124 for (StatisticPostProcessor postprocessor : entry.getPostprocessor()) { 121 ProcessorInformation processorInformation = new ProcessorInformation();122 processorInformation.setBeanName(postprocessor.getClass().getSimpleName());125 ProcessorInformation processorInformation = new ProcessorInformation(); 126 processorInformation.setBeanName(postprocessor.getClass().getSimpleName()); 123 127 postprocessors.add(processorInformation); 124 128 } … … 128 132 } 129 133 capabilities.setStatisticalServices(stats); 130 134 131 135 if (cacheEnabled) { 132 136 cachedCapabilities = capabilities; … … 135 139 } 136 140 long endTime = System.currentTimeMillis(); 137 log.info("Constructed MUA Capabilities for [{}] in {}s", capabilities.getMetadata().getEntityId(),((endTime-startTime)/1000)); 141 log.info("Constructed MUA Capabilities for [{}] in {}s", capabilities.getMetadata().getEntityId(), 142 ((endTime - startTime) / 1000)); 138 143 139 144 return capabilities; 140 145 } 141 142 private List<Suggestion> findPostProcessors() {143 String[] postProcessors = applicationContext.getBeanNamesForType(StatisticPostProcessor.class);144 ArrayList<Suggestion> postProcessorSuggestions = new ArrayList<Suggestion>();145 for (String processor : postProcessors){146 Suggestion suggestion = new Suggestion();147 suggestion.setBase("postprocessor");148 suggestion.setValue(processor);149 postProcessorSuggestions.add(suggestion);150 log.trace("Postprocessor, {}",processor);151 }152 return postProcessorSuggestions;153 146 147 private List<Suggestion> findPostProcessors() { 148 String[] postProcessors = applicationContext.getBeanNamesForType(StatisticPostProcessor.class); 149 ArrayList<Suggestion> postProcessorSuggestions = new ArrayList<Suggestion>(); 150 for (String processor : postProcessors) { 151 Suggestion suggestion = new Suggestion(); 152 suggestion.setBase("postprocessor"); 153 suggestion.setValue(processor); 154 postProcessorSuggestions.add(suggestion); 155 log.trace("Postprocessor, {}", processor); 156 } 157 return postProcessorSuggestions; 158 154 159 } 155 160 … … 167 172 168 173 /** 169 * Sets whether the cache is enabled, and sets a default timeout of 30 minutes 170 * in case one is not specified in theXML174 * Sets whether the cache is enabled, and sets a default timeout of 30 minutes in case one is not specified in the 175 * XML 171 176 * 172 * @param cacheEnabled 173 * the cacheEnabled to set 177 * @param cacheEnabled the cacheEnabled to set 174 178 */ 175 179 public void setCacheEnabled(boolean cacheEnabled) { 176 180 this.cacheEnabled = cacheEnabled; 177 cacheTimeoutMs =1800000;181 cacheTimeoutMs = 1800000; 178 182 } 179 183 … … 186 190 187 191 /** 188 * @param cacheTimeoutMs 189 * the cacheTimeoutMs to set 192 * @param cacheTimeoutMs the cacheTimeoutMs to set 190 193 */ 191 194 public void setCacheTimeoutMs(long cacheTimeoutMs) { … … 201 204 202 205 /** 203 * @param excludeFieldNames 204 * the excludeFieldNames to set 206 * @param excludeFieldNames the excludeFieldNames to set 205 207 */ 206 208 public void setExcludeFieldNames(Set<String> excludeFieldNames) { … … 215 217 } 216 218 217 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {218 this.applicationContext = applicationContext;219 220 }219 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 220 this.applicationContext = applicationContext; 221 222 } 221 223 222 224 } -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/ContextAwareStatisticRegistry.java
r1082 r1083 80 80 statistic.setStatisticParameters(statisticalUnitInformation.getStatisticParameters()); 81 81 // now deal with the post processors 82 List<StatisticPostProcessor> postProcessors =83 initialisePostProcessors(statisticalUnitInformation.getPostprocessors());84 statistic.setPostprocessor(postProcessors);82 // List<StatisticPostProcessor> postProcessors = 83 // initialisePostProcessors(statisticalUnitInformation.getPostprocessors()); 84 // statistic.setPostprocessor(postProcessors); 85 85 } 86 86 … … 92 92 private List<StatisticPostProcessor> initialisePostProcessors(List<ProcessorInformation> postProcessorsInformation) { 93 93 // TODO could be factory method, need to acquire the bean implementation now. 94 StatisticProcessorFactory factory = new StatisticProcessorFactory(); 94 95 List<StatisticPostProcessor> postprocessors = null; 96 97 for (ProcessorInformation information : postProcessorsInformation) { 98 postprocessors.add(factory.getPostProcessor(information.getClassName())); 99 } 95 100 96 101 return postprocessors; -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/Statistic.java
r1082 r1083 223 223 // perform the same post process on each observationseries 224 224 for (ObservationSeries obsSeries : getObservationSeries()) { 225 obsSeries.setObservations(post.p ostProcess(obsSeries.getObservations()));225 obsSeries.setObservations(post.process(obsSeries.getObservations())); 226 226 } 227 227 } -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/StatisticPostProcessor.java
r1082 r1083 32 32 public interface StatisticPostProcessor { 33 33 34 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException;34 public Observation[] process(Observation[] observations) throws PostprocessorException; 35 35 } -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/StatisticProcessorFactory.java
r1082 r1083 1 1 2 2 package uk.ac.cardiff.raptormua.engine.statistics; 3 4 import org.slf4j.Logger; 5 import org.slf4j.LoggerFactory; 3 6 4 7 /** … … 10 13 public class StatisticProcessorFactory { 11 14 15 /** class logger */ 16 private final Logger log = LoggerFactory.getLogger(StatisticProcessorFactory.class); 17 18 /** the default package name for processors */ 19 private static final String DEFAULT_PROCESSOR_PACKAGE = "uk.ac.cardiff.raptormua.engine.statistics.processor."; 20 21 public StatisticPostProcessor getPostProcessor(String processorName) { 22 StatisticPostProcessor processor = null; 23 Object processorClass; 24 try { 25 processorClass = Class.forName(DEFAULT_PROCESSOR_PACKAGE + processorName); 26 if (processorClass instanceof StatisticPostProcessor) { 27 processor = (StatisticPostProcessor) processorClass; 28 log.debug("Processor factory has constructor [{}]", processor); 29 return processor; 30 } 31 } catch (ClassNotFoundException e) { 32 log.error("Unable to create new statistical processor", e); 33 } 34 35 return processor; 36 } 37 12 38 } -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/CutRowsPostProcessor.java
r1082 r1083 47 47 * (non-Javadoc) 48 48 * 49 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#p ostProcess(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[])49 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#process(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[]) 50 50 */ 51 51 52 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {52 public Observation[] process(Observation[] observations) throws PostprocessorException { 53 53 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 54 54 int rowsToKeep = (observations.length < numberOfRowsToKeep) ? observations.length : numberOfRowsToKeep; -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/NumberFormatterPostProcessor.java
r1082 r1083 35 35 public class NumberFormatterPostProcessor implements StatisticPostProcessor { 36 36 37 /* class logger */38 staticLogger log = LoggerFactory.getLogger(NumberFormatterPostProcessor.class);37 /** class logger */ 38 private static final Logger log = LoggerFactory.getLogger(NumberFormatterPostProcessor.class); 39 39 40 /* 41 * <p> performs all actions directly ('live') on the input object, and passes that back as a reference to conform 42 * with the <code>StatisticsPostProcessor</code> interface </p> 40 /** 41 * <p> 42 * performs all actions directly ('live') on the input object, and passes that back as a reference to conform with 43 * the <code>StatisticsPostProcessor</code> interface 44 * </p> 43 45 * 44 46 * (non-Javadoc) 45 47 * 46 * @see 47 * uk.ac.cardiff.raptormua.engine.statistics.StatisticsPostProcessor#postProcess(uk.ac.cardiff.raptormua.engine. 48 * statistics.records.Observation[]) 48 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticsPostProcessor#postProcess(uk.ac.cardiff.raptormua.engine. 49 * statistics.records.Observation[]) 49 50 */ 50 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {51 public Observation[] process(Observation[] observations) throws PostprocessorException { 51 52 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 52 53 for (Observation obs : observations) { -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/PercentagePostProcessor.java
r1082 r1083 43 43 * (non-Javadoc) 44 44 * 45 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#p ostProcess(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[])45 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#process(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[]) 46 46 */ 47 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {47 public Observation[] process(Observation[] observations) throws PostprocessorException { 48 48 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 49 49 // find total value (sum) -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/RowSortPostProcessor.java
r1082 r1083 52 52 * (non-Javadoc) 53 53 * 54 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#p ostProcess(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[])54 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#process(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[]) 55 55 */ 56 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {56 public Observation[] process(Observation[] observations) throws PostprocessorException { 57 57 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 58 58 Arrays.sort(observations, new ObservationComparator(ascending)); -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/SamlMetadataNameFormatter.java
r1082 r1083 84 84 } 85 85 86 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {86 public Observation[] process(Observation[] observations) throws PostprocessorException { 87 87 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 88 88 for (Observation obs : observations) { -
raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/statistics/processor/SortGroupsAlphabeticallyPostProcessor.java
r1082 r1083 53 53 * (non-Javadoc) 54 54 * 55 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#p ostProcess(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[])55 * @see uk.ac.cardiff.raptormua.engine.statistics.StatisticPostProcessor#process(uk.ac.cardiff.raptormua.engine.statistics.records.Observation[]) 56 56 */ 57 public Observation[] p ostProcess(Observation[] observations) throws PostprocessorException {57 public Observation[] process(Observation[] observations) throws PostprocessorException { 58 58 log.debug("{} post processor called, entries into postprocessor: {}", this.getClass(), observations.length); 59 59 if (observations instanceof Group[]) {
Note: See TracChangeset
for help on using the changeset viewer.
