Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r5385 - in branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice: . registerService

Subject: perfsonar development work

List archive

perfsonar: r5385 - in branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice: . registerService


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r5385 - in branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice: . registerService
  • Date: Tue, 8 Dec 2009 10:04:37 -0500

Author: trzaszcz
Date: 2009-12-08 10:04:37 -0500 (Tue, 08 Dec 2009)
New Revision: 5385

Modified:

branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/LSRegisterServiceEngine.java

branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/registerService/LSRegisterServiceHelper.java
Log:
registration action enhancement

Modified:
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/LSRegisterServiceEngine.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/LSRegisterServiceEngine.java
2009-12-08 13:06:37 UTC (rev 5384)
+++
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/LSRegisterServiceEngine.java
2009-12-08 15:04:37 UTC (rev 5385)
@@ -2,6 +2,7 @@

import java.util.List;

+import org.apache.log4j.Logger;
import org.perfsonar.base2.service.configuration.ConfigurationManager;
import org.perfsonar.base2.service.exceptions.PerfSONARException;
import org.perfsonar.base2.service.requesthandler.ServiceMessage;
@@ -17,63 +18,44 @@
/**
* REGISTER and UPDATE Action
*
- * @author Maciej Glowiak
+ * @author Maciej Glowiak, Slawomir Trzaszczka
*
*/
public class LSRegisterServiceEngine extends LSRegisterServiceHelper {

- // --------------------------------------------------------------
Constants
+ private final Logger logger = Logger
+ .getLogger(LSRegisterServiceEngine.class);

private boolean allowReplaceIfAlreadyRegistered = true;

- // -----------------------------------------------------------
Constructor
-
public LSRegisterServiceEngine() throws PerfSONARException {
-
super();
- // ALLOW_REPLACE
- // //extract parameters from configuration
- // String prop = null;
- // try {
- // prop = configuration.getExtensionOption("ls-settings",
- // "allow_replace");
- // } catch (PerfSONARException ex) { prop=null; }
- // if (testIfTrue(prop))
- // allowReplaceIfAlreadyRegistered = true;
- // else
- // allowReplaceIfAlreadyRegistered = false;
- // logger.debug("[LS Registration] service.ls.allow_replace="+
- // allowReplaceIfAlreadyRegistered);
}

- // --------------------------------------------------------- Public
methods
-
public void takeAction(ServiceMessage serviceRequest,
ServiceMessage serviceResponse) throws
PerfSONARException {

- // / -> REFACTORING
-
// extract message
Message request = serviceRequest.getMessageElement();

// lsTTL param processing
- //TODO: refactoring ... <- move to method
List<Element> parametersNodes = (List<Element>) serviceRequest
.getElement().getChildren("parameters");
if (parametersNodes != null && parametersNodes.size() == 1) {
try {
-
setClientTTL(getLSTTLFromParametrs(parametersNodes.get(0)));
- if (getClientTTL() != 0) {
+ long clientTTL =
getLSTTLFromParametrs(parametersNodes.get(0));
+ setClientTTL(clientTTL);
+ if (clientTTL != 0) {
if (getTtlBound() != null) {
- logger.info("TTL parameters
are set");
- logger.info("suggested TTL
param by client :"
- +
getClientTTL());
- if (getClientTTL() <=
getTtlBound()[1]
- &&
getClientTTL() >= getTtlBound()[0]) {
- ttlParameterStatus =
LsTTLParameterStatus.ACCEPTED;
+ logger.debug("TTL parameters
are set");
+ logger.debug("suggested TTL
param by client :"
+ + clientTTL);
+ if
(isBetweenTTLBound(clientTTL)) {
+
setTtlParameterStatus(LsTTLParameterStatus.ACCEPTED);
+
setClientTTL(clientTTL);
logger.info("client
TTL accepted");
} else {
- ttlParameterStatus =
LsTTLParameterStatus.OUT_OF_BOUND;
+
setTtlParameterStatus(LsTTLParameterStatus.OUT_OF_BOUND);
logger.info("client
TTL rejected - out of bound");
setClientTTL(0);
}
@@ -82,9 +64,10 @@
.warn("client
sent ttl parameter - no ranges params defined in config file !!");
}
}
- } catch (Exception ex) {
- ttlParameterStatus =
LsTTLParameterStatus.NOT_A_NUMBER;
+ } catch (PerfSONARException ex) {
+
setTtlParameterStatus(LsTTLParameterStatus.NOT_A_NUMBER);
}
+
}

// Get Metadata from request
@@ -93,31 +76,29 @@
if (requestMetadata == null) {
String m = "[LS Registration] No metadata in incoming
request";
logger.error(m);
- throw new PerfSONARException("error.ls.no_metadata",
m);
+ throw new PerfSONARException("error/ls/no_metadata",
m);
}
- logger.debug("[LS Registration] Getting metadata from
request: ["
+ logger.debug("Getting metadata from request: ["
+ requestMetadata.getId() + "]");

- // ----------------------------------------- BEGIN OF GLS code
EventType reqEvT = null;
String reqEventType = null;
// check eventType
- try {
- reqEvT = requestMetadata.getFirstEventType();
+
+ reqEvT = requestMetadata.getFirstEventType();
+ if (reqEventType != null) {
reqEventType = reqEvT.getEventType();
- logger.debug("[LS Registration] service event type is
["
- + reqEventType + "]");
- } catch (Exception ex) {
+ logger.debug("service event type is [" + reqEventType
+ "]");
+ } else {
logger.debug("[LS Registration] No event type in
metadata");
-
}

// if no eventType and home LS -- use Service evt.
// for backward compatibility
if ((!isGLS()) && (reqEventType == null)) {
reqEventType = SERVICE_EVENT_TYPE;
- logger.debug("[LS Registration] Taking default
eventType ["
- + SERVICE_EVENT_TYPE + "]");
+ logger.debug("Taking default eventType [" +
SERVICE_EVENT_TYPE
+ + "]");
}

// check GLS
@@ -125,9 +106,7 @@
|| (SUMMARY_EVENT_TYPE.equals(reqEventType)
&& isGLS())) {

// OK - no action
- logger.debug("[LS Registration] eventType accepted ["
- + reqEventType + "]");
-
+ logger.debug("eventType accepted [" + reqEventType +
"]");
} else {
String m = "[LS Registration] no service event type
or wrong eventType! Service is "
+ ((isGLS()) ? "[global-LS] and
accepts ["
@@ -135,13 +114,12 @@
: "[home-LS] and
accepts [" + SERVICE_EVENT_TYPE
+
"]");
logger.error(m);
- throw new
PerfSONARException("error.ls.wrong_eventtype", m);
+ throw new
PerfSONARException("error/ls/wrong_eventtype", m);
}

// reset event type - will not be used anymore
requestMetadata.removeChild(reqEvT);

- // ----------------------------------------- END OF GLS code
// get accessPoint from Metadata - obligatory element
// if it's empty or null PerfSONARException will be thrown
String accessPoint = getAccessPoint(requestMetadata);
@@ -149,19 +127,13 @@
// check other mandatory elements, dont care about results
// if they're empty or null PerfSONARException will be thrown
getServiceName(requestMetadata);
-
getServiceType(requestMetadata);

// Try to get Key from Metadata
- String keyValue = null;
- try {
- keyValue = getParameterFromKey(requestMetadata,
LS_KEY);
- logger.debug("[LS Registration] Key from metadata=["
+ keyValue
- + "]");
- } catch (Exception ex) {
- ex.printStackTrace();
- }

+ String keyValue = getParameterFromKey(requestMetadata,
LS_KEY);
+ logger.debug("Key from metadata=[" + keyValue + "]");
+
// ========check metadata========

// id of new metadata in the LS. Will be keyValue (update) or
just
@@ -171,21 +143,17 @@
boolean doRemove = false;
boolean doRemoveOldKey = false;

- // / <-- REFACTORING
-
// check keyValue

- if (keyValue == null) { // REGISTER
+ if (keyValue == null) {
+ // REGISTER
// let the key value be accesspoint
- logger
- .debug("[LS Registration] Action is
Registration (DB Key = accessPoint)");
+ logger.debug("Action is Registration (DB Key =
accessPoint)");
metadataId = accessPoint; // trimmed
+ } else {
+ // UPDATE
+ logger.debug("Action is Update (DB Key = keyValue)");

- } else { // UPDATE
-
- logger
- .debug("[LS Registration] Action is
Update (DB Key = keyValue)");
-
// always enable register especially if data is
registered!
allowReplaceIfAlreadyRegistered = true;

@@ -196,64 +164,45 @@
+ "] not found in the
storage. "
+ "Can't UPDATE such data,
because can't determine what data should be updated";
logger.debug(m);
- throw new
PerfSONARException("error.ls.update.key_not_found", m);
+ throw new
PerfSONARException("error/ls/update/key_not_found", m);
+ } else {
+ doRemoveOldKey = true; // remove also old key
+ // database key should be key value
+ metadataId = accessPoint;
+ // remove key element from metadata
+ requestMetadata.setKey(null);
}
-
- doRemoveOldKey = true; // remove also old key
-
- // database key should be key value
- metadataId = accessPoint;
-
- // remove key element from metadata
- requestMetadata.setKey(null);
-
- } // end if key==null
-
- // check DB key again, it may be accessPoint now and we're not
- // sure whether it's not empty. Are we?
- if ("".equals(metadataId)) {
- String m = "[LS Registration] Cannot register Lookup
Info "
- + "without or with empty metadata Id
(check Key or "
- + "accessPoint values)";
- logger.error(m);
- throw new PerfSONARException("error.ls.no_key", m);
}

- // ========check data========
+ // check data

- logger.debug("[LS Registration] get data elements");
+ logger.debug("get data elements");
Data[] dataElements = getDataElements(request);

- // =========process with register/update===========
+ // process with register/update

- logger.debug("[LS Registration] check whether lookup info ["
- + metadataId + "] exists in DB");
+ logger.debug("check whether lookup info [" + metadataId
+ + "] exists in DB");

// check if there is metadata with the same key:
// if so, check if you're allowed to update data (to remove
them)
// throw exception if you're not allowed
if (dao.isLookupInfo(metadataId)) {
-
- logger.debug("[LS Registration] Such Lookup Info (" +
metadataId
- + " is already "
- + "registered in DB. Allow_update is
set to ["
+ // insert-update
+ logger.debug("Such Lookup Info (" + metadataId
+ + " is already registered in DB.
Allow_update is set to ["
+ allowReplaceIfAlreadyRegistered +
"]");

if (allowReplaceIfAlreadyRegistered) {
-
- logger
- .debug("[LS Registration] Old
data will be replaced by new set of data");
+ logger.debug("Old data will be replaced by
new set of data");
doRemove = true;
-
} else {
-
- String m = "[LS Registration] Can't replace
data";
+ String m = "Can't replace data";
logger.error(m);
- throw new
PerfSONARException("error.ls.cant_replace_data", m);
-
+ throw new
PerfSONARException("error/ls/cant_replace_data", m);
}

- } // if dao...
+ }

// change metadata id
requestMetadata.setId(metadataId);
@@ -263,48 +212,50 @@

Data d = dataElements[i];
// change data references
- d.setId(accessPoint + /* "/"+currTime+ */"/" + i);
+ d.setId(accessPoint + i);
d.setMetadataIdRef(accessPoint);
-
}

// remove old lookup information if there is any
if (doRemove) {
- logger.info("[LS Registration] Remove old Lookup Info
("
- + metadataId + ")");
+ logger.info("Remove old Lookup Info (" + metadataId +
")");
int num = dao.removeLookupInfo(metadataId);
- logger.debug("[LS Registration] Removed [" + num + "]
old entries");
+ logger.debug("Removed [" + num + "] old entries");
}

// remove old Lookup Info as well - if update and
// there is lookup info with different key
if (doRemoveOldKey && (!keyValue.equals(metadataId))) {
logger
- .info("[LS Registration] Remove old
Lookup Info - other key ("
- + keyValue + ")");
+ .info("Remove old Lookup Info - other
key (" + keyValue
+ + ")");
int num = dao.removeLookupInfo(keyValue);
- logger.debug("[LS Registration] Removed [" + num + "]
old entries");
+ logger.debug("Removed [" + num + "] old entries");
}
- // register new lookup info
+
dao.putLookupInfo(requestMetadata, dataElements);

// some element was added, ChangesRecorder should be informed
about it
- ConfigurationManager cm = ConfigurationManager.getInstance();
- ModificationCounterComponent component =
(ModificationCounterComponent) cm
- .getConfiguration().getAuxiliaryComponent(
-
"modificationCounterComponent");
+ ModificationCounterComponent component =
getModificationCounterComponent();
component.increaseCounter();

- logger.info("[LS Registration] Put new Lookup Info (" +
metadataId
- + ") metadata + " + dataElements.length + "
data elements");
+ logger.info("Put new Lookup Info (" + metadataId + ")
metadata + "
+ + dataElements.length + " data elements");
// update control time - last modification
updateTime(metadataId);
- if (ttlParameterStatus.equals(LsTTLParameterStatus.ACCEPTED))
{
+ if
(getTtlParameterStatus().equals(LsTTLParameterStatus.ACCEPTED)) {
logger.info("ttl parameter set !");
updateTTL(metadataId, getClientTTL());
}
// get response with success code and key
serviceResponse.setElement(getLSRegisterResponse(metadataId));
- } // end performAction
+ }

-} // LSLookupAction
+ private ModificationCounterComponent getModificationCounterComponent()
+ throws PerfSONARException {
+ ConfigurationManager cm = ConfigurationManager.getInstance();
+ return (ModificationCounterComponent) cm.getConfiguration()
+
.getAuxiliaryComponent("modificationCounterComponent");
+ }
+
+}

Modified:
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/registerService/LSRegisterServiceHelper.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/registerService/LSRegisterServiceHelper.java
2009-12-08 13:06:37 UTC (rev 5384)
+++
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/registerService/LSRegisterServiceHelper.java
2009-12-08 15:04:37 UTC (rev 5385)
@@ -16,7 +16,6 @@
import org.perfsonar.base2.xml.nmwg.Parameters;
import org.perfsonar.base2.xml.nmwg.Subject;
import org.perfsonar.service.lookupservice.AbstractRegisterServiceEngine;
-import org.perfsonar.service.lookupservice.LSRegisterServiceEngine;
import org.perfsonar.service.lookupservice.registration.LsTTLParameterStatus;
import org.perfsonar.service.lookupservice.storage.LookupServiceDAO;
import org.perfsonar.service.lookupservice.storage.LookupServiceDAOFactory;
@@ -26,27 +25,32 @@
*
* Class consists methods which are used in LSRegisterServiceEngine
*
- * @author trzaszcz
+ * @author Slawomir Trzaszczka
*
*/
public abstract class LSRegisterServiceHelper extends
AbstractRegisterServiceEngine {

- protected static final Logger logger = Logger
- .getLogger(LSRegisterServiceEngine.class.getName());
+ private final Logger logger = Logger
+ .getLogger(LSRegisterServiceHelper.class);
+
private final static String MESSAGE_HANDLER = "LSRegisterRequest";

- protected LsTTLParameterStatus ttlParameterStatus =
LsTTLParameterStatus.NONE;
+ private LsTTLParameterStatus ttlParameterStatus =
LsTTLParameterStatus.NONE;
+
private final int[] ttlBound;
private long clientTTL;

protected LSRegisterServiceHelper() throws PerfSONARException {
super();
- // inits ttlBound
ttlBound = getTTLParameters(configuration
.getMessageHandler(MESSAGE_HANDLER));
}

+ protected boolean isBetweenTTLBound(long clientTTL) {
+ return clientTTL <= ttlBound[1] && clientTTL >= ttlBound[0];
+ }
+
/**
* Returns serviceType from metadata or throws PerfSONARException if
null or
* empty
@@ -58,20 +62,23 @@
*/
protected String getServiceType(Metadata requestMetadata)
throws PerfSONARException {
-
- String serviceType = null;
- try {
- serviceType =
requestMetadata.getSubject().getFirstChild("service")
-
.getFirstChild("serviceType").getText().trim();
- if (serviceType.equals(""))
- throw new RuntimeException("empty");
- } catch (RuntimeException e) {
- String m = "[LS Registration] No serviceType in
request - "
- + e.getMessage();
- logger.error(m);
- throw new
PerfSONARException("error.ls.no_service_type", m);
+ Subject subject = requestMetadata.getSubject();
+ if (subject != null) {
+ Element serviceElement =
subject.getFirstChild("service");
+ if (serviceElement != null) {
+ Element serviceTypeElement = serviceElement
+ .getFirstChild("serviceType");
+ if (serviceTypeElement != null) {
+ String serviceType =
serviceTypeElement.getText().trim();
+ if (!serviceType.isEmpty()) {
+ return serviceType;
+ }
+ }
+ }
}
- return serviceType;
+ String m = "[LS Registration] No serviceType or empty in
request";
+ logger.error(m);
+ throw new PerfSONARException("error/ls/no_service_type", m);
}

/**
@@ -85,23 +92,33 @@
*/
protected String getServiceName(Metadata requestMetadata)
throws PerfSONARException {
-
- String serviceName = null;
- try {
- serviceName =
requestMetadata.getSubject().getFirstChild("service")
-
.getFirstChild("serviceName").getText();
- serviceName = serviceName.trim();
- if (serviceName.equals(""))
- throw new RuntimeException("serviceName is
empty");
- } catch (RuntimeException e) {
- String m = "[LS Registration] No serviceName in
request - "
- + e.getMessage();
- logger.error(m);
- throw new
PerfSONARException("error.ls.no_service_name", m);
+ Subject subject = requestMetadata.getSubject();
+ if (subject != null) {
+ Element serviceElement =
subject.getFirstChild("service");
+ if (serviceElement != null) {
+ Element serviceNameElement = serviceElement
+ .getFirstChild("serviceName");
+ if (serviceNameElement != null) {
+ String serviceName =
serviceNameElement.getText();
+ if (!serviceName.isEmpty()) {
+ return serviceName;
+ }
+ }
+ }
}
- return serviceName;
+ String m = "No serviceName in request - ";
+ logger.error(m);
+ throw new PerfSONARException("error/ls/no_service_name", m);
}

+ protected LsTTLParameterStatus getTtlParameterStatus() {
+ return ttlParameterStatus;
+ }
+
+ protected void setTtlParameterStatus(LsTTLParameterStatus
ttlParameterStatus) {
+ this.ttlParameterStatus = ttlParameterStatus;
+ }
+
/**
*
* initiates lsTTL bounding parameters from configuration (minTTL and
maxTTL
@@ -121,14 +138,14 @@
if (strMinTTL != null && strMaxTTL != null) {
try {
result[0] = Integer.parseInt(strMinTTL);
- } catch (Exception ex) {
+ } catch (NumberFormatException ex) {
throw new PerfSONARException(
"incorrect value of minTTL
parameter", ex);
}

try {
result[1] = Integer.parseInt(strMaxTTL);
- } catch (Exception ex) {
+ } catch (NumberFormatException ex) {
throw new PerfSONARException(
"incorrect value of maxTTL
parameter ", ex);
}
@@ -137,7 +154,7 @@
throw new PerfSONARException(
" minTTL must be less then
maxTTL ");
}
-
+
return result;
} else if (strMinTTL != strMaxTTL) {
throw new PerfSONARException(
@@ -158,26 +175,25 @@
*/
protected String getAccessPoint(Metadata requestMetadata)
throws PerfSONARException {
- String accessPoint = null;
- try {

- accessPoint =
requestMetadata.getSubject().getFirstChild("service")
-
.getFirstChild("accessPoint").getText();
-
- accessPoint = accessPoint.trim(); // trim
-
- if (accessPoint.equals(""))
- throw new RuntimeException("accessPoint is
empty");
-
- } catch (RuntimeException e) {
- String m = "[LS Registration] No access_point in
request - "
- + e.getMessage();
- logger.error(m);
- throw new
PerfSONARException("error/ls/no_access_point", m);
+ Subject subject = requestMetadata.getSubject();
+ if (subject != null) {
+ Element serviceElement =
subject.getFirstChild("service");
+ if (serviceElement != null) {
+ Element accessPointElement = serviceElement
+ .getFirstChild("accessPoint");
+ if (accessPointElement != null) {
+ String accessPoint =
accessPointElement.getText().trim();
+ if (!accessPoint.isEmpty()) {
+ return accessPoint;
+ }
+ }
+ }
}

- return accessPoint;
-
+ String m = "No access_point in request";
+ logger.error(m);
+ throw new PerfSONARException("error/ls/no_access_point", m);
}

/**
@@ -188,7 +204,6 @@
* @throws PerfSONARException
*/
protected Data[] getDataElements(Message request) throws
PerfSONARException {
- try {
// Get all Data elements, suppose they all belong to
metadata
// (data map is created in the constructor of
Message, so
// NullPointerException won't be thrown!)
@@ -197,24 +212,15 @@
// if there is no data! -- to be discussed
// there should be at least ONE trigger -- to be
discussed
if (reqDataArr.size() < 1) {
- String m = "[LS Registration] "
- + "Request must have at least
one data element - trigger) ";
+ String m = "Request must have at least one
data element - trigger";
logger.error(m);
- throw new
PerfSONARException("error.ls.no_data_trigger", m);
+ throw new
PerfSONARException("error/ls/no_data_trigger", m);
}

// convert dataArr to Data[]
- Data[] dataElements = (Data[]) reqDataArr
- .toArray(new Data[reqDataArr.size()]);
+ Data[] dataElements = (Data[]) reqDataArr.toArray(new
Data[reqDataArr.size()]);

return dataElements;
-
- } catch (RuntimeException ex) {
- String m = "error during converting data elements: "
- + ex.getMessage();
- logger.warn(m);
- throw new
PerfSONARException("error.ls.no_data_trigger", m);
- }
}

/**
@@ -244,19 +250,18 @@
"registration.lsTTL.outOfBound",
params);
}

- StringBuffer sb=new StringBuffer();
-
+ StringBuffer sb = new StringBuffer();
+
sb.append("Data has been registered with key [");
sb.append(keyValue);
sb.append("]");
-
- if(ttlParameterStatus.equals(LsTTLParameterStatus.ACCEPTED)){
+
+ if (ttlParameterStatus.equals(LsTTLParameterStatus.ACCEPTED))
{
sb.append(" and lsTTL parameter [");
sb.append(clientTTL);
sb.append(" sec.]");
}
-
-
+
Message msg = ResultCodesUtil.generateResultMessage(null,
"success/ls/register", sb.toString());

@@ -268,9 +273,8 @@
Subject subject = new Subject();
subject.setMetadataIdRef(metadataId);
EventType eventType = new EventType();
- eventType
-
.setText(PerfSONARException.RESULT_CODE_PREFIX+"warning/ls/lsTTLParameter/"
- +
ttlParameterStatus);
+
eventType.setText(PerfSONARException.RESULT_CODE_PREFIX
+ +
"warning/ls/lsTTLParameter/" + ttlParameterStatus);

Data data = new Data();
Datum datum = new Datum();
@@ -297,7 +301,7 @@
}

protected long getLSTTLFromParametrs(Element parametersElement)
- throws Exception {
+ throws PerfSONARException {

for (Element child : parametersElement.getChildren()) {
if (child.getName().equals("parameter")
@@ -307,8 +311,8 @@
long lsTTL =
Long.parseLong(strElement);
return lsTTL;
} catch (NumberFormatException ex) {
- throw new
RuntimeException("lsTTLParameter +[" + strElement
- + "]+ incorrect
format");
+ throw new
PerfSONARException("lsTTLParameter +["
+ + strElement + "]+
incorrect format");
}
}
}
@@ -352,7 +356,7 @@
LookupServiceDAO dao = LookupServiceDAOFactory.getDAO();
dao.setControlParameter(metadataId, "lsTTL",
String.valueOf(lsTTL));
}
-
+
public long getClientTTL() {
return clientTTL;
}



  • perfsonar: r5385 - in branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice: . registerService, svnlog, 12/08/2009

Archive powered by MHonArc 2.6.16.

Top of Page