perfsonar-dev - perfsonar: r4063 - in trunk/perfsonar_base: . ant src/main/java/org/perfsonar/service/base/engine src/main/java/org/perfsonar/service/base/messages src/main/java/org/perfsonar/service/base/storage src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator
Subject: perfsonar development work
List archive
perfsonar: r4063 - in trunk/perfsonar_base: . ant src/main/java/org/perfsonar/service/base/engine src/main/java/org/perfsonar/service/base/messages src/main/java/org/perfsonar/service/base/storage src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator
Chronological Thread
- From:
- To:
- Subject: perfsonar: r4063 - in trunk/perfsonar_base: . ant src/main/java/org/perfsonar/service/base/engine src/main/java/org/perfsonar/service/base/messages src/main/java/org/perfsonar/service/base/storage src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator
- Date: Mon, 30 Jun 2008 10:07:23 -0400
Author: roman
Date: 2008-06-30 10:07:23 -0400 (Mon, 30 Jun 2008)
New Revision: 4063
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/CompleteMetadataStoreRequest.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/LinkRequest.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/L2PathStatusKeyGenerator.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGenerator.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGeneratorFactory.java
Modified:
trunk/perfsonar_base/ant/const.properties
trunk/perfsonar_base/pom.xml
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/engine/ActionType.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/Request.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/storage/NMWGStorageManager.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/MetadataConfigurationStorageManager.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/SimpleMetadataConfigurationStorageManager.java
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/Transformations.java
Log:
support for new message type CompleteMetadataStoreRequest added
Modified: trunk/perfsonar_base/ant/const.properties
===================================================================
--- trunk/perfsonar_base/ant/const.properties 2008-06-30 13:52:28 UTC (rev
4062)
+++ trunk/perfsonar_base/ant/const.properties 2008-06-30 14:07:23 UTC (rev
4063)
@@ -13,4 +13,4 @@
# name of jar file to be created
jarfilename=perfsonar-base
# version of the product (will be included in the final name of jar file)
-version=1.0.20080618
+version=1.0.20080630
Modified: trunk/perfsonar_base/pom.xml
===================================================================
--- trunk/perfsonar_base/pom.xml 2008-06-30 13:52:28 UTC (rev 4062)
+++ trunk/perfsonar_base/pom.xml 2008-06-30 14:07:23 UTC (rev 4063)
@@ -7,7 +7,7 @@
<artifactId>perfsonar-base</artifactId>
<packaging>jar</packaging>
<name>Perfsonar Base package</name>
- <version>1.0.20080618</version>
+ <version>1.0.20080630</version>
<description>
The perfSONAR base provides a number of common, shared
classes which can be used by
MA, MP and Clients.
@@ -71,7 +71,7 @@
<dependency>
<groupId>nmwg</groupId>
<artifactId>nmwg</artifactId>
- <version>1.0.20080609</version>
+ <version>1.0.20080630</version>
</dependency>
<dependency>
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/engine/ActionType.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/engine/ActionType.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/engine/ActionType.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -16,11 +16,9 @@
public class ActionType {
-
// ----------------------------------------- Measurement Archive Actions
-
/**
* Action type to ask for a key for the specified metadata
*/
@@ -43,91 +41,92 @@
* Action type to store keys
*/
public static final String STORE_KEY = "STORE_KEY";
-
-
+
+
+ /**
+ * Action type to replace complete metadata configuration file
+ */
+ public static final String STORE_METADATA_CONFIGURATION =
"STORE_METADATA_CONFIGURATION";
+
+
// --------------------------------------------- Lookup Service Actions
+ /**
+ * Action type to request a measurement
+ */
+ public static final String LS_REGISTER = "LS_REGISTER";
- /**
- * Action type to request a measurement
- */
- public static final String LS_REGISTER = "LS_REGISTER";
-
-
- /**
- * Action type to request a measurement
- */
- public static final String LS_LOOKUP = "LS_LOOKUP";
-
-
- /**
- * Action type to request a measurement
- */
- public static final String LS_DEREGISTER = "LS_DEREGISTER";
-
-
- /**
- * Action type to request a measurement
- */
- public static final String LS_KEEPALIVE = "LS_KEEPALIVE";
-
-
- /**
- * Action type to LS Cleanup
- */
- public static final String LS_CLEANUP = "LS_CLEANUP";
-
- /**
- * Action type for LS Control
- */
- public static final String LS_CONTROL = "LS_CONTROL";
+ /**
+ * Action type to request a measurement
+ */
+ public static final String LS_LOOKUP = "LS_LOOKUP";
- // ----------------------------------------- Echo Action
+ /**
+ * Action type to request a measurement
+ */
+ public static final String LS_DEREGISTER = "LS_DEREGISTER";
/**
+ * Action type to request a measurement
+ */
+ public static final String LS_KEEPALIVE = "LS_KEEPALIVE";
+
+
+ /**
+ * Action type to LS Cleanup
+ */
+ public static final String LS_CLEANUP = "LS_CLEANUP";
+
+
+ /**
+ * Action type for LS Control
+ */
+ public static final String LS_CONTROL = "LS_CONTROL";
+
+
+ // ----------------------------------------- Echo Action
+
+
+ /**
* Action type to check service status
*/
public static final String ECHO = "ECHO";
-
// ----------------------------------------- Lookup Info Action
-
/**
* Action type to request information set of the service
*/
public static final String GET_LOOKUP_INFO = "GET_LOOKUP_INFO";
-
-
+
// ------------------------------------------ Measurement Point Actions
-
/**
* Action type to request a measurement
*/
public static final String MAKE_MEASUREMENT = "MeasurementRequest";
-
// ------------------------------------------ Topology Service Actions
-
/**
* Action type to request a full topology database download
*/
public static final String SETUP_DATA_DB = "SETUP_DATA_DB";
-
+
+
// ------------------------------------------ Authentication Service
Actions
+
/**
* Action type to request the authentication of the client/user
*/
@@ -136,6 +135,4 @@
-
-
} //ActionType
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/CompleteMetadataStoreRequest.java
Property changes on:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/CompleteMetadataStoreRequest.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/LinkRequest.java
Property changes on:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/LinkRequest.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/Request.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/Request.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/messages/Request.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -258,18 +258,17 @@
}
}
-
-
+
+
protected List<Message> extractMultipleRequests(Message reqMessage) {
-
+
ArrayList<Message> messages = new ArrayList<Message>();
-
Collection<Data> dataTriggers = reqMessage.getDataMap().values();
-
+
for (Data data : dataTriggers) {
-
+
String metadataIdRef = data.getMetadataIdRef();
- Message message = new Message();
+ Message message = new Message();
try {
Map<String,Metadata> metadatas = new
HashMap<String,Metadata>();
@@ -279,28 +278,28 @@
for (Metadata metadata : mergedMetadatas.values()) {
- message.setMetadata(metadata);
+ message.setMetadata(metadata);
}
- message.setId(reqMessage.getId());
+ message.setId(reqMessage.getId());
message.setType(reqMessage.getType());
message.setData(data);
-
+
messages.add(message);
-
+
} catch (NoSuchMetadataException e) {
-
+
//wrong MetadataIdRef, remove it
//TODO: ?
-
+
}
-
+
}
return messages;
-
+
}
@@ -316,25 +315,25 @@
Message inputMessage, String metadataId, Map<String,Metadata>
metadatas)
throws NoSuchMetadataException {
- if (metadataId == null) throw new NoSuchMetadataException();
+ if (metadataId == null) throw new NoSuchMetadataException();
- Metadata metadata = inputMessage.getMetadata(metadataId);
+ Metadata metadata = inputMessage.getMetadata(metadataId);
if (metadata == null) throw new NoSuchMetadataException();
-
+
metadatas.put(metadata.getId(), metadata);
-
+
//metadataIdRef in Subject
//prevent endless loop
if (metadata.getSubject() != null) {
- if (!("".equals(metadata.getSubject().getMetadataIdRef()))&&
+ if (!("".equals(metadata.getSubject().getMetadataIdRef()))&&
!(metadata.getId().equals(metadata.getSubject().getMetadataIdRef()))) {
-
- getChaining(
- inputMessage,
-
metadata.getSubject().getMetadataIdRef(),
- metadatas);
- }
+
+ getChaining(
+ inputMessage,
+ metadata.getSubject().getMetadataIdRef(),
+ metadatas);
+ }
}
String chainedMetadataId = metadata.getMetadataIdRef();
@@ -349,9 +348,9 @@
return metadatas;
}
-
-
-
+
+
+
//------------------------------------------------- abstract method
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/storage/NMWGStorageManager.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/storage/NMWGStorageManager.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/base/storage/NMWGStorageManager.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -41,5 +41,25 @@
throws PerfSONARException;
+ /**
+ * Removes certain data in a data repository.
+ */
+ public Message remove(Message dataSet)
+ throws PerfSONARException;
+
+ /**
+ * Removes all data in a data repository.
+ */
+ public void removeAll()
+ throws PerfSONARException;
+
+
+ /**
+ * Updates data in a data repository.
+ */
+ public Message update(Message dataSet)
+ throws PerfSONARException;
+
+
} //NMWGStorageManager
\ No newline at end of file
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -22,92 +22,79 @@
private String name = null;
private String metadataQueryGenerator = null;
+ private String metadaKeyGenerator = null;
private String responseGenerator = null;
private String storeRequestProcess = null;
private String baseChainingMerger = null;
-
// -------------------------------------- constructors
-
public EventType() {
}
-
//-------------------------------------- public methods
-
public void setName(String name) {
-
this.name = name;
-
}
public String getName() {
-
return name;
-
}
public void setMetadataQueryGenerator(String metadataQueryGenerator) {
-
this.metadataQueryGenerator = metadataQueryGenerator;
-
}
public String getMetadataQueryGenerator() {
-
return metadataQueryGenerator;
+ }
+
+ public void setMetadataKeyGenerator(String metadaKeyGenerator) {
+ this.metadaKeyGenerator = metadaKeyGenerator;
}
- public void setResponseGenerator(String responseGenerator) {
+ public String getMetadataKeyGenerator() {
+ return metadaKeyGenerator;
+ }
- this.responseGenerator = responseGenerator;
+ public void setResponseGenerator(String responseGenerator) {
+ this.responseGenerator = responseGenerator;
}
public String getResponseGenerator() {
-
return responseGenerator;
-
}
public void setStoreRequestProcess(String storeRequestProcess) {
-
this.storeRequestProcess = storeRequestProcess;
-
}
public String getStoreRequestProcess() {
-
return storeRequestProcess;
-
}
public void setBaseChainingMerger(String baseChainingMerger) {
-
this.baseChainingMerger = baseChainingMerger;
-
}
public String getBaseChainingMerger() {
-
return baseChainingMerger;
-
}
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/MetadataConfigurationStorageManager.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/MetadataConfigurationStorageManager.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/MetadataConfigurationStorageManager.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -7,12 +7,15 @@
import java.util.Collection;
import java.util.Map;
+import java.util.Arrays;
import org.ggf.ns.nmwg.base.v2_0.Data;
import org.ggf.ns.nmwg.base.v2_0.Element;
import org.ggf.ns.nmwg.base.v2_0.Key;
import org.ggf.ns.nmwg.base.v2_0.Message;
import org.ggf.ns.nmwg.base.v2_0.Metadata;
+import org.ggf.ns.nmwg.base.v2_0.EventType;
+
import org.perfsonar.base.auxiliary.AuxiliaryComponentManager;
import org.perfsonar.base.auxiliary.ComponentNames;
import
org.perfsonar.base.auxiliary.components.configuration.ConfigurationComponent;
@@ -24,7 +27,10 @@
import org.perfsonar.service.base.storage.xmldb.XmlDbStorageManager;
import org.perfsonar.service.base.storage.xmldb.exist.ExistDbFactory;
+import
org.perfsonar.service.measurementArchive.metadataConfig.keyGenerator.MetadataKeyGenerator;
+import
org.perfsonar.service.measurementArchive.metadataConfig.keyGenerator.MetadataKeyGeneratorFactory;
+
/**
* This class contains methods to manage metadata configuration data.
*
@@ -33,11 +39,9 @@
public class MetadataConfigurationStorageManager implements
NMWGStorageManager {
-
// -------------------------------------- class fields
-
protected StorageManager existDbXmlStorageManager = null;
protected LoggerComponent logger = null;
@@ -47,75 +51,36 @@
protected Transformations transformations = null;
-
// -------------------------------------- constructors
-
public MetadataConfigurationStorageManager() throws PerfSONARException {
- try {
-
- this.logger = (LoggerComponent)
- AuxiliaryComponentManager.
- getInstance().
- getComponent(ComponentNames.LOGGER);
-
- } catch (PerfSONARException e) {
-
- throw new PerfSONARException(
- "error.common.no_logger",
- "MetadataConfigurationStorageManager.constructor: "
- + "Cannot get logger component");
-
- }
-
- try {
-
- this.configuration = (ConfigurationComponent)
- AuxiliaryComponentManager.
- getInstance().
- getComponent(ComponentNames.CONFIG);
-
- } catch (PerfSONARException e) {
-
- throw new PerfSONARException(
- "error.common.no_configuration",
- "MetadataConfigurationStorageManager.constructor: "
- + "Cannot get config component");
-
- }
-
-
+ this.logger = getLogger();
+ this.configuration = getConfiguration();
this.transformations = new Transformations();
-
}
+ // -------------------------------------- methods
- // -------------------------------------- public methods
-
-
// --- methods from NMWGStorageManager interface
public void initStorage(Key dataRepository) throws PerfSONARException {
this.existDbXmlStorageManager = getStorageManager();
-
}
public Message fetch(Message dataQuery)
throws PerfSONARException {
-
Message message = new Message();
String query = transformations.getMetadataQuery(dataQuery);
-
logger.debug("MetadataConfigurationStorageManager.fetch: "
+ "xquery to fetch metadata/data from the metadata
configuration: \n"
+ query);
@@ -128,20 +93,8 @@
"MetadataConfigurationStorageManager.fetch: "
+ "Empty query to get data from the metadata
configuration");
+ String[] xmlResults = executeQuery(query);
- Object object = null;
- try {
- object = this.existDbXmlStorageManager.fetch(query);
- } catch (Exception ex) {
- logger.error("MetadataConfigurationStorageManager.fetch: "
- + "Connection to xml database failed: "
- + ex.toString());
- throw new PerfSONARException(
- "error.common.storage.xmldb",
- "MetadataConfigurationStorageManager.fetch: "
- + "Connection to xml database failed");
- }
- String[] xmlResults = (String[]) object;
if (xmlResults == null)
throw new PerfSONARException(
"error.ma",
@@ -200,14 +153,21 @@
}
return message;
+ }
+
+ public Message store(Message dataSet) throws PerfSONARException {
+
+ if (dataSet.getMetadataMap().size() > 1)
+ return storeAllElements(dataSet);
+ else
+ return storeSinglePair(dataSet);
+
}
- public Message store(Message dataSet)
- throws PerfSONARException {
+ private Message storeSinglePair(Message dataSet) throws
PerfSONARException {
-
Data data = (Data) dataSet.getDataArray()[0];
if (data == null) {
@@ -228,13 +188,12 @@
+ "</xu:modifications>";
logger.debug("RRDConfigurationStorageManagerdata.store: "
- + "Xupdate statement to store data element: \n"
+ + "Xupdate statement to store data element: \n"
+ dataXUpdate);
-
-
- Metadata metadata = (Metadata)
dataSet.getMetadataMap().get(data.getMetadataIdRef());
+ Metadata metadata =
+ (Metadata) dataSet.getMetadataMap().get(data.getMetadataIdRef());
if (metadata == null) {
logger.error("MetadataConfigurationStorageManager.store: "
+ " No metadata block to store refering to "
@@ -267,14 +226,147 @@
}
+ protected Message storeAllElements(Message dataSet) throws
PerfSONARException {
- // -------------------------------------- protected methods
+ storeMetadataElements(dataSet);
+ storeDataElements(dataSet);
+ return dataSet;
+ }
+ public void storeMetadataElements(Message dataSet) throws
PerfSONARException {
- protected XmlDbStorageManager getStorageManager()
- throws PerfSONARException {
+ Collection<Element> collection = dataSet.getMetadataMap().values();
+ storeElements(collection);
+ }
+
+ protected void storeElements(Collection collection) throws
PerfSONARException {
+
+ String query = null;
+ for (Object element : collection) {
+
+ if (isAlreadyStored((Element)element)) continue;
+
+ query ="update insert " +
transformations.serializeXML((Element)element) + " into //*:store";
+ logger.debug(query);
+ executeQuery(query);
+ }
+ }
+
+
+ private boolean isAlreadyStored(Element element) throws
PerfSONARException {
+
+ String query = "let $res := "
+ + "for $elem in //*:"+element.getLocalName()+" "
+ + "where data($elem/@id)='"+element.getId()+"' "
+ + "return 'detected' "
+ + "return $res ";
+
+ logger.debug(query);
+ String[] results = executeQuery(query);
+
+ if (results != null && results.length > 0)
+ return true;
+ else
+ return false;
+ }
+
+
+ protected String[] executeQuery(String query) throws PerfSONARException {
+
+ Object object = null;
+ try {
+ object = existDbXmlStorageManager.fetch(query);
+ } catch (Exception ex) {
+ logger.error("MetadataConfigurationStorageManager.executeQuery: "
+ + "Connection to xml database failed: "
+ + ex.toString());
+ throw new PerfSONARException(
+ "error.common.storage.xmldb",
+ "MetadataConfigurationStorageManager.executeQuery: "
+ + "Connection to xml database failed");
+ }
+ return ((String[]) object);
+ }
+
+
+ public void storeDataElements(Message dataSet) throws PerfSONARException
{
+
+ String metadataIdRef = null;
+ Metadata metadata = null;
+ EventType eventType = null;
+ String eventTypeString = null;
+ Key key = null;
+ Data newData = null;
+
+ MetadataKeyGenerator metadataKeyGenerator = null;
+
+ Collection<Data> collection = dataSet.getDataMap().values();
+ for (Data data : collection) {
+
+ metadataIdRef = data.getMetadataIdRef();
+ if ("".equals(metadataIdRef.trim())) continue;
+
+ metadata = dataSet.getMetadata(metadataIdRef);
+ if (metadata == null) continue;
+
+ eventType = metadata.getEventType();
+ if (eventType == null) continue;
+ eventTypeString = eventType.getEventType();
+
+ try {
+ metadataKeyGenerator =
+
MetadataKeyGeneratorFactory.getMetadataKeyGenerator(eventTypeString);
+ } catch (PerfSONARException pex) {
+ continue;
+ }
+ if (metadataKeyGenerator == null) continue;
+
+ key = metadataKeyGenerator.getKey(metadata, data);
+ if (key == null) continue;
+
+ newData = new Data();
+ newData.setId(data.getId());
+ newData.setMetadataIdRef(metadataIdRef);
+ newData.setKey(key);
+
+ storeElements(Arrays.asList(new Data[]{newData}));
+
+ // metadata element gets key with parameters
+ metadata = new Metadata();
+ metadata.setId(metadataIdRef);
+ metadata.setKey(key);
+ dataSet.setMetadata(metadata);
+
+ }
+
+ }
+
+
+ public Message remove(Message dataSet) throws PerfSONARException {
+ // not supported
+ return null;
+ }
+
+
+ public void removeAll() throws PerfSONARException {
+
+ String query = "for $elem in //*:store/* return update delete $elem";
+ logger.debug(query);
+
+ executeQuery(query);
+ }
+
+
+ public Message update(Message dataSet) throws PerfSONARException {
+ // not supported
+ return null;
+ }
+
+
+ protected XmlDbStorageManager getStorageManager() throws
PerfSONARException {
+
String xmldbAccess = "http";
try {
@@ -306,5 +398,33 @@
}
+ protected LoggerComponent getLogger() throws PerfSONARException {
+ try {
+ return (LoggerComponent)AuxiliaryComponentManager.getInstance().
+ getComponent(ComponentNames.LOGGER);
+ } catch (PerfSONARException e) {
+ throw new PerfSONARException(
+ "error.common.no_logger",
+ "MetadataConfigurationStorageManager.getLogger: "
+ + "Cannot get logger component");
+ }
+ }
+
+
+ protected ConfigurationComponent getConfiguration() throws
PerfSONARException {
+
+ try {
+ return configuration =
(ConfigurationComponent)AuxiliaryComponentManager.getInstance().
+ getComponent(ComponentNames.CONFIG);
+ } catch (PerfSONARException e) {
+ throw new PerfSONARException(
+ "error.common.no_configuration",
+ "MetadataConfigurationStorageManager.getConfiguration: "
+ + "Cannot get config component");
+ }
+ }
+
+
+
} //MetadataConfigurationStorageManager
\ No newline at end of file
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/SimpleMetadataConfigurationStorageManager.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/SimpleMetadataConfigurationStorageManager.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/SimpleMetadataConfigurationStorageManager.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -47,11 +47,9 @@
implements NMWGStorageManager {
-
// -------------------------------------- class fields
-
/**
* RRD configuration file.
*/
@@ -66,57 +64,20 @@
protected Transformations transformations = null;
-
// -------------------------------------- constructors
-
public SimpleMetadataConfigurationStorageManager() throws
PerfSONARException {
-
- try {
-
- this.logger = (LoggerComponent)
- AuxiliaryComponentManager.
- getInstance().
- getComponent(ComponentNames.LOGGER);
-
- } catch (PerfSONARException e) {
-
- throw new PerfSONARException(
- "error.common.no_logger",
- "SimpleMetadataConfigurationStorageManager.constructor: "
- + "Cannot get logger component");
-
- }
-
- try {
-
- this.configuration = (ConfigurationComponent)
- AuxiliaryComponentManager.
- getInstance().
- getComponent(ComponentNames.CONFIG);
-
- } catch (PerfSONARException e) {
-
- throw new PerfSONARException(
- "error.common.no_configuration",
- "SimpleMetadataConfigurationStorageManager.constructor: "
- + "Cannot get config component");
-
- }
-
-
+ this.logger = getLogger();
+ this.configuration = getConfiguration();
this.transformations = new Transformations();
-
}
+ // -------------------------------------- methods
- // -------------------------------------- public methods
-
-
// --- methods from NMWGStorageManager interface
@@ -143,7 +104,7 @@
logger.debug(
"SimpleMetadataConfigurationStorageManager.fetch: "
- + "xquery to fetch metadata/data from the metadata
configuration: \n"
+ + "xquery to fetch metadata/data from the metadata
configuration: \n"
+ query);
@@ -157,7 +118,6 @@
props.setProperty(OutputKeys.INDENT, "yes");
-
try {
StringBuffer outputBuffer = new StringBuffer();
@@ -187,7 +147,7 @@
+ "No metadata in metadata configuration file");
logger.debug("SimpleMetadataConfigurationStorageManager.fetch: "
- + "The number of elements returned as a result of
xquery statement: "
+ + "The number of elements returned as a result of xquery
statement: "
+ elements.size());
Collection<Element> collection = elements.values();
@@ -249,15 +209,33 @@
}
+ public Message remove(Message dataSet) throws PerfSONARException {
+ // not supported
+ return null;
+ }
+
+
+ public void removeAll() throws PerfSONARException {
+ // not supported
+ }
+
+
+ public Message update(Message dataSet) throws PerfSONARException {
+ // not supported
+ return null;
+ }
+
+
public DocumentInfo getMetaConfigDoc(StaticQueryContext staticContext)
- throws Exception {
+ throws Exception {
if (metaConfigDoc != null) {
return metaConfigDoc;
}
metaConfigDoc = staticContext.buildDocument(new StreamSource(new
File(this.xmlFile)));
-
logger.debug("SimpleMetadataConfigurationStorageManager.getMetaConfigDoc:
metaConfigDoc is " + metaConfigDoc);
+
logger.debug("SimpleMetadataConfigurationStorageManager.getMetaConfigDoc:
metaConfigDoc is "
+ + metaConfigDoc);
return metaConfigDoc;
}
@@ -295,7 +273,34 @@
}
+ protected LoggerComponent getLogger() throws PerfSONARException {
+ try {
+ return (LoggerComponent)AuxiliaryComponentManager.getInstance().
+ getComponent(ComponentNames.LOGGER);
+ } catch (PerfSONARException e) {
+ throw new PerfSONARException(
+ "error.common.no_logger",
+ "SimpleMetadataConfigurationStorageManager.getLogger: "
+ + "Cannot get logger component");
+ }
+ }
+
+
+ protected ConfigurationComponent getConfiguration() throws
PerfSONARException {
+
+ try {
+ return configuration =
(ConfigurationComponent)AuxiliaryComponentManager.getInstance().
+ getComponent(ComponentNames.CONFIG);
+ } catch (PerfSONARException e) {
+ throw new PerfSONARException(
+ "error.common.no_configuration",
+
"SimpleMetadataConfigurationStorageManager.getConfiguration: "
+ + "Cannot get config component");
+ }
+ }
+
+
// ------------------------------------ inner classes
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/Transformations.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/Transformations.java
2008-06-30 13:52:28 UTC (rev 4062)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/Transformations.java
2008-06-30 14:07:23 UTC (rev 4063)
@@ -125,15 +125,15 @@
String eventType = "";
if (metadata != null) {
- try {
- eventType =
+ try {
+ eventType =
(metadata.getEventType() != null ?
metadata.getEventType().getEventType().trim() : "");
- } catch (NullPointerException npex) {
+ } catch (NullPointerException npex) {
throw new PerfSONARException(
"error.ma.query",
"Transformations.getMetadataQuery: "
+ "eventType in the request is null");
- }
+ }
} else {
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/L2PathStatusKeyGenerator.java
Property changes on:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/L2PathStatusKeyGenerator.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGenerator.java
Property changes on:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGenerator.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGeneratorFactory.java
Property changes on:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator/MetadataKeyGeneratorFactory.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
- perfsonar: r4063 - in trunk/perfsonar_base: . ant src/main/java/org/perfsonar/service/base/engine src/main/java/org/perfsonar/service/base/messages src/main/java/org/perfsonar/service/base/storage src/main/java/org/perfsonar/service/measurementArchive/eventTypeConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/keyGenerator, svnlog, 06/30/2008
Archive powered by MHonArc 2.6.16.