Skip to Content.
Sympa Menu

perfsonar-dev - [pS-dev] [GEANT/SA2/ps-java-services] r6484 - in trunk: . perfsonar-java-rrd-ma/soapUI perfsonar-jav a-rrd-ma/src/rpm perfsonar-java-sql-ma perfsonar-java-sql- ma/src/deb/control perfsonar-java-sql-ma/src/main/java/org /perfsonar/service/measurementArchive/sqlType perfsonar-ja va-sql-ma/src/main/resources/perfsonar/conf perfsonar-java -sql-ma/src/test/resources/perfsonar/conf perfsonar-java-x ml-ls/soapUI perfsonar-web-admin-0 perfsonar-web-admin-0/s rc perfsonar-web-admin-0/src/main perfsonar-web-admin-0/sr c/main/java perfsonar-web-admin-0/src/main/java/perfSONARW ebAdmin/admin/wizard perfsonar-web-admin-0/src/main/java/p erfSONARWebAdmin/admin/wizard/services perfsonar-web-admin -0/src/main/java/perfSONARWebAdmin/auxiliary/wizard perfso nar-web-admin-0/src/main/webapp perfsonar-web-admin-0/src/ test

Subject: perfsonar development work

List archive

[pS-dev] [GEANT/SA2/ps-java-services] r6484 - in trunk: . perfsonar-java-rrd-ma/soapUI perfsonar-jav a-rrd-ma/src/rpm perfsonar-java-sql-ma perfsonar-java-sql- ma/src/deb/control perfsonar-java-sql-ma/src/main/java/org /perfsonar/service/measurementArchive/sqlType perfsonar-ja va-sql-ma/src/main/resources/perfsonar/conf perfsonar-java -sql-ma/src/test/resources/perfsonar/conf perfsonar-java-x ml-ls/soapUI perfsonar-web-admin-0 perfsonar-web-admin-0/s rc perfsonar-web-admin-0/src/main perfsonar-web-admin-0/sr c/main/java perfsonar-web-admin-0/src/main/java/perfSONARW ebAdmin/admin/wizard perfsonar-web-admin-0/src/main/java/p erfSONARWebAdmin/admin/wizard/services perfsonar-web-admin -0/src/main/java/perfSONARWebAdmin/auxiliary/wizard perfso nar-web-admin-0/src/main/webapp perfsonar-web-admin-0/src/ test


Chronological Thread 
  • From:
  • To:
  • Subject: [pS-dev] [GEANT/SA2/ps-java-services] r6484 - in trunk: . perfsonar-java-rrd-ma/soapUI perfsonar-jav a-rrd-ma/src/rpm perfsonar-java-sql-ma perfsonar-java-sql- ma/src/deb/control perfsonar-java-sql-ma/src/main/java/org /perfsonar/service/measurementArchive/sqlType perfsonar-ja va-sql-ma/src/main/resources/perfsonar/conf perfsonar-java -sql-ma/src/test/resources/perfsonar/conf perfsonar-java-x ml-ls/soapUI perfsonar-web-admin-0 perfsonar-web-admin-0/s rc perfsonar-web-admin-0/src/main perfsonar-web-admin-0/sr c/main/java perfsonar-web-admin-0/src/main/java/perfSONARW ebAdmin/admin/wizard perfsonar-web-admin-0/src/main/java/p erfSONARWebAdmin/admin/wizard/services perfsonar-web-admin -0/src/main/java/perfSONARWebAdmin/auxiliary/wizard perfso nar-web-admin-0/src/main/webapp perfsonar-web-admin-0/src/ test
  • Date: Thu, 30 Jan 2014 22:42:23 +0000 (GMT)

Author: dante.delvaux
Date: 2014-01-30 22:42:23 +0000 (Thu, 30 Jan 2014)
New Revision: 6484

Added:
trunk/perfsonar-web-admin-0/pom.xml
trunk/perfsonar-web-admin-0/src/
trunk/perfsonar-web-admin-0/src/main/
trunk/perfsonar-web-admin-0/src/main/java/
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/
trunk/perfsonar-web-admin-0/src/main/resources/
trunk/perfsonar-web-admin-0/src/main/webapp/
trunk/perfsonar-web-admin-0/src/main/webapp/default.css
trunk/perfsonar-web-admin-0/src/main/webapp/graphics/
trunk/perfsonar-web-admin-0/src/main/webapp/index.jsp
trunk/perfsonar-web-admin-0/src/main/webapp/index_sqlma.jsp
trunk/perfsonar-web-admin-0/src/main/webapp/liveclock.js
trunk/perfsonar-web-admin-0/src/main/webapp/main.css
trunk/perfsonar-web-admin-0/src/main/webapp/partners.gif
trunk/perfsonar-web-admin-0/src/main/webapp/perfsonar.png
trunk/perfsonar-web-admin-0/src/main/webapp/perfsonar_logo.gif
trunk/perfsonar-web-admin-0/src/test/
trunk/perfsonar-web-admin-0/src/test/java/
Removed:

trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/exist-sqlma-database.xml
trunk/perfsonar-web-admin-0/ant/
trunk/perfsonar-web-admin-0/default.css
trunk/perfsonar-web-admin-0/graphics/
trunk/perfsonar-web-admin-0/index.jsp
trunk/perfsonar-web-admin-0/index_sqlma.jsp
trunk/perfsonar-web-admin-0/liveclock.js
trunk/perfsonar-web-admin-0/main.css
trunk/perfsonar-web-admin-0/partners.gif
trunk/perfsonar-web-admin-0/perfsonar.png
trunk/perfsonar-web-admin-0/perfsonar_logo.gif
Modified:

trunk/perfsonar-java-rrd-ma/soapUI/perfsonar-RRD-MA-base2-soapui-project.xml
trunk/perfsonar-java-rrd-ma/src/rpm/post
trunk/perfsonar-java-sql-ma/pom.xml
trunk/perfsonar-java-sql-ma/src/deb/control/postrm
trunk/perfsonar-java-sql-ma/src/deb/control/preinst

trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java

trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/service.properties

trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/wizard.properties

trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/service.properties

trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/wizard.properties
trunk/perfsonar-java-xml-ls/soapUI/perfsonar-LS-base2-soapui-project.xml
trunk/perfsonar-web-admin-0/

trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/Wizard.java

trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/services/RRDMAHandler.java

trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/HTMLOutput.java

trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/WizardProperties.java
trunk/pom.xml
Log:
web-admin-0:
- correcting bug ordering the wizard properties: PSSERVICES-698
- mavenizing the old web-admin and adding it to the aggregator
sqlma:
- minor imporvement to Debian package

Modified:
trunk/perfsonar-java-rrd-ma/soapUI/perfsonar-RRD-MA-base2-soapui-project.xml
===================================================================
---
trunk/perfsonar-java-rrd-ma/soapUI/perfsonar-RRD-MA-base2-soapui-project.xml
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-rrd-ma/soapUI/perfsonar-RRD-MA-base2-soapui-project.xml
2014-01-30 22:42:23 UTC (rev 6484)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<con:soapui-project activeEnvironment="Default" name="RRD MA Service"
resourceRoot="${projectDir}" soapui-version="4.6.1" abortOnError="false"
runType="SEQUENTIAL"
xmlns:con="http://eviware.com/soapui/config";><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.TestRunnerAction@values-local"><![CDATA[<xml-fragment
xmlns:con="http://eviware.com/soapui/config";>
+<con:soapui-project activeEnvironment="Default" name="RRD MA Service"
resourceRoot="${projectDir}" soapui-version="4.6.4" abortOnError="false"
runType="SEQUENTIAL"
xmlns:con="http://eviware.com/soapui/config";><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.TestRunnerAction@values-local"><![CDATA[<xml-fragment
xmlns:con="http://eviware.com/soapui/config";>
<con:entry key="Environment" value="Default"/>
<con:entry key="Global Properties" value=""/>
<con:entry key="TestSuite" value="&lt;all>"/>
@@ -87,7 +87,7 @@
<http:address
location="http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService.MeasurementArchiveServiceHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
-</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService.MeasurementArchiveServiceHttpSoap11Endpoint</con:endpoint><con:endpoint>http://rrdma:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="urn:message" name="message"
bindingOperationName="message" type="Request-Response" inputName=""
receivesAttachments="false" sendsAttachments="false"
anonymous="optional"><con:settings/><con:call name="Request 1" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@reques

t-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request>&lt;soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
+</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService.MeasurementArchiveServiceHttpSoap11Endpoint</con:endpoint><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="urn:message" name="message"
bindingOperationName="message" type="Request-Response" inputName=""
receivesAttachments="false" sendsAttachments="false"
anonymous="optional"><con:settings/><con:call name="Request 1" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@reques

t-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request>&lt;soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
&lt;soap:Header/>
&lt;soap:Body/>
&lt;/soap:Envelope></con:request><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508" action="urn:message"/><con:wsrmConfig
version="1.2"/></con:call></con:operation></con:interface><con:interface
xsi:type="con:WsdlInterface" wsaVersion="NONE"
name="MeasurementArchiveServiceSoap11Binding" type="wsdl"
bindingName="{http://service.perfsonar.org}MeasurementArchiveServiceSoap11Binding";
soapVersion="1_1" anonymous="optional"
definition="../../../../../../../Desktop/MeasurementArchiveService.xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:settings/><con:definitionCache
type="TEXT"
rootPart="file:/Users/antoine/Desktop/MeasurementArchiveService.xml"><con:part><con:url>file:/Users/antoine/Desktop/MeasurementArchiveService.xml</co
n:url><con:content><![CDATA[<wsdl:definitions
targetNamespace="http://service.perfsonar.org";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:axis2="http://service.perfsonar.org";
xmlns:ns1="http://org.apache.axis2/xsd";
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";>
@@ -148,7 +148,7 @@
<http:address
location="http://192.168.1.214:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService.MeasurementArchiveServiceHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
-</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://localhost:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://prod-rrd-ma.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="urn:message" name="message"
bindingOperationName="message" type="Request-Response" inputName=""
receivesAttachments="false" sendsAttachments="false"
anonymous="optional"><con:settings/><con:call name="Request 1" outgoingWss=""
incomingWss=""><con:settin

gs/><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request>&lt;soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
+</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://prod-rrd-ma.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma-new:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:endpoint>http://rrdma:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="urn:message" name="message"
bindingOperationName="message" type="Request-Response" inputName=""
receivesAttachments="false" sendsAttachments="false"
anonymous="optional"><con:settings/><con:call name="Request 1" outgoingWss=""
incomingWss=""><con:settin

gs/><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request>&lt;soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
&lt;soapenv:Header/>
&lt;soapenv:Body/>
&lt;/soapenv:Envelope></con:request><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508" action="urn:message"/><con:wsrmConfig
version="1.2"/></con:call></con:operation></con:interface><con:testSuite
name="Echo"><con:description>Echo Requests messages.
@@ -633,7 +633,7 @@
}

assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Echo
LoadTest"><con:settings/><con:threadCount>32</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>30</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step Status"/><c

on:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Malformed requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="275cddf0-d446-441f-b30e-f074d5288d23"><con:settings/><con:testStep
type="request" name="2.5.2.2.1 - No nmwg:data"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>MeasurementArchiveServiceSoap11Binding</con:inte
rface><con:operation>message</con:operation><con:request name="2.5.2.2.1 -
No nmwg:data" outgoingWss="" incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Echo LoadTest"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>32</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>30</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</co
n:type></con:loadStrategy><con:assertion type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Malformed requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="275cddf0-d446-441f-b30e-f074d5288d23"><con:settings/><con:testStep
type="request" name="2.5.2.2.1 - No nmwg:data"><con:settings/><con:config
xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/X

MLSchema-instance"><con:interface>MeasurementArchiveServiceSoap11Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.2.1 - No nmwg:data" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://rrdma-old:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
<soapenv:Header/>
<soapenv:Body>

@@ -1758,4 +1758,4 @@
declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilization/2.0';

-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data[@metadataIdRef="meta1"]/netutil:datum</path><content/><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties/><con:wssContainer/><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data[@metadataIdRef="meta1"]/netutil:datum</path><content/><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties/><con:wssContainer/><con:sensitiveInformation/></con:soapui-project>

Modified: trunk/perfsonar-java-rrd-ma/src/rpm/post
===================================================================
--- trunk/perfsonar-java-rrd-ma/src/rpm/post 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-java-rrd-ma/src/rpm/post 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,6 +1,7 @@
## make symlink for easy access to conf
%{__ln_s} -f %{prefix}/WEB-INF/classes/perfsonar/conf/*.xml
%{_sysconfdir}/%{name}
%{__ln_s} -f %{prefix}/WEB-INF/classes/perfsonar/conf/*.sql
%{_sysconfdir}/%{name}
+## Remove old name directories and configuration files
rm -rf /var/lib/tomcat6/webapps/geant2-java-rrd-ma || true
rm -rf %{_sysconfdir}/geant2-java-rrd-ma || true
rm -rf /usr/share/doc/geant2-java-rrd-ma || true

Modified: trunk/perfsonar-java-sql-ma/pom.xml
===================================================================
--- trunk/perfsonar-java-sql-ma/pom.xml 2014-01-24 15:22:05 UTC (rev 6483)
+++ trunk/perfsonar-java-sql-ma/pom.xml 2014-01-30 22:42:23 UTC (rev 6484)
@@ -102,7 +102,7 @@
<dependency>
<groupId>net.geant.perfsonar</groupId>
<artifactId>perfsonar-web-admin</artifactId>
- <version>0.9.3c</version>
+ <version>0.9.10-SNAPSHOT</version>
</dependency>

<dependency>

Modified: trunk/perfsonar-java-sql-ma/src/deb/control/postrm
===================================================================
--- trunk/perfsonar-java-sql-ma/src/deb/control/postrm 2014-01-24 15:22:05
UTC (rev 6483)
+++ trunk/perfsonar-java-sql-ma/src/deb/control/postrm 2014-01-30 22:42:23
UTC (rev 6484)
@@ -31,11 +31,10 @@
rm /etc/[[artifactId]]/exist-sqlma-db*.xml
# this was for versions up to 2.3.4 (name removed in 2.3.5):
rm /etc/[[artifactId]]/sql-database*.xml
- service tomcat6 start
;;

remove|failed-upgrade|abort-install|abort-upgrade|disappear)
- service tomcat6 start
+ service tomcat6 restart
;;

upgrade)

Modified: trunk/perfsonar-java-sql-ma/src/deb/control/preinst
===================================================================
--- trunk/perfsonar-java-sql-ma/src/deb/control/preinst 2014-01-24 15:22:05
UTC (rev 6483)
+++ trunk/perfsonar-java-sql-ma/src/deb/control/preinst 2014-01-30 22:42:23
UTC (rev 6484)
@@ -16,7 +16,6 @@

case "$1" in
install|upgrade)
- service tomcat6 stop
;;

abort-upgrade)

Modified:
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
===================================================================
---
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2014-01-30 22:42:23 UTC (rev 6484)
@@ -744,9 +744,7 @@
if (key == null) {
return generateResultCodeResponse(
ECHO_SELF_TEST_NAMESPACE + serviceType + "/" + serviceName +
"/" + testName + "/failure/1.0",
- "No key in data element with id='"
- + keyData.getId()
- + "' in the metadata configuration");
+ "No key in data element with id='" + keyData.getId() + "' in
the metadata configuration");
}

Metadata metadata = new Metadata();
@@ -768,8 +766,6 @@
return generateResultCodeResponse(
ECHO_SELF_TEST_NAMESPACE + serviceType + "/" + serviceName + "/"
+ testName + "/success/1.0",
CODE_RESPONSE_1);
-
- //return getData(dataRequest);
}



Deleted:
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/exist-sqlma-database.xml
===================================================================
---
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/exist-sqlma-database.xml
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/exist-sqlma-database.xml
2014-01-30 22:42:23 UTC (rev 6484)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<nmwg:store
- xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/";
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";
- xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/";
- xmlns:nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/";
- xmlns:nmtl2="http://ggf.org/ns/nmwg/topology/l2/3.0/";
- xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";
- xmlns:errors="http://ggf.org/ns/nmwg/characteristic/errors/2.0/";
- xmlns:discards="http://ggf.org/ns/nmwg/characteristic/discards/2.0/";
- xmlns:iperf="http://ggf.org/ns/nmwg/tools/iperf/2.0/";
- xmlns:ping="http://ggf.org/ns/nmwg/tools/ping/2.0/";
- xmlns:owamp="http://ggf.org/ns/nmwg/tools/owamp/2.0/";
- xmlns="http://ggf.org/ns/nmwg/base/2.0/";>
-
-<!-- Start with an empty store that can holds anything -->
-
-</nmwg:store>
\ No newline at end of file

Modified:
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/service.properties
===================================================================
---
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/service.properties
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/service.properties
2014-01-30 22:42:23 UTC (rev 6484)
@@ -1,11 +1,4 @@
-
-
-# this template file is prepared for the releases with web admin stuff and
packaged in rpm form
-# $Id$
-# romradz
-
-
-
+# This is the SQL MA configuration file prepared for production use
#
-----------------------------------------------------------------------------------------------
# Configuration of the internal implementation structures

@@ -114,7 +107,7 @@

# Group=LS
# Description=The description of the service.
-service.r.service_description=perfSONAR service
+service.r.service_description=perfSONAR SQL MA service

# Group=LS
# Description=The time (seconds) between register requests to the LS service
(default value is 43200 secs; 12 hours).

Modified:
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/wizard.properties
===================================================================
---
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/wizard.properties
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/wizard.properties
2014-01-30 22:42:23 UTC (rev 6484)
@@ -15,6 +15,7 @@
<!ATTLIST Group
order CDATA #REQUIRED
check (true|false) #IMPLIED
+ dependsOn CDATA #IMPLIED
>
<!ELEMENT AcceptedValue (#PCDATA) >
]>
@@ -22,11 +23,8 @@

<properties>

-
<comment>$Id$</comment>

-
-
<property>
<entry key="component.ma.xmldb.db_uri"
required="true">xmldb:exist://localhost:8080/exist/xmlrpc</entry>
<Comment>Enter the URI location of the eXist database:</Comment>

Modified:
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/service.properties
===================================================================
---
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/service.properties
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/service.properties
2014-01-30 22:42:23 UTC (rev 6484)
@@ -1,11 +1,4 @@
-
-
-# this template file is prepared for the releases with web admin stuff and
packaged in rpm form
-# $Id$
-# romradz
-
-
-
+# This is the SQL MA configuration file prepared for development and testing
use
#
-----------------------------------------------------------------------------------------------
# Configuration of the internal implementation structures

@@ -114,7 +107,7 @@

# Group=LS
# Description=The description of the service.
-service.r.service_description=perfSONAR service
+service.r.service_description=perfSONAR SQL MA service

# Group=LS
# Description=The time (seconds) between register requests to the LS service
(default value is 43200 secs; 12 hours).

Modified:
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/wizard.properties
===================================================================
---
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/wizard.properties
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/wizard.properties
2014-01-30 22:42:23 UTC (rev 6484)
@@ -15,6 +15,7 @@
<!ATTLIST Group
order CDATA #REQUIRED
check (true|false) #IMPLIED
+ dependsOn CDATA #IMPLIED
>
<!ELEMENT AcceptedValue (#PCDATA) >
]>
@@ -65,9 +66,9 @@
</property>

<property>
- <entry key="service.ma.conf_file"
required="true">/etc/${artifactId}/exist-sqlma-db_TEST.xml</entry>
+ <entry key="service.ma.conf_file"
required="true">${artifactId}/src/test/resources/perfsonar/conf/exist-sqlma-db_TEST.xml</entry>
<Comment>Enter the full path of the metadata configuration
file:</Comment>
-
<ProposedValue>perfsonar-java-sql-ma/src/main/resources/perfsonar/conf/exist-sqlma-db_TEST.xml</ProposedValue>
+
<ProposedValue>perfsonar-java-sql-ma/src/test/resources/perfsonar/conf/exist-sqlma-db_TEST.xml</ProposedValue>
<Group order="6">eXist</Group>
</property>


Modified:
trunk/perfsonar-java-xml-ls/soapUI/perfsonar-LS-base2-soapui-project.xml
===================================================================
--- trunk/perfsonar-java-xml-ls/soapUI/perfsonar-LS-base2-soapui-project.xml
2014-01-24 15:22:05 UTC (rev 6483)
+++ trunk/perfsonar-java-xml-ls/soapUI/perfsonar-LS-base2-soapui-project.xml
2014-01-30 22:42:23 UTC (rev 6484)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<con:soapui-project name="Lookup Service" resourceRoot="${projectDir}"
soapui-version="4.6.1" abortOnError="false" runType="SEQUENTIAL"
defaultScriptLanguage="Groovy" activeEnvironment="Default"
xmlns:con="http://eviware.com/soapui/config";><con:description>Full
functionnal test suite for the perfSONAR Lookup Service.
+<con:soapui-project name="Lookup Service" resourceRoot="${projectDir}"
soapui-version="4.6.4" abortOnError="false" runType="SEQUENTIAL"
defaultScriptLanguage="Groovy" activeEnvironment="Default"
xmlns:con="http://eviware.com/soapui/config";><con:description>Full
functionnal test suite for the perfSONAR Lookup Service.

This test suite targets any LS implementation. Currently, some exceptions
are made in the test cases when the behavior of GEANT and Internet2 services
differ.

@@ -115,7 +115,7 @@
<http:address
location="http://150.254.149.195:8080/perfsonar-java-xml-ls/services/LookupService.LookupServiceHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
-</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://150.254.149.194:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ndb1.internet2.edu:9991/perfSONAR_PS/services/gLS</con:endpoint><con:endpoint>http://localhost:8180/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://150.140.8.15:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://150.140.8.58:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls:8180/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls.sonar.net.switch.ch:8180/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://psls:9995/perfSONAR_PS/services/hLS</con:endpoint><con:endpoint
>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls.perfsonar.pionier.net.pl:9990/perfSONAR_PS/services/gLS</con:endpoint><con:endpoint>http://ps1.es.net:9990/perfSONAR_PS/services/gLS</con:endpoint></con:endpoints><con:operation
> isOneWay="false" action="urn:message" name="message"
>bindingOperationName="message" type="Request-Response" inputName=""
>receivesAttachments="false" sendsAttachments="false" anonymous="optional"
>id="a31dafe9-07ce-48f6-a8b6-f30ba72fa8b8"><con:settings/><con:call
>name="discovery" outgoingWss="" incomingWss=""
>id="aa5c6df3-469a-4fb9-8dc8-ae2d02be6eef"><con:settings><con:setting
>id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope
/" xmlns:axis="http://axis2interface.service.base2.perfsonar.org";>
+</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://150.140.8.15:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://150.140.8.58:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://150.254.149.194:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://localhost:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://localhost:8180/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls.perfsonar.pionier.net.pl:9990/perfSONAR_PS/services/gLS</con:endpoint><con:endpoint>http://ls.sonar.net.switch.ch:8180/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:endpoint>http://ls:8180/perfsonar-java-xml-ls/services/LookupServi

ce</con:endpoint><con:endpoint>http://ndb1.internet2.edu:9991/perfSONAR_PS/services/gLS</con:endpoint><con:endpoint>http://ps1.es.net:9990/perfSONAR_PS/services/gLS</con:endpoint><con:endpoint>http://psls:9995/perfSONAR_PS/services/hLS</con:endpoint></con:endpoints><con:operation
isOneWay="false" action="urn:message" name="message"
bindingOperationName="message" type="Request-Response" inputName=""
receivesAttachments="false" sendsAttachments="false" anonymous="optional"
id="a31dafe9-07ce-48f6-a8b6-f30ba72fa8b8"><con:settings/><con:call
name="discovery" outgoingWss="" incomingWss=""
id="aa5c6df3-469a-4fb9-8dc8-ae2d02be6eef"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope
/" xmlns:axis="http://axis2interface.service.base2.perfsonar.org";>
<soapenv:Header/>
<soapenv:Body>

@@ -295,7 +295,793 @@
log.info("DB initialized")
}
}
-</script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="Registration"
id="18698594-68e0-4f8b-9e8c-028a8c752e78"><con:description>Test Suite for
registration requests. The tests are divided as follows:
+</script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="Echo" id="737cc852-3a97-439e-a52e-416664706e62"><con:description>Echo
Requests messages. GEANT service support DBConnection and DBSchema tests,
but I2 services don't.
+
+The invalid data request actually gives no errored result... not sure it is
intended.</con:description><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="true"
maxResults="0" name="Correct requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="6a908806-14bd-43c0-a930-c286101f7e67" amfAuthorisation="false"
amfEndpoint="" amfLogin=""
amfPassword=""><con:description/><con:settings/><con:testStep type="request"
name="2.5.2.1.1 - Echo Request"
id="788efbc0-de8e-47de-adc7-99b16fdaf4e4"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.1 - Echo Request" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">fal
se</con:setting><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls.perfsonar.pionier.net.pl:9990/perfSONAR_PS/services/gLS</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="5b84a67a-0f7f-42cf-baca-d600fbcaafc8"/><con:assertion type="SOAP Fault
Assertion" id="ec191b3d-a630-4a0c-ae6a-0f68281b08db"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="e437a626-29fd-4e51-b83e-3a75a317a894"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="bb5443c6-a818-401e-a13c-005eb8a854a0"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>success.echo</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests"
id="1e330e3d-e12b-48e3-b355-86d752a4e522"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
service</con:name><con:type>XPATH</con:type><con:expression>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0
/';
+declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
+declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
+declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+
+exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>Empty (keep for I2
switch)</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.2 - Selftest DBConnection yes"
id="aafa6fb0-065a-4b09-8838-164530d29505"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.2 - Selftest DBConnection yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xml
ns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="985e9db8-9966-4633-ace1-9d2b2637a0b2"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.3 - Selftest DBConnection true"
id="a3430915-d0c4-405a-9538-c53f8cb599e1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.3 - Selftest DBConnection true" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting


id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="true"/>
+
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="37d70fe9-6ad2-4921-8e2f-2997bd455bd2"/><con:assertion type="SOAP Fault
Assertion" id="e5d89c4a-04c8-427e-a9e6-c798756b4c0d"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="060124e0-f949-42ad-b421-46298d24767a"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="dc151818-d58c-48fb-b9a2-fcc2667e73c1"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.4 - Selftest DBConnection test"
id="901d3d5b-399c-49ba-8602-4b2ebcdb9a89"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.4 - Selftest DBConnection test" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting


id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="test"/>
+
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="70a03d23-c653-4341-a51e-48f585634534"/><con:assertion type="SOAP Fault
Assertion" id="04167252-5340-4ab0-9c7d-29b8f0fbb031"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="cdf67b9e-8613-4e37-a005-b9e4acc642d5"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="75d8ccfe-24cb-4ffb-95f5-04eb49a0bd13"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.5 - Selftest DBSchema true"
id="3a1cba9a-9edd-4b9b-a686-b7201e41bda1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.5 - Selftest DBSchema true" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.

eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+
+ <nmwg:parameter name="testDBSchema" value="true"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="cd4d7983-b208-46c8-809b-a27b9aadbfbd"/><con:assertion type="SOAP Fault
Assertion" id="1910d792-0b05-4a9e-9ab8-d9aae9beff05"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="3a4b7e30-21f7-41bf-bf71-df4046862337"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="c1efcf39-545a-466e-998e-74900712e1aa"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.6 - Selftest DBSchema test"
id="f27ad163-7f2c-4d6e-9237-6115ed7669db"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.6 - Selftest DBSchema test" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.

eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+
+ <nmwg:parameter name="testDBSchema" value="test"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="d5a7583e-0ce5-4f3e-8239-09d8fd17fab5"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.7 - Selftest DBSchema yes"
id="5b71f839-343f-4a8f-acb3-e6b10b7c4e8e"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.7 - Selftest DBSchema yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.ev

iware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="3ea2e7c7-4269-4f81-b608-2adaa7be1611"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.8 - Selftest DBConnectionSchema yes"
id="3a244db1-589d-48dd-9a9e-a2524128dba1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.8 - Selftest DBConnectionSchema yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><co
n:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="079d8ef6-6bd5-4f8e-9b71-a3dd63da64d8"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes >= 1
+assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="properties" name="Empty (keep for I2 switch)"
id="bd69edb1-08a7-4184-8fd6-0095d3d76301"><con:settings/><con:config
xsi:type="con:PropertiesStep" saveFirst="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:properties/></con:config></con:testStep><con:loadTest
name="Echo LoadTest"
id="e5a889b1-7125-4aac-a5bd-c6e5e331be0a"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>32</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInter

val>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>30</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="
0" name="Malformed Requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="43f43874-cc59-4e93-9fa9-5fe0fc90d8e1"><con:settings/><con:testStep
type="request" name="2.5.2.2.1 - No nmwg:data"
id="b568eef6-931b-4b3f-84ba-680b4d824467"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.2.1 - No nmwg:data" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schem
as.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
+ <nmwg:parameters>
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="7833886c-96da-4c6d-a3d2-b2395adf4646"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.2 - No nmwg:metadata"
id="5fbf1713-8d3c-4296-81c2-7048c8ef533b"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:
operation>message</con:operation><con:request name="2.5.2.2.2 - No
nmwg:metadata" outgoingWss="" incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="d93dd60a-3a94-47d6-b17f-a1f726c0e658"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.3 - Bad message type"
id="77b97a80-505d-413c-b709-2f8cb1b4af5e"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:
operation>message</con:operation><con:request name="2.5.2.2.3 - Bad message
type" outgoingWss="" incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="BadMsgType" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
+ <nmwg:parameters>
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="data" metadataIdRef="meta"/>
+
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="140543a0-92b9-4866-854c-89d262b362b4"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error(/message_type_not_support|\.common\.action_not_supported)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests"
id="566725d7-2e7c-4e74-a7e3-9892a5f59a20"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
Service</con:name><con:type>XPATH</con:type><con:e
xpression>declare namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
+declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
+declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+
+exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>2.5.2.2.5 - Selftest No
metadata/data
pair</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.4 - Bad eventType"
id="124f8631-f064-415e-a73b-1db0ad1b372c"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.2.4 - Bad eventType" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soape
nv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/badecho/2.0</nmwg:eventType>
+ <nmwg:parameters>
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+ </nmwg:parameters>
+ </nmwg:metadata>
+ <nmwg:data id="data" metadataIdRef="meta"/>
+
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="b59b742e-2c1f-45b4-8ef6-db39c9d86ea1"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.event(_)?type_not_supported')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.5 - Selftest No metadata/data pair"
id="d5e88f0c-b8da-421d-8cb4-39276a9d1280"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface>
<con:operation>message</con:operation><con:request name="2.5.2.2.5 -
Selftest No metadata/data pair" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="yes"/>
+ <nmwg:parameter name="testDBSchema" value="yes"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+<!-- Bad metadataIdRef -->
+ <nmwg:data id="data" metadataIdRef="badref"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="4c142869-329e-40d5-b388-7cb0dfa594b4"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="2c2b6ef9-e7ed-4a85-a1d0-dbbb789e6f59"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Invalid data" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="695bccb0-a8e3-46c8-924a-a3cd89dc7ac4"
><con:settings/><con:testStep type="request" name="2.5.2.3.0 - Echo Request"
>id="f734734f-e48c-470d-b5b5-9ef63ccf2533"><con:settings/><con:config
>xsi:type="con:RequestStep"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
> name="2.5.2.3.0 - Echo Request" outgoingWss=""
>incomingWss=""><con:settings><con:setting
>id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
>
>id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="5b84a67a-0f7f-42cf-baca-d600fbcaafc8"/><con:assertion type="SOAP Fault
Assertion" id="ec191b3d-a630-4a0c-ae6a-0f68281b08db"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="e437a626-29fd-4e51-b83e-3a75a317a894"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"
id="9455b753-c37c-4ec7-8285-2ce190dbcbb7"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
+declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+
+/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>success.echo</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests" disabled="true"
id="2c980056-da4d-4277-b76b-b9cde663747d"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
Service</con:name><con:type>XPATH</con:type><con:expression>declare
namespace nmwgr='http://ggf.org/ns
/nmwg/result/2.0/';
+declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
+declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
+declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
+declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
+declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
+
+exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>Empty (keep for I2
switch)</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.1 - Selftest bad DBSchema !" disabled="true"
id="5f692ecb-7256-42b0-ae08-bb1bccbb960e"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.1 - Selftest bad DBSchema !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:
Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+<!-- Bad parameter -->
+ <nmwg:parameter name="testDBSchema"
value="fdqs">fqfdsq</nmwg:parameter>
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="007d8070-fa68-44af-b169-190a7260d78e"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes == 0
+assert noOfbadEventTypes >=
1</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.2 - Selftest bad DBConnection !" disabled="true"
id="2a1bed96-b388-4e74-a88e-be8daacef771"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.2 - Selftest bad DBConnection !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:set
ting><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="testDBConnection" value="bad"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="12c8e244-bc57-40d6-b1fc-cc198bfc3356"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes == 0
+assert noOfbadEventTypes >
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.3 - Selftest bad parameter !" disabled="true"
id="71849506-aec2-4cbe-97c2-9640dc7e4080"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.3 - Selftest bad parameter !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><c
on:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+ <soapenv:Header/>
+ <soapenv:Body>
+
+<nmwg:message type="EchoRequest"
+ id="msg1"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
+
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ <nmwg:parameters>
+
+ <nmwg:parameter name="badTest" value="yes"/>
+
+ </nmwg:parameters>
+ </nmwg:metadata>
+
+ <nmwg:data id="data" metadataIdRef="meta"/>
+</nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="ccdd7f02-51b0-4f26-9efa-a2cfc00fe5b7"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
+def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+// Get NMWG message and RNG grammar for validation
+def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
+def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
+
+assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
+</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
+
+def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
+def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
+holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
+holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
+
+def noOfcorrectEventTypes = 0
+def noOfbadEventTypes = 0
+
+def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
+eventTypes.each{
+ if(it.getValueAsString().contains("success.ls")){
+ noOfcorrectEventTypes++
+ } else {
+ noOfbadEventTypes++
+ }
+}
+
+assert noOfcorrectEventTypes == 0
+assert noOfbadEventTypes >
1</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="properties" name="Empty (keep for I2 switch)" disabled="true"
id="3cc826e9-2c47-4a4b-b29a-d11ab899946b"><con:settings/><con:config
xsi:type="con:PropertiesStep" saveFirst="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:properties/></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="Registration"
id="18698594-68e0-4f8b-9e8c-028a8c752e78"><con:description>Test Suite for
registration requests. The tests are divided as follows:
- Generic Single Registration request
- Generic Double Registration request (2 services in a single message)
- Various tests using those generic single and double registration test
steps:
@@ -824,11 +1610,11 @@
// Check that the description also matches the key
def data =
ResponseHolder.getDomNode('/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data[@metadataIdRef="'+metadataIdRef+'"]')
assert data.toString().contains(lsKey)
-</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Simple Registration Empty DB"
id="3058398c-9d2e-4743-80ff-6999a6fb4ca7"><con:settings/><con:threadCount>10</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><random
Factor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
+</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Simple Registration Empty DB"
id="3058398c-9d2e-4743-80ff-6999a6fb4ca7"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>10</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:load

Strategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><randomFactor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
def tc = loadTestRunner.loadTest.testCase
def initscript =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initscript.run(null, false)
-</con:setupScript><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:loadTest
name="Simple Registration Existing DB"
id="305ed745-49c1-427a-8d6b-250f2ec1a210"><con:settings/><con:threadCount>10</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><randomFactor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
We don't initialis
e the DB in this
one</con:setupScript></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Malformed Requests - 2.1.2.2" searchProperties="true"
id="0697fd4c-a651-46e8-97a8-2a5c2cb6a0fa" timeout="0" wsrmEnabled="false"
wsrmVersion="1.0" wsrmAckTo=""><con:settings/><con:testStep type="request"
name="2.1.2.2.1 - S-Reg - Bad nmwg NS"
id="ade0a0dc-2ba2-4394-a3ee-d2a57fdadc11"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.1.2.2.1 - S-Reg - Bad nmwg NS" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con

:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<!--
Single Service registration with data -->
+</con:setupScript><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:loadTest
name="Simple Registration Existing DB"
id="305ed745-49c1-427a-8d6b-250f2ec1a210"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>10</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><randomFactor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con
:strategyInterval>500</con:strategyInterval><con:setupScript>// We don't
initialise the DB in this
one</con:setupScript></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Malformed Requests - 2.1.2.2" searchProperties="true"
id="0697fd4c-a651-46e8-97a8-2a5c2cb6a0fa" timeout="0" wsrmEnabled="false"
wsrmVersion="1.0" wsrmAckTo=""><con:settings/><con:testStep type="request"
name="2.1.2.2.1 - S-Reg - Bad nmwg NS"
id="ade0a0dc-2ba2-4394-a3ee-d2a57fdadc11"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.1.2.2.1 - S-Reg - Bad nmwg NS" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.eviware.s

oapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<!--
Single Service registration with data -->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
<soapenv:Header/>
<soapenv:Body>
@@ -2090,7 +2876,7 @@
ResultCodeDesc =
ResponseHolder.getNodeValue('/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data[@metadataIdRef="'+idRef+'"]/nmwgr:datum')
assert ResultCodeDesc.contains(key)
}
-</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Reg-Dereg Empty DB"
id="b2219f28-c69c-4e89-99b9-7e7b5f32817e"><con:settings/><con:threadCount>5</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name
="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
+</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Reg-Dereg Empty DB"
id="b2219f28-c69c-4e89-99b9-7e7b5f32817e"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>5</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><c
on:type>Simple</con:type></con:loadStrategy><con:assertion type="Step
Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
def tc = loadTestRunner.loadTest.testCase
def initscript =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initscript.run(null, false)
@@ -3470,7 +4256,7 @@
declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';

-count(/soapenv:Envelope//perfsonar:subject)</path><content>0</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Registrations and
queries"><con:settings/><con:threadCount>20</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLim

it>60</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><randomFactor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
+count(/soapenv:Envelope//perfsonar:subject)</path><content>0</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:loadTest
name="Registrations and queries"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>20</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:rese

tStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>60</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>1000</testDelay><randomFactor>0.5</randomFactor></con:config></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
def tc = loadTestRunner.loadTest.testCase
def initscript =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initscript.run(null, false)
@@ -4307,793 +5093,7 @@

count(/soapenv:Envelope//perfsonar:subject)</path><content>0</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/><con:setupScript>//
Init an empty DB
def initscript =
testSuite.getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initscript.run(null, false)
-</con:setupScript></con:testSuite><con:testSuite name="Echo"
id="737cc852-3a97-439e-a52e-416664706e62"><con:description>Echo Requests
messages. GEANT service support DBConnection and DBSchema tests, but I2
services don't.
-
-The invalid data request actually gives no errored result... not sure it is
intended.</con:description><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="true"
maxResults="0" name="Correct requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="6a908806-14bd-43c0-a930-c286101f7e67" amfAuthorisation="false"
amfEndpoint="" amfLogin=""
amfPassword=""><con:description/><con:settings/><con:testStep type="request"
name="2.5.2.1.1 - Echo Request"
id="788efbc0-de8e-47de-adc7-99b16fdaf4e4"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.1 - Echo Request" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">fal
se</con:setting><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls.perfsonar.pionier.net.pl:9990/perfSONAR_PS/services/gLS</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="5b84a67a-0f7f-42cf-baca-d600fbcaafc8"/><con:assertion type="SOAP Fault
Assertion" id="ec191b3d-a630-4a0c-ae6a-0f68281b08db"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="e437a626-29fd-4e51-b83e-3a75a317a894"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>success.echo</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
service</con:name><con:type>XPATH</con:type><con:expression>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
-declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
-declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-
-exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>Empty (keep for I2
switch)</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.2 - Selftest DBConnection yes"
id="aafa6fb0-065a-4b09-8838-164530d29505"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.2 - Selftest DBConnection yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xml
ns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="yes"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.3 - Selftest DBConnection true"
id="a3430915-d0c4-405a-9538-c53f8cb599e1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.3 - Selftest DBConnection true" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting


id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="true"/>
-
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="37d70fe9-6ad2-4921-8e2f-2997bd455bd2"/><con:assertion type="SOAP Fault
Assertion" id="e5d89c4a-04c8-427e-a9e6-c798756b4c0d"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="dc151818-d58c-48fb-b9a2-fcc2667e73c1"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.4 - Selftest DBConnection test"
id="901d3d5b-399c-49ba-8602-4b2ebcdb9a89"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.4 - Selftest DBConnection test" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting


id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="test"/>
-
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="70a03d23-c653-4341-a51e-48f585634534"/><con:assertion type="SOAP Fault
Assertion" id="04167252-5340-4ab0-9c7d-29b8f0fbb031"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="75d8ccfe-24cb-4ffb-95f5-04eb49a0bd13"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.5 - Selftest DBSchema true"
id="3a1cba9a-9edd-4b9b-a686-b7201e41bda1"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.5 - Selftest DBSchema true" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.

eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
-
- <nmwg:parameter name="testDBSchema" value="true"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="cd4d7983-b208-46c8-809b-a27b9aadbfbd"/><con:assertion type="SOAP Fault
Assertion" id="1910d792-0b05-4a9e-9ab8-d9aae9beff05"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="c1efcf39-545a-466e-998e-74900712e1aa"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.6 - Selftest DBSchema test"
id="f27ad163-7f2c-4d6e-9237-6115ed7669db"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.6 - Selftest DBSchema test" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.

eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
-
- <nmwg:parameter name="testDBSchema" value="test"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.7 - Selftest DBSchema
yes"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.7 - Selftest DBSchema yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request

-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
-
- <nmwg:parameter name="testDBSchema" value="yes"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.1.8 - Selftest DBConnectionSchema
yes"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.1.8 - Selftest DBConnectionSchema yes" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.eviware.soapui.impl.wsdl

.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="yes"/>
- <nmwg:parameter name="testDBSchema" value="yes"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes >= 1
-assert noOfbadEventTypes ==
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="properties" name="Empty (keep for I2
switch)"><con:settings/><con:config xsi:type="con:PropertiesStep"
saveFirst="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:properties/></con:config></con:testStep><con:loadTest
name="Echo LoadTest"
id="e5a889b1-7125-4aac-a5bd-c6e5e331be0a"><con:settings/><con:threadCount>32</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCou

ntChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>30</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:statisticsLogFolder/><con:statisticsLogInterval>0</con:statisticsLogInterval><con:logStatisticsOnThreadChange>false</con:logStatisticsOnThreadChange><con:cancelOnReachedLimit>false</con:cancelOnReachedLimit><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:updateStatisticsPerTestStep>false</con:updateStatisticsPerTestStep></con:loadTest><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Malformed Requests" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" id="43f4
3874-cc59-4e93-9fa9-5fe0fc90d8e1"><con:settings/><con:testStep
type="request" name="2.5.2.2.1 - No nmwg:data"
id="b568eef6-931b-4b3f-84ba-680b4d824467"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.2.1 - No nmwg:data" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
- <nmwg:parameters>
- <nmwg:parameter name="testDBConnection" value="yes"/>
- <nmwg:parameter name="testDBSchema" value="yes"/>
- </nmwg:parameters>
- </nmwg:metadata>
-
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.2 - No nmwg:metadata"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:requ
est name="2.5.2.2.2 - No nmwg:metadata" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.3 - Bad message type"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:requ
est name="2.5.2.2.3 - Bad message type" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="BadMsgType" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
- <nmwg:parameters>
- <nmwg:parameter name="testDBConnection" value="yes"/>
- <nmwg:parameter name="testDBSchema" value="yes"/>
- </nmwg:parameters>
- </nmwg:metadata>
- <nmwg:data id="data" metadataIdRef="meta"/>
-
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error(/message_type_not_support|\.common\.action_not_supported)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
Service</con:name><con:type>XPATH</con:type><con:expression>declare
namespace nmwgr='http://
ggf.org/ns/nmwg/result/2.0/';
-declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
-declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
-declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-
-exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>2.5.2.2.5 - Selftest No
metadata/data
pair</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.4 - Bad eventType"><con:settings/><con:config
xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.2.4 - Bad eventType" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelo
pe/" xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/badecho/2.0</nmwg:eventType>
- <nmwg:parameters>
- <nmwg:parameter name="testDBConnection" value="yes"/>
- <nmwg:parameter name="testDBSchema" value="yes"/>
- </nmwg:parameters>
- </nmwg:metadata>
- <nmwg:data id="data" metadataIdRef="meta"/>
-
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="83bc93d9-6d52-4f16-8850-9130e6ad348e"/><con:assertion type="SOAP Fault
Assertion" id="a1e43c7c-380d-42b6-b106-d8d766c71016"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="dd06dcad-ea60-4a22-89ee-9e43afaff5f3"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.event(_)?type_not_supported')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.2.5 - Selftest No metadata/data
pair"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con
:request name="2.5.2.2.5 - Selftest No metadata/data pair" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="yes"/>
- <nmwg:parameter name="testDBSchema" value="yes"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
-<!-- Bad metadataIdRef -->
- <nmwg:data id="data" metadataIdRef="badref"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-matches(/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType,

'error\.(common|ls)\.(data_trigger|no_metadata_data_pair)')</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Invalid data" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="695bccb0-a8e3-46c8-924a-a3cd89dc7ac4"
><con:settings/><con:testStep type="request" name="2.5.2.3.0 - Echo
>Request"><con:settings/><con:config xsi:type="con:RequestStep"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
> name="2.5.2.3.0 - Echo Request" outgoingWss=""
>incomingWss=""><con:settings><con:setting
>id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
>
>id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/2.0</nmwg:eventType>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="5b84a67a-0f7f-42cf-baca-d600fbcaafc8"/><con:assertion type="SOAP Fault
Assertion" id="ec191b3d-a630-4a0c-ae6a-0f68281b08db"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Schema"
id="e437a626-29fd-4e51-b83e-3a75a317a894"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion type="XPath
Match" name="XPath Match - Result Code"><con:configuration><path>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-
-/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:metadata/nmwg:eventType</path><content>success.echo</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="goto" name="No I2 tests" disabled="true"><con:settings/><con:config
xsi:type="con:GotoStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:condition><con:name>I2
Service</con:name><con:type>XPATH</con:type><con:expression>declare
namespace nmwgr='http://ggf.org/ns/nmwg/result/2.0/';
-declare namespace
netutil='http://ggf.org/ns/nmwg/characteristic/utilisation/2.0/';
-declare namespace
psservice='http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/';
-declare namespace nmwg='http://ggf.org/ns/nmwg/base/2.0/';
-declare namespace SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/';
-declare namespace
perfsonar='http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/';
-declare namespace nmwgt='http://ggf.org/ns/nmwg/topology/2.0/';
-
-exists(//nmwg:message[starts-with(@id,
"message")])</con:expression><con:targetStep>Empty (keep for I2
switch)</con:targetStep></con:condition></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.1 - Selftest bad DBSchema !"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.1 - Selftest bad DBSchema !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting

id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xml
soap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest" id="msg1"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-<!-- Bad parameter -->
- <nmwg:parameter name="testDBSchema"
value="fdqs">fqfdsq</nmwg:parameter>
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="669decd1-ba65-42f4-bf41-07b8d52f7ae6"/><con:assertion type="SOAP Fault
Assertion" id="2d45d3d4-6660-4368-9af8-250b62546b54"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="8800d0a0-93b7-456c-8790-50abaa4afb2f"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes == 0
-assert noOfbadEventTypes >=
1</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.2 - Selftest bad DBConnection !"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.2 - Selftest bad DBConnection !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.eviware.soapui.i

mpl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="testDBConnection" value="bad"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes == 0
-assert noOfbadEventTypes >
0</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="2.5.2.3.3 - Selftest bad parameter !"
disabled="true"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:interface>LookupServiceSoap12Binding</con:interface><con:operation>message</con:operation><con:request
name="2.5.2.3.3 - Selftest bad parameter !" outgoingWss=""
incomingWss=""><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@inline-response-attachments">false</con:setting><con:setting
id="com.eviware.soapui.impl.wsd

l.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://ls-1-6:8080/perfsonar-java-xml-ls/services/LookupService</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
- <soapenv:Header/>
- <soapenv:Body>
-
-<nmwg:message type="EchoRequest"
- id="msg1"
- xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
-
- <nmwg:metadata id="meta">
-
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
- <nmwg:parameters>
-
- <nmwg:parameter name="badTest" value="yes"/>
-
- </nmwg:parameters>
- </nmwg:metadata>
-
- <nmwg:data id="data" metadataIdRef="meta"/>
-</nmwg:message>
-
- </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"
id="f7619e7d-780d-4a07-89a6-8b46a9ab9723"/><con:assertion type="SOAP Fault
Assertion" id="ab084c62-8f4d-4380-bab6-2e2a399bfef5"/><con:assertion
type="GroovyScriptAssertion" name="Script Assertion -
Schema"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
-def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-// Get NMWG message and RNG grammar for validation
-def s = holder.getDomNode("soapenv:Envelope/soapenv:Body/nmwg:message");
-def rncLocation = context.expand('${projectDir}')+"/rnc/nmbase.rnc"
-
-assert TestUtil.validateRNC(""+s,new File(rncLocation),log);
-</scriptText></con:configuration></con:assertion><con:assertion
type="GroovyScriptAssertion" name="Script Assertion - Result Codes"
id="82dfb107-19ec-491d-bf0e-65388ab6740c"><con:configuration><scriptText>import
org.perfsonar.soapUI.ls.TestUtil;
-
-def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
-def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
-holder.namespaces["soapenv"]="http://schemas.xmlsoap.org/soap/envelope/";
-holder.namespaces["nmwg"]="http://ggf.org/ns/nmwg/base/2.0/";
-
-def noOfcorrectEventTypes = 0
-def noOfbadEventTypes = 0
-
-def eventTypes =
holder.getDomNodes("/soapenv:Envelope/soapenv:Body/nmwg:message/nmwg:data/nmwg:metadata/nmwg:eventType");
-eventTypes.each{
- if(it.getValueAsString().contains("success.ls")){
- noOfcorrectEventTypes++
- } else {
- noOfbadEventTypes++
- }
-}
-
-assert noOfcorrectEventTypes == 0
-assert noOfbadEventTypes >
1</scriptText></con:configuration></con:assertion><con:credentials><con:username
xsi:nil="true"/><con:password xsi:nil="true"/><con:domain
xsi:nil="true"/><con:authType>Global HTTP
Settings</con:authType></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig
mustUnderstand="NONE" version="200508"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="properties" name="Empty (keep for I2 switch)"
disabled="true"><con:settings/><con:config xsi:type="con:PropertiesStep"
saveFirst="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:properties/></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="Load Tests"
id="d4277068-0d20-49d1-aaa7-e3d31804df68"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0"
name="Registrations" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="5d8b6bc0-8038-4d7d-9229-a3129bd0ddbf"><con:description>Lots of
registrations.</con:description><con:settings/><con:testStep type="groovy"
name="Set Herited Properties"><con:settings/><con:config><script>// Set
Herited properties so that the Test Run have correct values
+</con:setupScript></con:testSuite><con:testSuite name="Load Tests"
id="d4277068-0d20-49d1-aaa7-e3d31804df68"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="false" failTestCaseOnErrors="true" keepSession="false"
maxResults="0" name="Registrations" searchProperties="true" timeout="0"
wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo=""
id="5d8b6bc0-8038-4d7d-9229-a3129bd0ddbf"><con:description>Lots of
registrations.</con:description><con:settings/><con:testStep type="groovy"
name="Set Herited Properties"><con:settings/><con:config><script>// Set
Herited properties so that the Test Run have correct values
// We store the lsKey in a property to keep it safe and be able to re-use it
def tc = testRunner.testCase
def apName = tc.testSuite.project.getPropertyValue("AccessPoint-name")
@@ -5113,7 +5113,7 @@
props.setPropertyValue("Counter", counter)

props.setPropertyValue("accessPoint","http://s"+thread+"-"+counter+"."+apName+":"+apPort+apPath)
}
-</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Single Reg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>3e654b7b-53a4-4f13-8628-6d7bfc9c4512</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0038</con:value></con:property><con:property><con:name>lsKey</con:name><con:value>http://s00-0001.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPoint</con:name><con:value>http://s00-0038.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Registrations" id="6c

2383df-9e36-4bc7-89f3-b464f710407c"><con:settings/><con:threadCount>30</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
+</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Single Reg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>3e654b7b-53a4-4f13-8628-6d7bfc9c4512</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0038</con:value></con:property><con:property><con:name>lsKey</con:name><con:value>http://s00-0001.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPoint</con:name><con:value>http://s00-0038.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Registrations" id="6c
2383df-9e36-4bc7-89f3-b464f710407c"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>30</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB
def tc = loadTestRunner.loadTest.testCase
def initdbtc =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initdbtc.run(null, false)
@@ -5145,7 +5145,7 @@
} else

props.setPropertyValue("accessPoint","http://s"+thread+"-"+counter+"."+apName+":"+apPort+apPath)
}
-</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Single Reg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>3e654b7b-53a4-4f13-8628-6d7bfc9c4512</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0028</con:value></con:property><con:property><con:name>lsKey</con:name><con:value>http://s00-0039.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPoint</con:name><con:value>http://s00-0028.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:testStep
type="calltestcase" name="Threaded
Double Reg"><con:settings/><con:config xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>724f833a-ee9d-46e3-a0ad-02b1d7e11205</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0005</con:value></con:property><con:property><con:name>lsKeyA</con:name><con:value>http://s00-0007-a.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>lsKeyB</con:name><con:value>http://s00-0007-b.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPointA</con:name><con:value>http://s00-0005-a.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPointB</con:name><con:

value>http://s00-0005-b.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:testStep
type="calltestcase" name="Threaded Dereg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>01c061ba-e53c-42f2-b08b-6f705a53e8af</con:targetTestCase><con:properties><con:property><con:name>lsKey</con:name><con:value>http://s00-0009.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Random
Reg-Dereg"><con:settings/><con:threadCount>8</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>tr

ue</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB or keep the existing one
+</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Single Reg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>3e654b7b-53a4-4f13-8628-6d7bfc9c4512</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0028</con:value></con:property><con:property><con:name>lsKey</con:name><con:value>http://s00-0039.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPoint</con:name><con:value>http://s00-0028.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:testStep
type="calltestcase" name="Threaded
Double Reg"><con:settings/><con:config xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>724f833a-ee9d-46e3-a0ad-02b1d7e11205</con:targetTestCase><con:properties><con:property><con:name>ParentThread</con:name><con:value>00</con:value></con:property><con:property><con:name>Counter</con:name><con:value>0005</con:value></con:property><con:property><con:name>lsKeyA</con:name><con:value>http://s00-0007-a.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>lsKeyB</con:name><con:value>http://s00-0007-b.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPointA</con:name><con:value>http://s00-0005-a.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>accessPointB</con:name><con:

value>http://s00-0005-b.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:testStep
type="calltestcase" name="Threaded Dereg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>01c061ba-e53c-42f2-b08b-6f705a53e8af</con:targetTestCase><con:properties><con:property><con:name>lsKey</con:name><con:value>http://s00-0009.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Random Reg-Dereg"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>8</con:threadCount><con:startDelay>0</con:start

Delay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB or keep the existing one
def tc = loadTestRunner.loadTest.testCase
def initdbtc =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initdbtc.run(null, false)
@@ -5309,7 +5309,7 @@
if (prop) counter = prop.toInteger()
else counter = 0
ts.setPropertyValue("ServicesCounter", String.format('%d',--counter))
-</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Dereg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>01c061ba-e53c-42f2-b08b-6f705a53e8af</con:targetTestCase><con:properties><con:property><con:name>lsKey</con:name><con:value>http://s00-0039.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Random
Reg-Dereg-Queries"><con:settings/><con:threadCount>4</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><co

n:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB or keep the existing one
+</script></con:config></con:testStep><con:testStep type="calltestcase"
name="Threaded Dereg"><con:settings/><con:config
xsi:type="con:RunTestCaseStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><con:targetTestCase>01c061ba-e53c-42f2-b08b-6f705a53e8af</con:targetTestCase><con:properties><con:property><con:name>lsKey</con:name><con:value>http://s00-0039.load.service.geant.net:8080/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property></con:properties><con:returnProperties/><con:runMode>PARALLELL</con:runMode></con:config></con:testStep><con:loadTest
name="Lots of Random Reg-Dereg-Queries"><con:settings><con:setting
id="HttpSettings@close-connections">false</con:setting></con:settings><con:threadCount>4</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountC

hange><con:historyLimit>-1</con:historyLimit><con:testLimit>300</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type></con:loadStrategy><con:assertion
type="Step Status" name="Step
Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval><con:setupScript>//
Init an empty DB or keep the existing one
def tc = loadTestRunner.loadTest.testCase
def initdbtc =
tc.getTestSuite().getProject().getTestSuiteByName("Initialisation").getTestCaseByName("Empty
DB")
initdbtc.run(null, false)
@@ -5319,4 +5319,4 @@
ts = tc.getTestStepByName(it)
ts.setPropertyValue("ServicesCounter", "0")
}
-</con:setupScript></con:loadTest><con:setupScript/><con:properties><con:property><con:name>CountMax</con:name><con:value>50</con:value></con:property></con:properties></con:testCase><con:properties><con:property><con:name>ServiceName</con:name><con:value>Load
Test
Service</con:value></con:property><con:property><con:name>AccessPoint-name</con:name><con:value>load.service.geant.net</con:value></con:property><con:property><con:name>AccessPoint-port</con:name><con:value>8080</con:value></con:property><con:property><con:name>AccessPoint-path</con:name><con:value>/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>ServiceType</con:name><con:value>RRD

MA</con:value></con:property><con:property><con:name>ServiceDescription</con:name><con:value>soapUI
XML LS Load Testing Service - RRD
MA</con:value></con:property><con:property><con:name>Interface-hostName</con:name><con:value>loadtest.router.geant.net</con:value></con:property>

<con:property><con:name>Interface-Description</con:name><con:value>hstn:oc192(p2p)::show:intracloud</con:value></con:property><con:property><con:name>Interface-AddressIPv4</con:name><con:value>62.40.96.1</con:value></con:property></con:properties></con:testSuite><con:properties><con:property><con:name>lsProtocol</con:name><con:value>http://</con:value></con:property><con:property><con:name>lsHost</con:name><con:value>ls-1-6-c5:8080/perfsonar-java-xml-ls</con:value></con:property><con:property><con:name>lsExistUser</con:name><con:value>admin</con:value></con:property><con:property><con:name>lsExistPass</con:name><con:value/></con:property><con:property><con:name>ServiceName</con:name><con:value>Testing

Service</con:value></con:property><con:property><con:name>AccessPoint-name</con:name><con:value>load.service.geant.net</con:value></con:property><con:property><con:name>AccessPoint-port</con:name><con:value>8080</con:value></con:property><con:property><con:name>AccessPoint-path

</con:name><con:value>/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>ServiceType</con:name><con:value>RRD

MA</con:value></con:property><con:property><con:name>ServiceDescription</con:name><con:value>soapUI
XML LS Registration Testing Service - RRD
MA</con:value></con:property><con:property><con:name>Interface-hostName</con:name><con:value>test.router.geant.net</con:value></con:property><con:property><con:name>Interface-Description</con:name><con:value>hstn:oc192(p2p)::show:intracloud</con:value></con:property><con:property><con:name>Interface-AddressIPv4</con:name><con:value>62.40</con:value></con:property><con:property><con:name>Interface-AddressIPv4-B</con:name><con:value>62.42</con:value></con:property></con:properties><con:wssContainer/><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
+</con:setupScript></con:loadTest><con:setupScript/><con:properties><con:property><con:name>CountMax</con:name><con:value>50</con:value></con:property></con:properties></con:testCase><con:properties><con:property><con:name>ServiceName</con:name><con:value>Load
Test
Service</con:value></con:property><con:property><con:name>AccessPoint-name</con:name><con:value>load.service.geant.net</con:value></con:property><con:property><con:name>AccessPoint-port</con:name><con:value>8080</con:value></con:property><con:property><con:name>AccessPoint-path</con:name><con:value>/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>ServiceType</con:name><con:value>RRD

MA</con:value></con:property><con:property><con:name>ServiceDescription</con:name><con:value>soapUI
XML LS Load Testing Service - RRD
MA</con:value></con:property><con:property><con:name>Interface-hostName</con:name><con:value>loadtest.router.geant.net</con:value></con:property>

<con:property><con:name>Interface-Description</con:name><con:value>hstn:oc192(p2p)::show:intracloud</con:value></con:property><con:property><con:name>Interface-AddressIPv4</con:name><con:value>62.40.96.1</con:value></con:property></con:properties></con:testSuite><con:properties><con:property><con:name>lsProtocol</con:name><con:value>http://</con:value></con:property><con:property><con:name>lsHost</con:name><con:value>ls-1-6-c5:8080/perfsonar-java-xml-ls</con:value></con:property><con:property><con:name>lsExistUser</con:name><con:value>admin</con:value></con:property><con:property><con:name>lsExistPass</con:name><con:value/></con:property><con:property><con:name>ServiceName</con:name><con:value>Testing

Service</con:value></con:property><con:property><con:name>AccessPoint-name</con:name><con:value>load.service.geant.net</con:value></con:property><con:property><con:name>AccessPoint-port</con:name><con:value>8080</con:value></con:property><con:property><con:name>AccessPoint-path

</con:name><con:value>/perfsonar-java-rrd-ma/services/MeasurementArchiveService</con:value></con:property><con:property><con:name>ServiceType</con:name><con:value>RRD

MA</con:value></con:property><con:property><con:name>ServiceDescription</con:name><con:value>soapUI
XML LS Registration Testing Service - RRD
MA</con:value></con:property><con:property><con:name>Interface-hostName</con:name><con:value>test.router.geant.net</con:value></con:property><con:property><con:name>Interface-Description</con:name><con:value>hstn:oc192(p2p)::show:intracloud</con:value></con:property><con:property><con:name>Interface-AddressIPv4</con:name><con:value>62.40</con:value></con:property><con:property><con:name>Interface-AddressIPv4-B</con:name><con:value>62.42</con:value></con:property></con:properties><con:wssContainer/><con:sensitiveInformation/></con:soapui-project>


Property changes on: trunk/perfsonar-web-admin-0
___________________________________________________________________
Added: svn:ignore
+ target

.project

.classpath

.settings


Deleted: trunk/perfsonar-web-admin-0/default.css
===================================================================
--- trunk/perfsonar-web-admin-0/default.css 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-web-admin-0/default.css 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,801 +0,0 @@
-
-/* standard elements */
-html {
- min-height: 100%;
-}
-
-* {
- margin: 0;
- padding: 0;
-}
-
-body {
- background-color: #ffffff;
- font-family: arial;
-}
-
-a img{
- border: none;
-}
-/* Wizard CSS */
-.top {
- display: block;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #468C46;
- margin: 0% 1% 0 1%;
- border-bottom: 1px dotted #468C46;
- padding: 7px;
- background: #ffffff;
-}
-
-.greenasterisk {
- font-size: 130%;
- color: #468C46;
-}
-
-.properties {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- padding: 10px;
- margin: 0% 1% 0 1%;
-}
-
-.properties p {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.properties table {
- border-bottom: 1px dotted #468C46;
- margin-bottom: 20px;
-}
-
-.inner_properties {
- padding:0px;
- margin:0px;
-}
-.inner_properties table{
- border: none;
- margin:0px;
- padding:0px;
-}
-
-.properties td {
- padding: 15px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.properties em {
- display: block;
- color: red;
- font-size: 95%;
-}
-
-.info_wizard {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #468C46;
-}
-
-.info_wizard p {
-}
-/* General Purpose CSS*/
-.welcometextlavender {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
- color: #4169E1;
- border-bottom-width: 1px;
- border-bottom-style: dotted;
- border-bottom-color: #4169E1;
- clip: rect( auto, auto, auto, auto );
- margin-left: 0%;
-}
-
-.formated_text {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.blueheader {
- text-align: left;
- color: #4169E1;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.info {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #4169E1;
- float: none;
- margin: 0% 0% 0% 1%;
-}
-
-.info p {
- float: none;
- text-align: justify;
-}
-
-.lightgrey {
- background-color: #f1f3f1;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-.lightgrey td {
- padding: 5px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-.darkgrey {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- background-color: #e1e5e1;
-}
-
-.darkgrey td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- padding: 5px;
-}
-
-.hilighted {
- color: #4169E1;
- border-bottom: 1px solid #4169E1;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.underlined {
- border-bottom: 1px solid #4169E1;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.tablessContent {
- margin: 2% 0 0 0.3%;
- background: #ffffff;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.input_style_blue {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-.headerlavender {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- background-color: #A0A0D8;
- margin-right: 0px;
- margin-left: 0px;
- padding: 5px;
-}
-/*eXist Admin CSS*/
-.content {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- margin: 2% 0% 0 0%;
- background: #ffffff;
-}
-
-.content ul {
- margin-top: 5px;
- display: block;
- list-style: none outside;
- padding: 5px;
-}
-
-.content li {
- margin: 0 0 0 0;
- padding: 0px;
- display: block;
- float: left;
- position: relative;
- top: -1.32em;
-}
-
-.manage_exist {
- background: #ffffff;
- margin: 0% 0% 0% 0%;
- padding: 0px;
-}
-
-.showResource {
- float: none;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- text-indent: 0%;
- margin-top: 5px;
- margin-left: 0.3%;
- padding: 0px;
- text-align: inherit;
-}
-
-.showResource table {
- left: -100px;
- position: static;
- margin-top: 0px;
- border-spacing: 1px 0px;
-}
-
-.showResource th {
- padding: 10px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- background-color: #C7C7F2;
-}
-
-.showResource td {
- padding: 10px;
-}
-
-.showResource p {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- border: none;
- padding: 5px;
- margin: 0% 0% 0% 0%;
-}
-
-.exist_welcome_text {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
- padding: 5px;
- color: #4169E1;
- font-weight: bold;
- border-bottom-width: 1px;
- border-bottom-style: dotted;
- border-bottom-color: #4169E1;
- clip: rect( auto, auto, auto, auto );
- margin-left: 0%;
-}
-
-.input {
- padding: 1em;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.input_style {
- border-color: #468C46;
- border-style: solid;
- border-width: 1px;
-}
-
-.login_table {
- background-color: #E6E6FA;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.login_table td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.logout {
- margin-top: 10px;
- margin-left: 48%;
-}
-
-.logout a {
- padding: 5px;
- text-decoration: none;
- color: green;
- background: transparent url(graphics/logout_button.gif) no-repeat center
top;
- width: 64px;
- height: 28px;
- display: block;
-}
-
-.logout a:hover {
- background: transparent url(graphics/logout_button.gif) no-repeat center
top;
- color: #049;
-}
-
-.input_table {
- border: 1px solid #4169E1;
- border-spacing: 0px 1px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.input_table td {
- padding: 5px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.input_table th {
- padding: 5px;
- text-align: left;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-/*Exist Buttons CSS*/
-.collections_option_on a {
- padding: 7px 80px 7px 80px;
- width: 210px;
- height: 28px;
- text-decoration: none;
- background: transparent url(graphics/manage_collections_on_tab.gif)
no-repeat center top;
-}
-
-
-.collections_option_off a {
- padding: 7px 80px 7px 80px;
- width: 210px;
- height: 28px;
- text-decoration: none;
- background: transparent url(graphics/manage_collections_off_tab.gif)
no-repeat center top;
-}
-
-
-.users_option_off a{
- padding: 7px 65px 7px 65px;
- width: 210px;
- height: 28px;
- text-decoration: none;
- background: transparent url(graphics/manage_users_off_tab.gif) no-repeat
center top;
-}
-
-.users_option_on a {
- padding: 7px 65px 7px 65px;
- width: 210px;
- height: 28px;
- text-decoration: none;
- background: transparent url(graphics/manage_users_on_tab.gif) no-repeat
center top;
-}
-
-
-.login_button {
- width: 54px;
- height: 28px;
- margin: 0;
- padding: 0;
- border: 0px;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: bold;
- text-align: center;
- clip: rect( auto, auto, auto, auto );
- cursor: pointer;
- background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
- float: left;
-}
-
-.edit_button_res {
- display: block;
- margin-top: 5px;
- margin-left: 0px;
- width: 120px;
- height: 28px;
- float: left;
- outline: none;
- border: none;
- text-align: center;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: bold;
- text-decoration: none;
- background: url(graphics/button_1_large.gif) no-repeat center;
- cursor: pointer;
-}
-
-.create_button_res {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 28px;
- float: left;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_large.gif) no-repeat
center;
-}
-
-.delete_button_res {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 28px;
- float: none;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_large.gif) no-repeat
center top;
-}
-
-.input_Edit_button {
- width: 54px;
- height: 28px;
- margin: 0;
- border: 0;
- padding: 0;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- cursor: pointer;
- background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
- float: left;
-}
-
-.input_Create_button {
- width: 54px;
- height: 28px;
- margin: 0;
- border: 0;
- padding: 0;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- cursor: pointer;
- background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
- float: left;
-}
-
-.execute_button_users {
- width: 54px;
- height: 28px;
- margin: 0;
- border: 0;
- padding: 0;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- cursor: pointer;
- background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
- float: right;
-}
-/*Properties CSS */
-.groupheading {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- color: #468C46;
-}
-
-.manage {
- background: #ffffff;
- margin: 0 0.3% 0 0.3%;
- padding: 0px;
-}
-
-.manage table {
- padding: 3px;
- border-spacing: 1px 0px;
-}
-
-.manage th {
- padding-top: 8px;
- padding-bottom: 8px;
- padding-left: 5px;
- text-align: left;
-}
-
-.manage td {
- padding-top: 8px;
- padding-bottom: 8px;
- padding-left: 5px;
-}
-/*Properties Buttons CSS*/
-.floatResetButton {
- position: fixed;
- width: 64px;
- height: 28px;
- margin: 0;
- padding: 0;
- border: 0;
- text-indent: -1000em;
- cursor: pointer;
- background: transparent url(graphics/cancel_button.gif) no-repeat center
top;
- float: right;
-}
-
-.floatSubmitButton {
- position: fixed;;
- width: 53px;
- height: 28px;
- margin: 0;
- border: 0;
- padding: 0;
- text-indent: -1000em;
- cursor: pointer;
- background: transparent url(graphics/apply_button_2.gif) no-repeat
center top;
- float: right;
-}
-
-.submit_button {
- width: 53px;
- height: 28px;
- margin: 0;
- border: 0;
- padding: 0;
- text-indent: -1000em;
- cursor: pointer;
- background: transparent url(graphics/apply_button.gif) no-repeat center
top;
- float: none;
-}
-/* SQLMA Admin CSS*/
-.manage_slqma {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- margin: 0% 1% 0% 1%;
-}
-
-.Options {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- margin: 0% 1% 0% 1%;
-}
-
-#options {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- margin: 0% 1% 0% 1%;
-}
-
-#EditFile {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- margin: 0% 1% 0% 1%;
- float: none;
-}
-
-#CreateNewFile {
- margin: 0% 1% 0% 1%;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- float: none;
-}
-
-.execute_button_sqlma {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 28px;
- float: left;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_large.gif) no-repeat
center;
-}
-
-.execute_button_sqlma_small {
- display: block;
- margin-top: 5px;
- width: 54px;
- height: 28px;
- float: left;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_small.gif) no-repeat
center;
-}
-
-.execute_button_sqlma_large {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 28px;
- float: left;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_large.gif) no-repeat
center;
-}
-
-.sqlmaheader {
- margin-left: 1%;
- color: #4169E1;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 13px;
-}
-
-init_table {
- margin-left: 1%;
- float: left;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 13px;
-}
-
-.init_table td {
- padding: 8px;
- text-align: left;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 13px;
-}
-
-.init_table th {
- padding: 8px;
- text-align: left;
- color: #4169E1;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 13px;
-}
-
-.test_table {
- background-color: #99ff99;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.test_table td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-/* Stitching Servlet*/
-
-#main_iface_panel{
- margin-top: 2%;
- margin-left:2%;
- background-color: #ffffff;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- height:100%
-
-}
-#main_iface_panel a{
-
-}
-
-#main_iface_panel a:visited a:active{
-
-}
-#iface_panel_body table{
-
-}
-#iface_panel_body td{
- vertical-align:top;
- height:100%;
- padding:0px;
-}
-#file_management{
- border: 1px solid blue;
- padding:10px;
- font-weight:bold;
-}
-
-#file_management table{
- width:100%;
-}
-#file_info{
- background-color:#BBBBE6;
- padding:0px;
-}
-
-#file_info table{
- width:100%;
-}
-#file_info th{
-
- background-color:#8282C9;
- color:#000000;
- padding: 5px;
- text-align:left;
-}
-#file_info_header{
- color:white;
- background-color:#8282C9;
- font-weight:bold;
-}
-#file_info td{
-
- padding: 5px;
- text-align:left;
-}
-
-#iface_panel_header{
-
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- padding: 5px;
- background-color: #E6E6FA;
- margin:1px;
-
-}
-#panel_body_sidebar{
-
- background-color: #CBCBED;
-}
-#panel_body_sidebar_devices{
- height:100%;
- background-color: #CBCBED;
- float:left;
- padding: 5px;
- margin:1px;
-
-}
-
-#panel_body_sidebar table{
- width:100%;
- height:100%;
-}
-#panel_body_sidebar tr{
- height:100%;
-}
-#panel_body_sidebar td{
- padding: 8px;
-}
-
-#panel_body_sidebar a a:visited a:link{
- padding: 0px;
- margin:0px
-}
-
-#panel_body_ifaces{
- background-color: #DEDEF9;
- float:left;
- padding-left: 10px;
- padding-right: 10px;
- padding-bottom:20px;
- padding-top:8px;
- margin:0px;
-}
-#host_name{
- font-size:15px;
- font-weight:bold;
-}
-
-#ifaces_table{
- margin-top: 15px;
- background-color:#ECECFC;
- width:100%;
- border-spacing: 1px 0px;
-
-}
-
-#ifaces_table td{
- padding: 5px;
- border-top:none;
-}
-
-
-.ifaces_header1{
- text-align:left;
- font-weight:bold;
- background-color:#8282C9;
-}
-.ifaces_header2{
- background-color:#8282C9;
- font-weight:bold;
- text-align:center;
-}
-
-.execute_button_stitching {
- display: block;
- margin: 0px;
- width: 120px;
- height: 28px;
- float: left;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 90%;
- font-weight: 600;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_1_large.gif) no-repeat
center;
-}
-

Deleted: trunk/perfsonar-web-admin-0/index.jsp
===================================================================
--- trunk/perfsonar-web-admin-0/index.jsp 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-web-admin-0/index.jsp 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,178 +0,0 @@
-<%@ page
import="perfSONARWebAdmin.auxiliary.PerfsonarProperties,perfSONARWebAdmin.auxiliary.PerfsonarPropertiesImpl,perfSONARWebAdmin.auxiliary.PerfsonarProperty,java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.IOException"
%>
-
-<%!
- private perfSONARWebAdmin.auxiliary.MyDynProperties prop;
-
- public void jspInit()
- {
- super.jspInit();
- prop =
perfSONARWebAdmin.auxiliary.MyDynProperties.create(getServletContext().getRealPath("/")
,false);
- prop.reloadAll();
- prop.updateClientProperties();
- }
-
- public void jspDestroy()
- {
- super.jspDestroy();
- prop.reloadAll();
- prop.updateClientProperties();
- }
-%>
-<html>
- <head>
- <title>perfSONAR Service Web Administration page</title>
- <link rel="stylesheet" type="text/css" href="main.css"/>
- <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
- <script src="Service_Admin.js"></script>
- <script src="liveclock.js"></script>
-
- <style type="text/css">
- <!--
-
- a {
- }
-
- .style3 {
- color: #8585c1;
- font-size: 13px;
- }
-
- .style3 a:link {
- color: #8585C1;
- cursor: pointer;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
-
- .style3 a:active {
- color: #117721;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
-
- .style3 a:visited {
- color: #8585C1;
- cursor: auto;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- /*font-weight: bold;*/
- }
-
-
- .style3 a:hover {
- color: #8585C1;
- cursor: pointer;
- text-decoration: underline;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
- -->
- </style>
- </head>
- <body>
- <%
-
- // java.text.DateFormat dateFormat = new
java.text.SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
- //java.util.Date now= new java.util.Date();
- //java.util.Date date= dateFormat.parse(now.toString());
- String confPath = "WEB-INF/classes/perfsonar/conf/";
- String ServicePropertiesPath = confPath+ "service.properties";
- ServletContext sc = getServletContext();
- String ServicePath = sc.getRealPath("/");
- PerfsonarProperty property = new PerfsonarProperty();
- PerfsonarProperties serviceProperties = new PerfsonarPropertiesImpl();
- serviceProperties.loadProperties(new FileInputStream(ServicePath
- + ServicePropertiesPath));
-
- String serviceName=
serviceProperties.getProperty("service.r.service_name").getValue().trim();
- String serviceVersion=
serviceProperties.getProperty("service.r.service_version").getValue().trim();
-
-
- %>
- <div class="adminPanel">
- <div class="banner">
- <table border="0" align="left" cellpadding="0"
cellspacing="0">
- <tr>
- <td>
- <a href="welcome.htm" target="main"><img
src="perfsonar_logo.gif" alt="perfSONAR" width="192" height="94" border="0"
align="right"></a>
- </td>
- <td>
- <table>
- <tr><td id="date">
- <script
type="text/javascript">
- <!--
- show_clock();
- //-->
- </script>
- </td></tr>
- <tr><td id="serviceName"><%=serviceName %>
&nbsp;<%=serviceVersion%></td></tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
- <div class="mainWindow">
- <div class="sidebar">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <th>
- <a href="welcome.htm" class="button"
target="main">Admin home &nbsp; &nbsp; &nbsp;</a>
- </th>
- </tr>
- <tr>
- <td>
- <p>
- <span class="navtexheading">Basic
- <br>
- Configuration
- </span>
- </p>
- <p>
- <span class="navtex"><a href="Wizard"
target="main">Service</a></span>
- <br>
- <a href="testdepl.jsp"
target="main">Test</a>
- </p>
- </td>
- </tr>
-
- <tr>
- <td>
- <p>
- <span class="navtexheading
style3">Advanced
- <br>
- Configuration
- </span>
- </p>
- <p>
- <span class="navtex style3"><a
href="ServiceAdmin?serviceProperties" target="main">Service</a>
- <br>
- <a
href="ServiceAdmin?loggingProperties" target="main">Logging</a>
- <br>
- <a href="eXistAdmin"
target="main">eXist Database</a>
- <br>
- <a href="MetadataAdmin"
target="main">Config File Management</a>
- <br>
-
- </span>
- </p>
- </td>
- </tr>
- <tr>
- </tr>
- </table>
- <img src="graphics/logos.gif" alt="perfSONAR project
partners" width="117" height="263" border="0" align="top"/>
- </div>
- <div class="centerWindow">
- <object data="welcome.htm" type="text/html" name="main"
width="99%" height="100%">
- </object>
- </div>
- </div>
- <div class="footer">
- PERFormance Service-Oriented Network monitoring ARchitecture
&nbsp;
- </div>
- </div>
- </body>
-</html>

Deleted: trunk/perfsonar-web-admin-0/index_sqlma.jsp
===================================================================
--- trunk/perfsonar-web-admin-0/index_sqlma.jsp 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-web-admin-0/index_sqlma.jsp 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,151 +0,0 @@
-<%@ page
import="perfSONARWebAdmin.auxiliary.PerfsonarProperties,perfSONARWebAdmin.auxiliary.PerfsonarPropertiesImpl,perfSONARWebAdmin.auxiliary.PerfsonarProperty,java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.IOException"
%>
-
-<html>
- <head>
- <title>perfSONAR Service Web Administration page</title>
- <link rel="stylesheet" type="text/css" href="main.css"/>
- <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
- <script src="Service_Admin.js"></script>
-
- <style type="text/css">
- <!--
-
- a {
- }
-
- .style3 {
- color: #8585c1;
- font-size: 13px;
- }
-
- .style3 a:link {
- color: #8585C1;
- cursor: pointer;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
-
- .style3 a:active {
- color: #117721;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
-
- .style3 a:visited {
- color: #8585C1;
- cursor: auto;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- /*font-weight: bold;*/
- }
-
-
- .style3 a:hover {
- color: #8585C1;
- cursor: pointer;
- text-decoration: underline;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- }
- -->
- </style>
- </head>
- <body>
- <%
- java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("EEE
MMM dd HH:mm:ss zzz yyyy");
- java.util.Date now= new java.util.Date();
- java.util.Date date= dateFormat.parse(now.toString());
- String confPath = "WEB-INF/classes/perfsonar/conf/";
- String ServicePropertiesPath = confPath+ "service.properties";
- ServletContext sc = getServletContext();
- String ServicePath = sc.getRealPath("/");
- PerfsonarProperty property = new PerfsonarProperty();
- PerfsonarProperties serviceProperties = new PerfsonarPropertiesImpl();
- serviceProperties.loadProperties(new FileInputStream(ServicePath
- + ServicePropertiesPath));
-
- String serviceName=
serviceProperties.getProperty("service.r.service_name").getValue().trim();
- String serviceVersion=
serviceProperties.getProperty("service.r.service_version").getValue().trim();
-
-
- %>
- <div class="adminPanel">
- <div class="banner">
- <table border="0" align="left" cellpadding="0"
cellspacing="0">
- <tr>
- <td>
- <a href="welcome.htm" target="main"><img
src="perfsonar_logo.gif" alt="perfSONAR" width="192" height="94" border="0"
align="right"></a>
- </td>
- <td>
- <table>
- <tr><td
id="date"><%=date.toString()%></td></tr>
- <tr><td id="serviceName"><%=serviceName %>
&nbsp;<%=serviceVersion%></td></tr>
- </table>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
- <div class="mainWindow">
- <div class="sidebar">
- <table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <th>
- <a href="welcome.htm" class="button"
target="main">Admin home &nbsp; &nbsp; &nbsp;</a>
- </th>
- </tr>
- <tr>
- <td>
- <p>
- <span class="navtexheading">Basic
- <br>
- Configuration
- </span>
- </p>
- <p>
- <span class="navtex"><a href="Wizard"
target="main">Service</a></span>
- <br>
- <a href="testdepl.jsp"
target="main">Test</a>
- </p>
- </td>
- </tr>
-
- <tr>
- <td>
- <p>
- <span class="navtexheading
style3">Advanced
- <br>
- Configuration
- </span>
- </p>
- <p>
- <span class="navtex style3"><a
href="ServiceAdmin?serviceProperties" target="main">Service</a>
- <br>
- <a
href="ServiceAdmin?loggingProperties" target="main">Logging</a>
- <br>
- <a href="eXistAdmin"
target="main">eXist Database</a>
- <br>
- <a href="SQLMAdmin"
target="main">SQL MA Admin</a>
- <br>
- </span>
- </p>
- </td>
- </tr>
- <tr>
- </tr>
- </table>
- <img src="graphics/logos.gif" alt="perfSONAR project
partners" width="117" height="263" border="0" align="top"/>
- </div>
- <div class="centerWindow">
- <object data="welcome.htm" type="text/html" name="main"
width="99%" height="100%">
- </object>
- </div>
- </div>
- <div class="footer">
- PERFormance Service-Oriented Network monitoring ARchitecture
&nbsp;
- </div>
- </div>
- </body>
-</html>

Deleted: trunk/perfsonar-web-admin-0/liveclock.js
===================================================================
--- trunk/perfsonar-web-admin-0/liveclock.js 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-web-admin-0/liveclock.js 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,173 +0,0 @@
-///////////////////////////////////////////////////////////
-// "Live Clock Advanced" script - Version 1.0
-// By Mark Plachetta
()
-//
-// Get the latest version at:
-// http://www.zip.com.au/~astroboy/liveclock/
-//
-// Based on the original script: "Upper Corner Live Clock"
-// available at:
-// - Dynamic Drive (http://www.dynamicdrive.com)
-// - Website Abstraction (http://www.wsabstract.com)
-// ========================================================
-// CHANGES TO ORIGINAL SCRIPT:
-// - Gave more flexibility in positioning of clock
-// - Added date construct (Advanced version only)
-// - User configurable
-// ========================================================
-// Both "Advanced" and "Lite" versions are available free
-// of charge, see the website for more information on the
-// two scripts.
-///////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////
-/////////////// CONFIGURATION /////////////////////////////
-
- // Set the clock's font face:
- var myfont_face = "Verdana";
-
- // Set the clock's font size (in point):
- var myfont_size = "10";
-
- // Set the clock's font color:
- var myfont_color = "#000000";
-
- // Set the clock's background color:
- var myback_color = "#FFFFFF";
-
- // Set the text to display before the clock:
- var mypre_text = "";
-
- // Set the width of the clock (in pixels):
- var mywidth = 300;
-
- // Display the time in 24 or 12 hour time?
- // 0 = 24, 1 = 12
- var my12_hour = 0;
-
- // How often do you want the clock updated?
- // 0 = Never, 1 = Every Second, 2 = Every Minute
- // If you pick 0 or 2, the seconds will not be displayed
- var myupdate = 1;
-
- // Display the date?
- // 0 = No, 1 = Yes
- var DisplayDate = 1;
-
-/////////////// END CONFIGURATION /////////////////////////
-///////////////////////////////////////////////////////////
-
-// Browser detect code
- var ie4=document.all
- var ns4=document.layers
- var ns6=document.getElementById&&!document.all
-
-// Global varibale definitions:
-
- var dn = "";
- var mn = "th";
- var old = "";
-
-// The following arrays contain data which is used in the clock's
-// date function. Feel free to change values for Days and Months
-// if needed (if you wanted abbreviated names for example).
- var DaysOfWeek = new Array(7);
- DaysOfWeek[0] = "Sun";
- DaysOfWeek[1] = "Mon";
- DaysOfWeek[2] = "Tue";
- DaysOfWeek[3] = "Wed";
- DaysOfWeek[4] = "Thu";
- DaysOfWeek[5] = "Fri";
- DaysOfWeek[6] = "Sat";
-
- var MonthsOfYear = new Array(12);
- MonthsOfYear[0] = "Jan";
- MonthsOfYear[1] = "Feb";
- MonthsOfYear[2] = "Mar";
- MonthsOfYear[3] = "Apr";
- MonthsOfYear[4] = "May";
- MonthsOfYear[5] = "Jun";
- MonthsOfYear[6] = "Jul";
- MonthsOfYear[7] = "Aug";
- MonthsOfYear[8] = "Sep";
- MonthsOfYear[9] = "Oct";
- MonthsOfYear[10] = "Nov";
- MonthsOfYear[11] = "Dec";
-
-// This array controls how often the clock is updated,
-// based on your selection in the configuration.
- var ClockUpdate = new Array(3);
- ClockUpdate[0] = 0;
- ClockUpdate[1] = 1000;
- ClockUpdate[2] = 60000;
-
-
-// The main part of the script:
- function show_clock() {
- if (old == "die") { return; }
-
- //show clock in NS 4
- if (ns4)
- document.ClockPosNS.visibility="show"
- // Get all our date variables:
- var Digital = new Date();
- var day = Digital.getDay();
- var mday = Digital.getDate();
- var month = Digital.getMonth();
- var hours = Digital.getHours();
-
- var minutes = Digital.getMinutes();
- var seconds = Digital.getSeconds();
-
- // Fix the "mn" variable if needed:
- if (mday == 1) { mn = "st"; }
- else if (mday == 2) { mn = "nd"; }
- else if (mday == 3) { mn = "rd"; }
- else if (mday == 21) { mn = "st"; }
- else if (mday == 22) { mn = "nd"; }
- else if (mday == 23) { mn = "rd"; }
- else if (mday == 31) { mn = "st"; }
- mn = "";
-
- // Set up the hours for either 24 or 12 hour display:
- if (my12_hour) {
- dn = "AM";
- if (hours > 12) { dn = "PM"; hours = hours - 12; }
- if (hours == 0) { hours = 12; }
- } else {
- dn = "";
- }
- if (minutes <= 9) { minutes = "0"+minutes; }
- if (seconds <= 9) { seconds = "0"+seconds; }
-
- // This is the actual HTML of the clock. If you're going to play
around
- // with this, be careful to keep all your quotations in tact.
- myclock = '';
- myclock += '<font style="color:'+myfont_color+';
font-family:'+myfont_face+'; font-size:'+myfont_size+'pt;">';
- myclock += Digital.toGMTString();
- myclock += '</font>';
-
- document.getElementById("date").innerHTML = myclock
- //document.write(myclock);
- if (old == "true") {
- old = "die";
- return;
- }
-
- // Write the clock to the layer:
- /*
- if (ns4) {
- clockpos = document.ClockPosNS;
- liveclock = clockpos.document.LiveClockNS;
- liveclock.document.write(myclock);
- liveclock.document.close();
- } else if (ie4) {
- LiveClockIE.innerHTML = myclock;
- } else if (ns6){
- document.getElementById("LiveClockIE").innerHTML =
myclock;
- }
- */
-
-
- if (myupdate != 0) {
setTimeout("show_clock()",ClockUpdate[myupdate]); }
-}

Deleted: trunk/perfsonar-web-admin-0/main.css
===================================================================
--- trunk/perfsonar-web-admin-0/main.css 2014-01-24 15:22:05 UTC (rev
6483)
+++ trunk/perfsonar-web-admin-0/main.css 2014-01-30 22:42:23 UTC (rev
6484)
@@ -1,487 +0,0 @@
-/* standard elements */
-
-html {min-height: 100%;}
-
-
-
-* {
- margin: 0;
- padding: 0;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- text-decoration: none;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
-}
-
-
-body{
- background-color: #C0C0C0;
- width: 100%;
- height: 100%;
- }
-a:link {
- color: #468C46;
- cursor: pointer;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-a:active {
- color: #117721;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
-}
-a:visited {
- color: #468C46;
- cursor: auto;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-a:hover {
- color: #468C46;
- cursor: pointer;
- text-decoration: underline;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.adminPanel{
- width: 94%;
- height: 50%;
- float:left;
- margin-left: 3%;
- margin-right: 5%;
- background-color: #ffffff;
- margin-bottom: 2%;
-}
-.navtex {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #468C46;
- text-align: right;
- font-style: normal;
- font-weight: normal;
- line-height: 28px;
- background-image: none;
-}
-
-.navtexheading {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #468C46;
- text-align: right;
- font-style: normal;
- font-weight: bold;
- line-height: normal;
-
-}
-.welcometext {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- color: #468C46;
- border-bottom-width: 1px;
- border-bottom-style: dotted;
- border-bottom-color: #468C46;
- padding-top: 10px;
- padding-bottom: 8px;
- padding-right: 0px;
- clip: rect(auto,auto,auto,auto);
- margin-right: 0px;
- margin-left: 2%;
-}
-.heading1 {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 14px;
- color: #468C46;
- padding-top: 23px;
- padding-bottom: 23px;
- font-weight: bold;
- margin-left: 2%;
-}
-
-.bodytext1 {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #333333;
- width: 100%;
- margin-left: 18%;
- font-weight: normal;
- line-height: 22px;
-}
-
-.bodytextgreenline {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #333333;
- margin-left: 18%;
- font-weight: normal;
- line-height: 18px;
- border-bottom-width: 1px;
- border-bottom-style: dotted;
- border-bottom-color: #468C46;
- padding-bottom: 11pt;
-}
-
-.contenttable {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- color: #468C46;
- padding-top: 0px;
- margin-left: 20px;
- font-weight: bold;
- background-color: #FFFFFF;
-}
-.configheadinglavender {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- color: #8585C1;
- font-weight: bold;
- background-image: url(graphics/arrow_icon2.gif);
- background-repeat: no-repeat;
- background-position: 17px top;
- padding-left: 38px;
-}
-
-.configheadinglavender a:link {
- color: #8585C1;
- cursor: pointer;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-.configheadinglavender a:active {
- color: #117721;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
-}
-.configheadinglavender a:visited {
- color: #8585C1;
- cursor: auto;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-.configheadinglavender a:hover {
- color: #8585C1;
- cursor: pointer;
- text-decoration: underline;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-
-.configheading {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- color: #27752C;
- font-weight: bold;
- background-image: url(graphics/arrow_icon.gif);
- background-repeat: no-repeat;
- background-position: 17px top;
- padding-left: 38px;
-}
-
-.configheading a:link {
- color: #27752C;
- cursor: pointer;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-.configheading a:active {
- color: #117721;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
-}
-.configheading a:visited {
- color: #27752C;
- cursor: auto;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-.configheading a:hover {
- color: #27752C;
- cursor: pointer;
- text-decoration: underline;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-.banner{
- margin: 5px;
- width: 99%;
- height: 94px;
- background-image: url(top_slice.gif);
- background-color: #FFFFFF;
- padding: 0px;
- clip: rect(auto,auto,auto,auto);
- float:left;
-}
-#date{
- padding-top:5px;
- float:right;
- text-align:right;
- margin-left: 79.5%;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
-}
-
-#serviceName{
- padding-top:5px;
- float:right;
- text-align:right;
- margin-left: 79.5%;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight:bold;
-}
-
-.mainWindow{
- border: none;
- padding: 0px;
- width: 100%;
- height: 750px;
- background-color: #ffffff;
-}
-.centerWindow{
- background-color: #FFFFFF;
- width: 82%;
- height:80%;
- margin-right: 5px;
- margin-bottom: 5px;
- margin-left: 0;
- float: left;
-}
-.centerWindow object{
- width: 101%;
- height: 105%;
- background-color: #FFFFFF;
-}
-
-.welcomepage{
- background-color: #FFFFFF;
- width: 100%;
- height: 100%;
-}
-
-/* Sidebar*/
-
-.sidebar{
- width: 15%;
- height: 71.1%;
- padding-bottom: 12.1%;
- padding-right: 0px;
- float: left;
- border-right-width: 1px;
- border-right-style: solid;
- border-right-color: #61AF61;
- margin-top: 0px;
- margin-right: 5px;
- margin-bottom: 5px;
- margin-left: 5px;
-}
-.sidebar th{
- color: #ffffff;
- text-align: right;
- background-color: #61AF61;
- width: 15%;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- font-weight: normal;
- text-decoration:none;
- background-repeat: no-repeat;
-
- padding-top: 10px;
- padding-right: 8%;
- padding-bottom: 10px;
- padding-left: 10px;
-}
-.sidebar td{
- text-align: right;
- background-color: #ffffff;
- padding: 10px;
- border-bottom-width: 1px;
- border-bottom-style: dotted;
- border-bottom-color: #92C992;
-}
-.sidebar a.button {
- color: #ffffff;
- text-align:left;
- background-color: #61AF61;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- font-weight: normal;
- text-decoration:none;
- background-position: 100% 50%;
- background-image: url(graphics/admin_home_target.gif);
- background-repeat: no-repeat;
-
-}
-
-
-
-.sidebar a{
- font-weight: normal;
- padding-top: 0px;
- padding-right: 0px;
- padding-bottom: 0px;
- padding-left: 0px;
- margin-bottom: 0px;
-}
-
-.sidebar img{
- float: right;
- border: none;
- padding-top: 0px;
- padding-right: 0px;
- padding-bottom: 0px;
-}
-
-
-.footer{
- height: 20px;
- text-align: right;
- color: #61AF61;
- background-color: #ffffff;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- border-top-width: 1px;
- border-top-style: dotted;
- border-top-color: #61AF61;
- padding-top: 12px;
- width: 100%;
- border-right-style: none;
- border-right-color: #FFFFFF;
- border-left-color: #FFFFFF;
- float: none;
-}
-.footermain {
- height: 20px;
- text-align: right;
- color: #61AF61;
- background-color: #ffffff;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- border-top-width: 1px;
- border-top-style: dotted;
- border-top-color: #61AF61;
- padding-top: 5px;
- width: 100%;
- border-right-style: none;
- border-right-color: #FFFFFF;
- border-left-color: #FFFFFF;
- }
-
-.execute_button_testdepl {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 30px;
- float: right;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 60%;
- font-weight: 400;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/button_2_medium.gif) no-repeat
center;
-}
-
-.testdeplmain {
- text-align: left;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
-/* font-weight:bold;;*/
-/* margin-left: -20%;*/
- margin-left: 2%;
- border-width: 1px;
- border-color: #61AF61;
- padding: 5px;
- width: 556px;
- height:108px;
- background: transparent url(graphics/testdepl_main.gif) no-repeat
center;
-}
-
-.testdeplsucc {
- text-align: left;
- float: left;
- /*font-weight:bold;;*/
- text-decoration: none;
-/* margin-left: -20%;*/
- margin-left: 2%;
- padding: 5px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- border:solid;
- border-width: 1px;
- border-color: #61AF61;
- width: 544px;
- height: 220px;
- background: transparent url(graphics/testdepl_succ.gif) no-repeat center;
-}
-
-.testdeplfail {
- text-align: left;
- float: left;
-/* font-weight:bold;;*/
- text-decoration: none;
- padding: 5px;
- margin-left: 2%;
- /*margin-left: -20%;*/
- height: 105px;
- width:555px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- border:solid;
- border-width: 1px;
- border-color: #61AF61;
- background: transparent url(graphics/testdepl_fail.gif) no-repeat
center;
-}
-
-.testdeplstartbn {
- display: block;
- margin-top: 5px;
- width: 120px;
- height: 30px;
- float: right;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 60%;
- font-weight: 400;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/testdepl_startbn.gif) no-repeat
center;
-}
-
-.testdeplretbn {
- display: block;
- margin-top: 5px;
- width: 150px;
- height: 30px;
- float: none;;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 60%;
- font-weight: 400;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/testdepl_return.gif) no-repeat
center;
-}
-
-.testdeplretbn2 {
- display: block;
- margin-top: 5px;
- width: 150px;
- height: 30px;
- float: right;
- border: none;
- font-family: Helvetica, Calibri, Arial, sans-serif;
- font-size: 60%;
- font-weight: 400;
- text-decoration: none;
- cursor: pointer;
- background: transparent url(graphics/testdepl_return.gif) no-repeat
center;
-}
-
-

Deleted: trunk/perfsonar-web-admin-0/partners.gif
===================================================================
(Binary files differ)

Deleted: trunk/perfsonar-web-admin-0/perfsonar.png
===================================================================
(Binary files differ)

Deleted: trunk/perfsonar-web-admin-0/perfsonar_logo.gif
===================================================================
(Binary files differ)

Added: trunk/perfsonar-web-admin-0/pom.xml
===================================================================
--- trunk/perfsonar-web-admin-0/pom.xml (rev 0)
+++ trunk/perfsonar-web-admin-0/pom.xml 2014-01-30 22:42:23 UTC (rev 6484)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.geant.perfsonar</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0.2</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>perfsonar-web-admin</artifactId>
+ <version>0.9.10-SNAPSHOT</version>
+ <name>perfSONAR web admin</name>
+ <description>perfSONAR Web Administration Interface</description>
+ <packaging>jar</packaging>
+
+ <issueManagement>
+ <system>JIRA</system>
+
<url>https://issues.geant.net/jira/browse/PSSERVICES/component/10679</url>
+ </issueManagement>
+
+ <scm>
+
<connection>scm:svn:http://svn.geant.net/GEANT/SA2/ps-java-services/trunk/perfsonar-web-admin-0/</connection>
+
<developerConnection>scm:svn:svn+ssh:///GEANT/SA2/ps-java-services/trunk/perfsonar-web-admin-0/</developerConnection>
+
<url>https://svn.geant.net/fisheye/browse/SA2T3-ps-java-services/trunk/perfsonar-web-admin-0/</url>
+ </scm>
+
+ <build>
+ <finalName>${project.artifactId}</finalName>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>net.geant.perfsonar</groupId>
+ <artifactId>perfsonar_base</artifactId>
+ <version>1.1.3</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>slf4j-simple</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file


Property changes on: trunk/perfsonar-web-admin-0/pom.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain

Modified:
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/Wizard.java
===================================================================
--- trunk/perfsonar-web-admin-0/perfSONARWebAdmin/admin/wizard/Wizard.java
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/Wizard.java
2014-01-30 22:42:23 UTC (rev 6484)
@@ -186,8 +186,7 @@
// the user is request the first page of the
servlet
// so all properties will be displayed.
if (request.getParameterMap().isEmpty()) {
- output
-
.showAllProperties(groupedProperties,
+
output.showAllProperties(groupedProperties,

"Please fill in all fields. Mandatory fields are marked with an asterisk.");
} else {
// If there are parameters in the
request, that means the
@@ -199,7 +198,7 @@
if (function.equals("finish")) {
try {

handler.handleRequest(request);
- output.infoPage
+ output.infoPage
("perfSONAR
configuration Wizard",
"You have
succesfully configured the service!You can restart tomcat"+
" for the
changes to take effect.\n Or go "+ goBack);
@@ -239,8 +238,7 @@
String userInfo =
authorization.substring(6).trim();
Base64 coder = new Base64();
// BASE64Decoder decoder = new
BASE64Decoder();
- String nameAndPassword = new
String(coder.decode(userInfo
- .getBytes()));
+ String nameAndPassword = new
String(coder.decode(userInfo.getBytes()));
int index = nameAndPassword.indexOf(":");
String user = nameAndPassword.substring(0,
index);
String password =
nameAndPassword.substring(index + 1);
@@ -250,8 +248,7 @@
// Authetnication was successful we
show the user all
// properties to be configured
session.setAttribute("authenticated",
true);
- output
-
.showAllProperties(groupedProperties,
+
output.showAllProperties(groupedProperties,

"Please fill in all fields. Mandatory fileds are marked with an asterisk.");

} else {

Modified:
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/services/RRDMAHandler.java
===================================================================
---
trunk/perfsonar-web-admin-0/perfSONARWebAdmin/admin/wizard/services/RRDMAHandler.java
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/admin/wizard/services/RRDMAHandler.java
2014-01-30 22:42:23 UTC (rev 6484)
@@ -21,13 +21,11 @@
import perfSONARWebAdmin.auxiliary.ServiceProperties;
import perfSONARWebAdmin.auxiliary.ServicePropertiesImpl;
import perfSONARWebAdmin.auxiliary.wizard.ConfigurationHandler;
-import perfSONARWebAdmin.auxiliary.wizard.HTMLOutput;
import perfSONARWebAdmin.auxiliary.wizard.WizardProperties;
import perfSONARWebAdmin.auxiliary.wizard.WizardProperty;
import perfSONARWebAdmin.auxiliary.xmlDB.xmlDBManager;
import perfSONARWebAdmin.auxiliary.xmlDB.xmlDBManagerImpl;

-import perfSONARWebAdmin.auxiliary.MaskedException;
/**
* Class implementing the ConfigurationHandler Interface. This is a reference
* imlementation to be used exam
@@ -229,12 +227,9 @@
// PerfsonarProperties class
if (!group.equals("Administration")) {

- // Using PerfsonarProperties in order to keep the
grouping and
- // description
- PerfsonarProperties serviceProperties = null;
- serviceProperties = new PerfsonarPropertiesImpl();
- serviceProperties.loadProperties(new
FileInputStream(ServicePath
- + ServicePropertiesPath));
+ // Using PerfsonarProperties in order to keep the
grouping and description
+ PerfsonarProperties serviceProperties = new
PerfsonarPropertiesImpl();
+ serviceProperties.loadProperties(new
FileInputStream(ServicePath + ServicePropertiesPath));
// Getting the names for every property of the group
Iterator it = functionProperties.orderedKeys();
// Setting the value of each property
@@ -261,17 +256,14 @@

serviceProperties.setProperty(key,
property);
}
- properties.setWizardProperty(key,
functionProperties
- .getWizardProperty(key));
+ properties.setWizardProperty(key,
functionProperties.getWizardProperty(key));
}
// Storing all changes
- serviceProperties.storeProperties(new
FileOutputStream(ServicePath
- + ServicePropertiesPath));
+ serviceProperties.storeProperties(new
FileOutputStream(ServicePath + ServicePropertiesPath));
}
// We don't really have any other groups just the ones for
the servlet
// administration, that does not use grouping and description
so we can
- // use
- // the ServiceProperties class as usual
+ // use the ServiceProperties class as usual
else {
// A class that makes modifying service properties a
little bit
// easier
@@ -290,15 +282,13 @@
} else {
serviceProperties.setProperty(key,
value);
}
- properties.setWizardProperty(key,
functionProperties
- .getWizardProperty(key));
+ properties.setWizardProperty(key,
functionProperties.getWizardProperty(key));
}
serviceProperties.storeProperties();

}
- properties.storeToXML(new FileOutputStream(new
File(ServicePath
- + WizardPropertiesPath)), " Last Modification
"
- +
Calendar.getInstance().getTime().toString());
+ properties.storeToXML(new FileOutputStream(new
File(ServicePath + WizardPropertiesPath)),
+ " Last Modification " +
Calendar.getInstance().getTime().toString());
}

/**
@@ -345,7 +335,7 @@
// Storing service properties
serviceProperties.storeProperties(new
FileOutputStream(ServicePath
+ ServicePropertiesPath));
- // Setting the LS registration componenets in components
properties file
+ // Setting the LS registration components in components
properties file
addRegistrationComponents();
// Storing the wizard properties
properties.storeToXML(new FileOutputStream(new
File(ServicePath
@@ -354,8 +344,7 @@
}

/**
- * Method used for handling all actions associated with exist db
- * confoguration
+ * Method used for handling all actions associated with exist db
configuration
*
* @param finalProperties
* The Wizard Properties associated with the exist group
@@ -382,7 +371,7 @@
"servlet.service_type").trim();
// Naming the new collection on exist db
String dbCollection = serviceName + "config";
- // Initializing all necessary fileds
+ // Initializing all necessary fields
String adminPass = null;
String existURI = "";
String newAdminPass = null;
@@ -405,66 +394,44 @@
}

it = finalProperties.orderedKeys();
- // Iterating though tthe users input
+ // Iterating though the users input
while (it.hasNext()) {
String key = (String) it.next();
// The input from the user is also set in service
properties with a
- // slight modification for tyhe xmldb uri. We need to
add the
+ // slight modification for the xmldb uri. We need to
add the
// collection at the end of the URI
PerfsonarProperty property = new PerfsonarProperty();

if (!key.endsWith("xmldb.db_uri")) {
-
if (key.equals("create_user")) {
-
createUser =
finalProperties.getProperty(key).trim();
-
- }
-
- else if (key.equals("old_adminpassword_1")) {
-
+ } else if (key.equals("old_adminpassword_1"))
{
old_adminPass1 =
finalProperties.getProperty(key).trim();
-
- }
-
- else if (key.equals("change_admin_pass")) {
-
+ } else if (key.equals("change_admin_pass")) {
changePass =
finalProperties.getProperty(key).trim();
-
} else if
(key.endsWith("xmldb.db_adminpassword_confirm")) {
-
- new_adminPassConfirm =
finalProperties.getProperty(key)
- .trim();
-
+ new_adminPassConfirm =
finalProperties.getProperty(key).trim();
} else if (key.equals("old_adminpassword")) {
-
old_adminPass =
finalProperties.getProperty(key).trim();
-
} else {
-
property =
serviceProperties.getProperty(key);
// If property key does not exist
throw an exceptrion
if (property == null) {
throw new Exception("Key is
invalid " + key + " ");
} else {
-
if(!key.endsWith("xmldb.db_adminpassword")||(finalProperties.getProperty("change_admin_pass").equals("yes"))){
-
property.setValue(finalProperties.getProperty(key));
-
serviceProperties.setProperty(key, property);
+
if(!key.endsWith("xmldb.db_adminpassword")||(finalProperties.getProperty("change_admin_pass").equals("yes")))
{
+
property.setValue(finalProperties.getProperty(key));
+
serviceProperties.setProperty(key, property);
}
}
}
} else {
-
property = serviceProperties.getProperty(key);
property.setValue(existURI + "/db/" +
dbCollection);
serviceProperties.setProperty(key, property);
-
}
// Setting also the wizard properties
-
- properties.setWizardProperty(key,
finalProperties
- .getWizardProperty(key));
-
+ properties.setWizardProperty(key,
finalProperties.getWizardProperty(key));

// Also getting all needed information in orer to
configure the
// exist db
@@ -478,10 +445,8 @@
confFile =
finalProperties.getProperty(key).trim();
}
if (key.endsWith("xmldb.db_adminpassword")) {
-
newAdminPass =
finalProperties.getProperty(key).trim();
}
-
}

// If admin pass is not set than its considered to be empty
@@ -495,32 +460,24 @@
} else {

if (createUser.equals("yes")) {
-
- xmlDBManager manager = new
xmlDBManagerImpl(existURI, "admin",
- old_adminPass1);
+ xmlDBManager manager = new
xmlDBManagerImpl(existURI, "admin", old_adminPass1);
// Creating collection and users
manager.createCollection(dbCollection);
manager.createUser(dbCollection, username,
password, null);
// Adding the metadata config document
-
manager.getCollection(dbCollection).addDocument(
- new File(confFile), username);
+
manager.getCollection(dbCollection).addDocument(new File(confFile), username);
} else {
- xmlDBManager manager = new
xmlDBManagerImpl(existURI, username,
- password);
+ xmlDBManager manager = new
xmlDBManagerImpl(existURI, username, password);
// Creating collection and users
manager.createCollection(dbCollection);
// Adding the metadata config document
-
manager.getCollection(dbCollection).addDocument(
- new File(confFile), username);
+
manager.getCollection(dbCollection).addDocument(new File(confFile), username);
}
// Modifying the admin user password
if (changePass.equals("yes")) {
if
(newAdminPass.equals(new_adminPassConfirm)) {
-
- xmlDBManager manager = new
xmlDBManagerImpl(existURI,
- "admin",
old_adminPass);
+ xmlDBManager manager = new
xmlDBManagerImpl(existURI, "admin", old_adminPass);
manager.modifyUser("admin",
newAdminPass, null, null);
-
} else {
throw new Exception(
"New eXist Admin
passwords don't match.Please re-enter passwords.");

Modified:
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/HTMLOutput.java
===================================================================
---
trunk/perfsonar-web-admin-0/perfSONARWebAdmin/auxiliary/wizard/HTMLOutput.java
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/HTMLOutput.java
2014-01-30 22:42:23 UTC (rev 6484)
@@ -21,6 +21,7 @@
import org.jdom.Namespace;
import org.jdom.input.DOMBuilder;
import org.xml.sax.SAXParseException;
+
/**
* Class used as front end for creation the html output. It hides the html
* creation details from the user making his job easier(hopefully)
@@ -30,767 +31,775 @@
*/
public class HTMLOutput {

- //
-----------------------------------------------------------------------
- // class fields
+ //
-----------------------------------------------------------------------
+ // class fields

- // The doctype of the html document. Currently Html 4.01 transitional
- private static final String doctype = "<!DOCTYPE HTML PUBLIC
\"-//W3C//DTD HTML 4.01 Transitional//EN\"
\"http://www.w3.org/TR/html4/loose.dtd\";>";
+ // The doctype of the html document. Currently Html 4.01 transitional
+ private static final String doctype = "<!DOCTYPE HTML PUBLIC
\"-//W3C//DTD HTML 4.01 Transitional//EN\"
\"http://www.w3.org/TR/html4/loose.dtd\";>";

- private static final String nbsp = "&nbsp;";
- // The servlet output stream that will be used to output the html code
- private static ServletOutputStream out = null;
-
- private int debug = 0;
- private String html = "";
+ private static final String nbsp = "&nbsp;";
+ // The servlet output stream that will be used to output the html code
+ private static ServletOutputStream out = null;

- // A Linked List containing the various grouped to be configured
- private static LinkedList Groups;
+ private int debug = 0;
+ private String html = "";

- private static String times(int i )
- {
- String ret="";
- for(int j = 0 ; j < i ; j++ ) ret += nbsp;
- return ret;
- }
- //
-----------------------------------------------------------------------
- // constructors
+ // A Linked List containing the various grouped to be configured
+ private static LinkedList Groups;

- /**
- * Class constructor. Used by older wizard servlet
- *
- * @param groups
- * A linked list containg all groups to be handled
- */
- public HTMLOutput(LinkedList groups) {
+ private static String times(int i) {
+ String ret = "";
+ for (int j = 0; j < i; j++)
+ ret += nbsp;
+ return ret;
+ }

- Groups = groups;
- }
+ //
-----------------------------------------------------------------------
+ // constructors

- /**
- * Class Constructor
- */
- public HTMLOutput() {
- }
+ /**
+ * Class constructor. Used by older wizard servlet
+ *
+ * @param groups
+ * A linked list containg all groups to be handled
+ */
+ public HTMLOutput(LinkedList groups) {
+ Groups = groups;
+ }

- public String debugString()
- {
- return html;
- }
- //
-----------------------------------------------------------------------
- // public methods
+ /**
+ * Class Constructor
+ */
+ public HTMLOutput() {
+ }

- /**
- * Method that sets the ServletOutputStream that is used by the
HTMLOutput
- * class. The stream is set by the wizard servlet,and its retrieved
by teh
- * HttpResponnse Object
- *
- * @param stream
- * The ServletOutputStream
- */
- public void setOuputStream(ServletOutputStream stream) {
+ public String debugString() {
+ return html;
+ }

- out = stream;
- }
+ //
-----------------------------------------------------------------------
+ // public methods

- /**
- * Method used for showing the properties to be configured. Used by
an older
- * Wizard servlet object
- *
- * @param request
- * The HttpServletRequest Object containing info from the
user
- * @param showProperties
- * The properties to be shown
- * @param function
- * The group that the properties belong to
- * @param ignoreFirst
- * The user can set this to true if he doesn't want the
first
- * property to be shown(In case its a property that was set
- * before)
- * @throws IOException
- */
- public void showProperties(HttpServletRequest request,
- WizardProperties showProperties, String function,
- boolean ignoreFirst) throws IOException {
+ /**
+ * Method that sets the ServletOutputStream that is used by the
HTMLOutput
+ * class. The stream is set by the wizard servlet,and its retrieved by
teh
+ * HttpResponnse Object
+ *
+ * @param stream
+ * The ServletOutputStream
+ */
+ public void setOuputStream(ServletOutputStream stream) {
+ out = stream;
+ }

- Iterator it = showProperties.orderedKeys();
- if (ignoreFirst) {
- it.next();
- }
- preempt("default.css");
- println("<div class=\"properties\">");
- println("<br><p>Please fill in the following fields:");
- println("<form action=\"ConfigurationWizard\" method=\"GET\">
");
- println("<input type=\"hidden\" name=\"function\" value=\""
- + function + "\" >");
- println("<input type=\"hidden\" name=\"phase\"
value=\"final\" >");
- println("<table align=\"center\">");
- while (it.hasNext()) {
- WizardProperty pr =
showProperties.getWizardProperty((String) it
- .next());
- println("<tr><td>" + pr.getPropertyComment() +
"</td><td>");
- String[] values = pr.getAcceptedValues();
- if (values != null) {
+ /**
+ * Method used for showing the properties to be configured. Used by an
older
+ * Wizard servlet object
+ *
+ * @param request
+ * The HttpServletRequest Object containing info from the user
+ * @param showProperties
+ * The properties to be shown
+ * @param function
+ * The group that the properties belong to
+ * @param ignoreFirst
+ * The user can set this to true if he doesn't want the first
+ * property to be shown(In case its a property that was set
+ * before)
+ * @throws IOException
+ */
+ public void showProperties(HttpServletRequest request, WizardProperties
showProperties, String function,
+ boolean ignoreFirst) throws IOException {

- for (int i = 0; i < values.length; i++) {
- String checked =
values[i].equals(pr.getProposedValue()) ? "checked=\"checked\""
- : "";
- println("<input type=\"radio\"" +
checked + " name=\""
- + pr.getKey() + "\"
value=\"" + values[i] + "\">"
- + values[i] +
"</input>");
- }
- } else {
- println("<input type=\"text\" name=\"" +
pr.getKey()
- + "\" size=60 value=\"" +
pr.getProposedValue()
- + " \"/>");
- }
- println("</td></tr>");
- }
- println("</table><p>");
- println("<p><input type=\"submit\" name=\"Submit\"
value=\"Submit\"></p>");
- println("</form> ");
- println("</div>");
- println("</div>");
- println("</body>");
- println("</html>");
- close();
+ Iterator it = showProperties.orderedKeys();
+ if (ignoreFirst) {
+ it.next();
+ }
+ preempt("default.css");
+ println("<div class=\"properties\">");
+ println("<br><p>Please fill in the following fields:");
+ println("<form action=\"ConfigurationWizard\" method=\"GET\"> ");
+ println("<input type=\"hidden\" name=\"function\" value=\"" +
function + "\" >");
+ println("<input type=\"hidden\" name=\"phase\" value=\"final\" >");
+ println("<table align=\"center\">");
+ while (it.hasNext()) {
+ WizardProperty pr = showProperties.getWizardProperty((String)
it.next());
+ println("<tr><td>" + pr.getPropertyComment() + "</td><td>");
+ String[] values = pr.getAcceptedValues();
+ if (values != null) {
+ for (int i = 0; i < values.length; i++) {
+ String checked = values[i].equals(pr.getProposedValue())
? "checked=\"checked\"" : "";
+ println("<input type=\"radio\"" + checked + " name=\"" +
pr.getKey() + "\" value=\"" + values[i]
+ + "\">" + values[i] + "</input>");
+ }
+ } else {
+ println("<input type=\"text\" name=\"" + pr.getKey() + "\"
size=60 value=\"" + pr.getProposedValue()
+ + " \"/>");
+ }
+ println("</td></tr>");
+ }
+ println("</table><p>");
+ println("<p><input type=\"submit\" name=\"Submit\"
value=\"Submit\"></p>");
+ println("</form> ");
+ println("</div>");
+ println("</div>");
+ println("</body>");
+ println("</html>");
+ close();
+ }

- }
+ /**
+ * Method used by older wizard servlet. Its purpose is to display to the
+ * user a sindle property which its value would determine if the rest of
the
+ * group properties will be shown to the user. i.e |Do you want to
register
+ * to a LS
+ *
+ * @param property
+ * The properety to be dispalyed
+ * @param function
+ * The group the property belongs to
+ * @param phase
+ * The phase that the configuration process is for this
+ * particular group
+ * @throws IOException
+ */
+ public void continuePage(WizardProperty property, String function,
String phase) throws IOException {

- /**
- * Method used by older wizard servlet. Its purpose is to display to
the
- * user a sindle property which its value would determine if the rest
of the
- * group properties will be shown to the user. i.e |Do you want to
register
- * to a LS
- *
- * @param property
- * The properety to be dispalyed
- * @param function
- * The group the property belongs to
- * @param phase
- * The phase that the configuration process is for this
- * particular group
- * @throws IOException
- */
- public void continuePage(WizardProperty property, String function,
- String phase) throws IOException {
+ preempt("default.css");
+ println("<div class=\"continue\">");
+ println("<br><p><h3>" + property.getPropertyComment());
+ println("<form action=\"ConfigurationWizard\" method=\"GET\"> ");
+ println("<input type=\"hidden\" name=\"function\" value=\"" +
function + "\" >");
+ println("<input type=\"hidden\" name=\"phase\" value=\"" + phase +
"\" >");
+ String[] values = property.getAcceptedValues();
+ // println("Values=" + values[1]);
+ for (int i = 0; i < values.length; i++) {
+ println("<input type=\"radio\" name=\"" + property.getKey() +
"\" value=\"" + values[i] + "\" >"
+ + values[i] + "</input>");
+ }
+ println("<p><input type=\"submit\" name=\"Submit\" value=\"Submit\"
></p>");
+ println("</form> ");
+ println("</div>");
+ println("</div>");
+ println("</body>");
+ println("</html>");
+ close();
+ }

- preempt("default.css");
- println("<div class=\"continue\">");
- println("<br><p><h3>" + property.getPropertyComment());
- println("<form action=\"ConfigurationWizard\" method=\"GET\">
");
- println("<input type=\"hidden\" name=\"function\" value=\""
- + function + "\" >");
- println("<input type=\"hidden\" name=\"phase\" value=\"" +
phase
- + "\" >");
- String[] values = property.getAcceptedValues();
- // println("Values=" + values[1]);
- for (int i = 0; i < values.length; i++) {
+ /**
+ * Method used for displaing information messages to the user
+ *
+ * @param topMessage
+ * The message that will appear at the top of the page
+ * @param message
+ * The main message to the user
+ * @throws IOException
+ */
+ public void infoPage(String topMessage, String message) throws
IOException {
+ preemptModified("default.css");
+ println("<div align=\"left\" class=\"info\">");
+ println("<br><h4 class=\"info_wizard\">" + topMessage +
"</h4></br>");
+ if (message != null) {
+ println("<p class=\"info_wizard\" >" + message + "</p>");
+ }
+ println("</div>");
+ println("</div>");
+ println("</body>");
+ println("</html>");
+ close();
+ }

- println("<input type=\"radio\" name=\"" +
property.getKey()
- + "\" value=\"" + values[i] + "\" >"
+ values[i]
- + "</input>");
- }
- println("<p><input type=\"submit\" name=\"Submit\"
value=\"Submit\" ></p>");
- println("</form> ");
- println("</div>");
- println("</div>");
- println("</body>");
- println("</html>");
- close();
+ public void setDebug(int d) {
+ debug = d;
+ }

- }
+ private void close() throws IOException {
+ if (out != null)
+ out.close();
+ html += "\n";
+ }

- /**
- * Method used for displaing information messages to the user
- *
- * @param topMessage
- * The message that will appear at the top of the page
- * @param message
- * The main message to the user
- * @throws IOException
- */
- public void infoPage(String topMessage, String message) throws
IOException {
- preemptModified("default.css");
- println("<div align=\"left\" class=\"info\">");
- println("<br><h4 class=\"info_wizard\">" + topMessage +
"</h4></br>");
- if (message != null) {
- println("<p class=\"info_wizard\" >" + message +
"</p>");
- }
- println("</div>");
- println("</div>");
- println("</body>");
- println("</html>");
- close();
+ private void println(String string) throws IOException {
+ if (debug < 4)
+ out.println(string);
+ if (debug >= 5)
+ html += string + "\n";
+ }

- }
+ private static String btag(String name, String body, String... atts) {
+ String ret = "<" + name + " ";
+ if (atts != null && atts.length > 0) {
+ for (String s : atts)
+ ret += s + " ";
+ }
+ return ret + ">" + body + "</" + name + ">";
+ }

- public void setDebug( int d )
- {
- debug = d;
- }
+ private static String att(String attr, String val) {
+ if (val == null)
+ return "";
+ else
+ return " " + attr + " = \"" + val + "\"";
+ }

- private void close() throws IOException
- {
- if( out != null ) out.close();
- html += "\n";
- }
+ private static String table(boolean b, String body) {
+ return btag("table", body, att("center", (b ? "center" : null)));
+ }

- private void println( String string ) throws IOException
- {
- if( debug < 5 ) System.out.println(string);
- if( debug < 4 ) out.println(string);
- if( debug >= 5 ) html += string + "\n";
- }
+ private static String div(String cls, String id, String align, String
style, String body) {
+ return btag("div", body, att("class", cls), att("id", id),
att("align", align), att("style", style));
+ }

- private static String btag( String name , String body , String ...
atts )
- {
- String ret = "<" + name + " ";
- if( atts != null && atts.length > 0 )
- {
- for( String s : atts ) ret += s + " ";
- }
- return ret + ">" + body + "</" + name + ">";
- }
+ private static String form(String action, String name, String method,
String onsubmit, String body) {
+ return btag("form", body, att("action", action), att("name", name),
att("method", method),
+ att("onsubmit", onsubmit));
+ }

- private static String att( String attr, String val )
- {
- if( val == null ) return "";
- else return " " + attr + " = \"" + val + "\"";
- }
+ private static String p(String cls, String body) {
+ return btag("p", body, att("class", cls));
+ }

+ private static String input(String type, String name, String value,
String onClick, String body) {
+ return btag("input", body, att("type", type), att("name", name),
att("value", value), att("onClick", onClick));
+ }

- private static String table( boolean b , String body ){
return btag("table",body,att("center",(b?"center":null))); }
+ private static String radio_chk(String type, String name, String value,
String onClick, String body) {
+ return btag("input", body, att("type", type), att("name", name),
att("value", value), att("onClick", onClick),
+ att("checked", "true"));
+ }

- private static String div( String cls , String id , String align,
String style , String body )
- { return
btag("div",body,att("class",cls),att("id",id),att("align",align),att("style",style));
}
+ private static String input_id(String type, String id, String value,
String onClick, String body) {
+ return btag("input", body, att("type", type), att("id", id),
att("value", value), att("onClick", onClick));
+ }

- private static String form( String action, String name , String
method , String onsubmit ,String body )
- { return
btag("form",body,att("action",action),att("name",name),att("method",method),att("onsubmit",onsubmit));
}
+ private static String html(String body) {
+ return btag("html", body);
+ }

- private static String p( String cls, String body ) {
return btag("p",body,att("class",cls)); }
+ private static String body(String bd) {
+ return btag("body", bd);
+ }

- private static String input( String type , String name , String value
, String onClick , String body )
- { return
btag("input",body,att("type",type),att("name",name),att("value",value),att("onClick",onClick));
}
+ private static String head(String bd) {
+ return btag("head", bd);
+ }

- private static String radio_chk( String type , String name , String
value , String onClick , String body )
- { return
btag("input",body,att("type",type),att("name",name),att("value",value),att("onClick",onClick),att("checked","true"));
}
+ private static String title(String bd) {
+ return btag("title", bd);
+ }

- private static String input_id( String type , String id , String
value , String onClick , String body )
- { return
btag("input",body,att("type",type),att("id",id),att("value",value),att("onClick",onClick));
}
+ private static String ul(String bd) {
+ return btag("ul", bd);
+ }

- private static String html( String body ) { return btag("html",body); }
- private static String body( String bd ) { return btag("body",bd); }
- private static String head( String bd ) { return btag("head",bd); }
- private static String title( String bd ) { return btag("title",bd); }
- private static String ul( String bd ) { return btag("ul",bd); }
- private static String li( String bd ) { return btag("li",bd); }
- private static String h1( String bd ) { return btag("h1",bd); }
- private static String a( String href, String bd ) { return
btag("a",bd,att("href",href)); }
- private static String br( String body ){ return
btag("br",body); }
- private static String tr( String body ){ return
btag("tr",body); }
- private static String td( String body ){ return
btag("td",body); }
- private static String td_col( String body ){ return
btag("td",body,att("colspan","2")); }
- private static String span( String cls, String body ){ return
btag("span",body,att("class",cls)); }
-
- private String groupsHtml()
- {
- Iterator it = Groups.iterator();
- String ret = "";
- while (it.hasNext()) {
- String group = (String) it.next();
- if (group.equals("exist")) ret +=
li(a("ConfigurationWizard?function=exist&phase=initial","Exist
Configuration"));
- else if (group.equals("ls")) ret +=
li(a("ConfigurationWizard?function=ls&phase=initial","LS Registration
Configuration"));
- else ret += li(a("ConfigurationWizard?function="+
group + "&phase=initial","Configuration"));
- }
- return ret;
- }
+ private static String li(String bd) {
+ return btag("li", bd);
+ }

- private String showRadio(WizardProperty pr)
- {
- String[] values = pr.getAcceptedValues();
- String body = "";
- if (values != null)
+ private static String h1(String bd) {
+ return btag("h1", bd);
+ }

- for (int i = 0; i < values.length; i++)
- {
- body += btag("radio", nbsp + nbsp +
values[i] + nbsp ,
- att("checked",
(values[i].equals(pr.getProposedValue()) ? "checked": "")),
-
att("name",pr.getKey()),att("value",values[i]));
-
- }
- else body= btag("input","",
att("id",(pr.isRequired()?"required":"")),att("class","input_style"),
-
att("onmouseover","setTip(null,'" + pr.getProposedValue() +
"','#D5E9D4')"),
-
att("type",(pr.isPassword()?"password":"text")),att("name",pr.getKey()),att("size","40"),
-
att("value",(pr.isPassword()?"":pr.getProposedValue())));
+ private static String a(String href, String bd) {
+ return btag("a", bd, att("href", href));
+ }

- return tr(td(pr.getPropertyComment() + span("greenasterisk",
(pr.isRequired()?"*":"")))+body);
- }
+ private static String br(String body) {
+ return btag("br", body);
+ }

+ private static String tr(String body) {
+ return btag("tr", body);
+ }

- private static String optionsHtml( WizardProperty pr )
- {
- String[] values = pr.getAcceptedValues();
- String ret = "";
+ private static String td(String body) {
+ return btag("td", body);
+ }

- if (values != null) {
- for (int i = 0; i < values.length; i++)
- {
- if (!values[i].equals(pr.getProposedValue()) )
- {
- ret +=
radio_chk("radio",pr.getKey(),values[i],"checkIt(this);", times(2) +
values[i] + nbsp);
- }
- }
- }
- return ret;
- }
+ private static String td_col(String body) {
+ return btag("td", body, att("colspan", "2"));
+ }

- private String mainBodyBody( Iterator it, WizardProperty pr ,
WizardProperties pro , boolean equalsLS , boolean equalsCheck )
- {
- String body = "";
- if( !equalsLS && !equalsCheck ) body = showRadio(pr);
- else if ( equalsLS ) it = pro.orderedKeys();
- boolean check=false,closed=true;
- final String id = (equalsLS?"useLS": pr.getKey());
- while (it.hasNext()) {
- pr = pro.getWizardProperty((String)
it.next());
- if(pr.getCheck())
- body +=
tr(td_col(div("inner_properties",pr.getKey(),null,"none;",
-
input("hidden",pr.getProposedValue(),"Vl_" + pr.getKey(),null,"")
- +
tr(td(pr.getPropertyComment()) + td(nbsp+optionsHtml(pr)+nbsp)
- ))));
- else body += showRadio(pr);
- } //end while
+ private static String span(String cls, String body) {
+ return btag("span", body, att("class", cls));
+ }

- return div(null,id,null,"display:"+
((equalsCheck||equalsLS)?"none":"block")+";",table(true,body));
- }
+ private String groupsHtml() {
+ Iterator it = Groups.iterator();
+ String ret = "";
+ while (it.hasNext()) {
+ String group = (String) it.next();
+ if (group.equals("exist"))
+ ret +=
li(a("ConfigurationWizard?function=exist&phase=initial", "Exist
Configuration"));
+ else if (group.equals("ls"))
+ ret += li(a("ConfigurationWizard?function=ls&phase=initial",
"LS Registration Configuration"));
+ else
+ ret += li(a("ConfigurationWizard?function=" + group +
"&phase=initial", "Configuration"));
+ }
+ return ret;
+ }

- private String mainBody( Hashtable<String, WizardProperties>
Properties )
- {
- Set<String> groupnames = Properties.keySet();
- Iterator groupIt = groupnames.iterator();
- String ret = "";
- boolean equalsLS,equalsCheck;
- while (groupIt.hasNext())
- {
- String group = (String) groupIt.next();
- WizardProperties pro = Properties.get(group);
- Iterator it = pro.orderedKeys();
- WizardProperty pr = pro.getWizardProperty((String)
it.next()); // First element not hidden
+ private String showRadio(WizardProperty pr) {
+ String[] values = pr.getAcceptedValues();
+ String body = "";
+ if (values != null)
+ for (int i = 0; i < values.length; i++) {
+ body += btag("radio", nbsp + nbsp + values[i] + nbsp,
+ att("checked",
(values[i].equals(pr.getProposedValue()) ? "checked" : "")),
+ att("name", pr.getKey()), att("value", values[i]));
+ }
+ else
+ body = btag("input", "", att("id", (pr.isRequired() ? "required"
: "")), att("class", "input_style"),
+ att("onmouseover", "setTip(null,'" +
pr.getProposedValue() + "','#D5E9D4')"),
+ att("type", (pr.isPassword() ? "password" : "text")),
att("name", pr.getKey()), att("size", "40"),
+ att("value", (pr.isPassword() ? "" :
pr.getProposedValue())));

- ret += p("groupheading", group + " Configuration:");
- equalsLS = group.equals("LS");
- equalsCheck = pr.getCheck();
+ return tr(td(pr.getPropertyComment() + span("greenasterisk",
(pr.isRequired() ? "*" : ""))) + body);
+ }

- if( equalsLS ) ret = table(true, tr(td("Do you wish
to register with an LS?") +
-
td(times(13)+ input("radio","useLS","yes","checkIt(this);", times(2) +
"yes" + nbsp)+
-
times(5) + radio_chk("radio","useLS","no","checkIt(this);", times(14) +
"no" + nbsp))));
- else if ( equalsCheck ) ret +=
table(true,tr(td(pr.getPropertyComment())) + times(21) + optionsHtml(pr)+
times(21));
+ private static String optionsHtml(WizardProperty pr) {
+ String[] values = pr.getAcceptedValues();
+ String ret = "";

- ret+= table(true,(( equalsLS || equalsCheck ) ?
-
((equalsLS?input("hidden","Vl_useLS","yes",null,""):input("hidden","Vl_"+pr.getKey(),pr.getProposedValue(),null,""))):"")
+
- mainBodyBody(it,pr,pro,equalsLS,equalsCheck)
- );
- }
- return ret;
- }
+ if (values != null) {
+ for (int i = 0; i < values.length; i++) {
+ if (!values[i].equals(pr.getProposedValue())) {
+ ret += radio_chk("radio", pr.getKey(), values[i],
"checkIt(this);", times(2) + values[i] + nbsp);
+ }
+ }
+ }
+ return ret;
+ }

- public void showAllProperties_(Hashtable<String, WizardProperties>
Properties, String message)throws IOException {
- println(doctype);
- println(
- html(
- head(getCSS("default.css")) +
- title("perfSONAR services
configuration wizard") +
- body(
- getScript() +
-
//div("banner",null,"top",null,h1("PerfSONAR")) +
- div("main",null,null,null,
-
//div("config_option",null,"left",null,
- // ul(
li("Configuration options") + groupsHtml() +
li(a("ConfigurationWizard?function=finish","Finish Configuration"))))+
- //
- //private static
String input( String type , String name , String value , String onClick ,
String body )
-
div("top",null,null,null,br(message) +
-
div("properties","properties",null,null,
-
form("action","wizardForm","GET","return checkStarFields()",
-
input("hidden","function","finish",null,"") +
-
mainBody(Properties) +
-
times(126) +
-
btag("input","",att("align","right"),att("type","submit"),
-

att("class","submit_button"),att("id","Button"),att("name","Submit"))

- )
- ))
- ))
- )
- );
- }
+ private String mainBodyBody(Iterator it, WizardProperty pr,
WizardProperties pro, boolean equalsLS,
+ boolean equalsCheck) {
+ String body = "";
+ if (!equalsLS && !equalsCheck)
+ body = showRadio(pr);
+ else if (equalsLS)
+ it = pro.orderedKeys();
+ boolean check = false, closed = true;
+ final String id = (equalsLS ? "useLS" : pr.getKey());
+ while (it.hasNext()) {
+ pr = pro.getWizardProperty((String) it.next());
+ if (pr.getCheck())
+ body += tr(td_col(div(
+ "inner_properties",
+ pr.getKey(),
+ null,
+ "none;",
+ input("hidden", pr.getProposedValue(), "Vl_" +
pr.getKey(), null, "")
+ + tr(td(pr.getPropertyComment()) + td(nbsp +
optionsHtml(pr) + nbsp)))));
+ else
+ body += showRadio(pr);
+ } // end while

- /**
- * Method used for displaying all properties to be configured, divided
- * accodring to the group they belong to.
- *
- * @param Properties
- * The Wizard Properties to be configured
- * @param message
- * The top message to the user
- * @throws IOException
- */
- public void showAllProperties(
- Hashtable<String, WizardProperties> Properties,
String message)
- throws IOException {
+ return div(null, id, null, "display:" + ((equalsCheck || equalsLS) ?
"none" : "block") + ";", table(true, body));
+ }

- Set<String> groupnames = Properties.keySet();
- //Collections.sort(groupnames);
- Iterator<String> groupIt = groupnames.iterator();
- preemptModified("default.css");
- println("<div class=\"top\"><br>" + message + "</br></div>");
- println("<div id=\"properties\" class=\"properties\">");
- println("<form action=\"Wizard\" name=\"wizardForm\"
method=\"GET\" onsubmit=\"return checkStarFields()\" > ");
-
- println("<input type=\"hidden\" name=\"function\"
value=\"finish\" />");
- while (groupIt.hasNext()) {
- String group = groupIt.next();
- println("<p class=\"groupheading\">" + group + "
Configuration:</p>");
- WizardProperties pro = Properties.get(group);
- Iterator it = pro.orderedKeys();
- WizardProperty pr = pro.getWizardProperty((String)
it.next()); // First element not hidden
- String display = "block";
- String onClick;
- if (pr.getCheck() || group.equals("LS")) {
- println("<table align=\"center\">");
- display = "none";
- onClick = " onclick=\"checkIt(this);\"";
- if (group.equals("LS")) {
- it = pro.orderedKeys();
-
println("<input type=\"hidden\" value=\"yes\" id=\"Vl_useLS\" />");
- } else {
- println("<input type=\"hidden\"
value=\""
- +
pr.getProposedValue() + "\" id=\"Vl_"
- + pr.getKey() + "\"
/>");
- }
- } else {
- display = "block";
- onClick = "";
- }
+ private String mainBody(Hashtable<String, WizardProperties> Properties) {
+ Set<String> groupnames = Properties.keySet();
+ Iterator groupIt = groupnames.iterator();
+ String ret = "";
+ boolean equalsLS, equalsCheck;
+ while (groupIt.hasNext()) {
+ String group = (String) groupIt.next();
+ WizardProperties pro = Properties.get(group);
+ Iterator it = pro.orderedKeys();
+ WizardProperty pr = pro.getWizardProperty((String) it.next());
// First element not hidden

- String id = "";
- if (group.equals("LS") || pr.getCheck()) {
- if (group.equals("LS")) {
+ ret += p("groupheading", group + " Configuration:");
+ equalsLS = group.equals("LS");
+ equalsCheck = pr.getCheck();

- println("<tr><td>Do you wish to
register with an LS?</td><td>" + times(13));
- //
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- //
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
//&nbsp;&nbsp;&nbsp;");
- println("<input type=\"radio\"
name=\"useLS\" value=\"yes\" "
- +
onClick + ">" + times(2) + "yes" + nbsp + "</input>");
- println(times(5)+
-
"<input type=\"radio\" checked name=\"useLS\" value=\"no\" "
- +
onClick + ">" + times(2) + "no" + times(14) + "</input></td><td>");
-
//&nbsp&nbsp;no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
//&nbsp;&nbsp;&nbsp;&nbsp;
+ if (equalsLS)
+ ret = table(
+ true,
+ tr(td("Do you wish to register with an LS?")
+ + td(times(13)
+ + input("radio", "useLS", "yes",
"checkIt(this);", times(2) + "yes" + nbsp)
+ + times(5)
+ + radio_chk("radio", "useLS", "no",
"checkIt(this);", times(14) + "no" + nbsp))));
+ else if (equalsCheck)
+ ret += table(true, tr(td(pr.getPropertyComment())) +
times(21) + optionsHtml(pr) + times(21));

- } else {
- println("<tr><td>" +
pr.getPropertyComment()
- + "</td><td>"+
times(21));
-
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
- String[] values =
pr.getAcceptedValues();
- if (values != null) {
+ ret += table(
+ true,
+ ((equalsLS || equalsCheck) ? ((equalsLS ?
input("hidden", "Vl_useLS", "yes", null, "") : input(
+ "hidden", "Vl_" + pr.getKey(),
pr.getProposedValue(), null, ""))) : "")
+ + mainBodyBody(it, pr, pro, equalsLS,
equalsCheck));
+ }
+ return ret;
+ }

- for (int i = 0; i <
values.length; i++) {
- String checked =
!values[i].equals(pr
-
.getProposedValue()) ? "checked=\"checked\""
- : "";
- println("<input
type=\"radio\"" + checked
- + "
name=\"" + pr.getKey() + "\" value=\""
- +
values[i] + "\" " + onClick + ">" + times(2) //&nbsp&nbsp;"
- +
values[i] + nbsp + "</input></td><td>");
- }
- }
- println(times(21));
-
//"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i
- //
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
- }
- println("</td></tr>");
- println("</table>");
+ public void showAllProperties_(Hashtable<String, WizardProperties>
Properties, String message) throws IOException {
+ println(doctype);
+ println(html(head(getCSS("default.css"))
+ + title("perfSONAR services configuration wizard")
+ + body(getScript()
+ +
+ // div("banner",null,"top",null,h1("PerfSONAR")) +
+ div("main",
+ null,
+ null,
+ null,
+ // div("config_option",null,"left",null,
+ // ul( li("Configuration options") +
+ // groupsHtml() +
+ //
li(a("ConfigurationWizard?function=finish","Finish Configuration"))))+
+ //
+ // private static String input( String type ,
+ // String name , String value , String
onClick ,
+ // String body )
+ div("top",
+ null,
+ null,
+ null,
+ br(message)
+ + div("properties",
+ "properties",
+ null,
+ null,
+ form("action",
+ "wizardForm",
+ "GET",
+ "return
checkStarFields()",
+
input("hidden", "function", "finish", null, "")
+ +
mainBody(Properties)
+ +
times(126)
+ +
btag("input", "", att("align", "right"),
+
att("type", "submit"),
+
att("class", "submit_button"),
+
att("id", "Button"),
+
att("name", "Submit")))))))));
+ }

- id = pr.getKey();
- if (group.equals("LS")) {
- id = "useLS";
- }
- println("<div id=\"" + id + "\"
style=\"display:"
- + display + ";\">");
- println("<table align=\"center\">");
- } else {
- id = "";
- println("<div id=\"" + id + "\"
style=\"display:"
- + display + ";\">");
- println("<table align=\"center\">" );
- this.showProperty(pr);
+ /**
+ * Method used for displaying all properties to be configured, divided
+ * according to the group they belong to.
+ *
+ * This only works if properties are given in the correct order!
+ *
+ * @param properties
+ * The Wizard Properties to be configured
+ * @param message
+ * The top message to the user
+ * @throws IOException
+ */
+ public void showAllProperties(Hashtable<String, WizardProperties>
properties, String message) throws IOException {

- }
+ preemptModified("default.css");
+ println("<div class=\"top\"><br>" + message + "</br></div>");
+ println("<div id=\"properties\" class=\"properties\">");
+ println("<form action=\"Wizard\" name=\"wizardForm\" method=\"GET\"
onsubmit=\"return checkStarFields()\" > ");
+ println("<input type=\"hidden\" name=\"function\" value=\"finish\"
/>");

- boolean check=false,closed=true;
- while (it.hasNext())
- {
- pr = pro.getWizardProperty((String)
it.next());
- if(pr.getCheck()){
- if(!check){
- check=true;
- }else{
-
println("</table></div></td></tr>");
- }
- display = "none";
- onClick = "
onclick=\"checkIt(this);\"";
- println("<tr><td>" +
pr.getPropertyComment()
- + "</td><td>" + nbsp
);
+ // We need to output the groups always in the same order
+ List<String> GroupList = new ArrayList<String>();
+ GroupList.add("eXist");
+ GroupList.add("LS");
+ GroupList.add("Administration");
+ GroupList.add("Authentication");
+
+ for (String group : GroupList) {
+ println("<p class=\"groupheading\">" + group + "
Configuration:</p>");
+ WizardProperties pro = properties.get(group);
+ Iterator it = pro.orderedKeys();
+ WizardProperty pr = pro.getWizardProperty((String) it.next());
// First element not hidden
+ String display = "block";
+ String onClick;
+ if (pr.getCheck() || group.equals("LS")) {
+ println("<table align=\"center\">");
+ display = "none";
+ onClick = " onclick=\"checkIt(this);\"";
+ if (group.equals("LS")) {
+ it = pro.orderedKeys();
+ println("<input type=\"hidden\" value=\"yes\"
id=\"Vl_useLS\" />");
+ } else {
+ println("<input type=\"hidden\" value=\"" +
pr.getProposedValue() + "\" id=\"Vl_" + pr.getKey()
+ + "\" />");
+ }
+ } else {
+ display = "block";
+ onClick = "";
+ }

- println("<input type=\"hidden\"
value=\""
- +
pr.getProposedValue() + "\" id=\"Vl_"
- + pr.getKey() + "\"
/>");
- id = pr.getKey();
- String[] values =
pr.getAcceptedValues();
- if (values != null) {
+ String id = "";
+ if (group.equals("LS") || pr.getCheck()) {
+ if (group.equals("LS")) {

- for (int i = 0; i <
values.length; i++) {
- String checked =
!values[i].equals(pr
-
.getProposedValue()) ? "checked=\"checked\""
- : "";
- println("<input
type=\"radio\"" + checked
- + "
name=\"" + pr.getKey() + "\" value=\""
- +
values[i] + "\" " + onClick + ">" + nbsp + nbsp +
-
values[i] + times(5)+ "</input>");
- }
- }
- println(nbsp);
- println("</td></tr>"); //CHANGED:
</td></tr>
- println("<tr ><td colspan=\"2\"><div
class=\"inner_properties\" id=\"" + id + "\" style=\"display:"+ display +
";\"><table>");
- closed=false;
- }else{
- if(pr.getDependency()==null && check){
-
println("</table></DIV></td></tr><!-- HERE -->");
-
//println("</table></div></td></tr>");
- check=false;
- }
- this.showProperty(pr);
- }
+ println("<tr><td>Do you wish to register with an
LS?</td><td>" + times(13));
+ println("<input type=\"radio\" name=\"useLS\"
value=\"yes\" " + onClick + ">" + times(2) + "yes"
+ + nbsp + "</input>");
+ println(times(5) + "<input type=\"radio\" checked
name=\"useLS\" value=\"no\" " + onClick + ">"
+ + times(2) + "no" + times(14) +
"</input></td><td>");

- } //end loop
+ } else {
+ println("<tr><td>" + pr.getPropertyComment() +
"</td><td>" + times(21));

- if(check){
- println("</table></div></td></tr>");
- }
-
- println("</table>");
- println("</div>");
- }
- println(times(126));
- println("<input align=\"right\" input id=\"Button\"
class=\"submit_button\" type=\"submit\" name=\"Submit\" value=\"Submit
Changes\" />");
- println("</form> ");
- println("</div>");
- println("</div>");
- println("</body>");
- println("</html>");
- close();
- //parse(html,false);
- }
+ String[] values = pr.getAcceptedValues();
+ if (values != null) {

- private static org.jdom.Document parse( String s , boolean aware ) {
- DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = null;
- DOMBuilder jbuilder = null;
+ for (int i = 0; i < values.length; i++) {
+ String checked =
!values[i].equals(pr.getProposedValue()) ? "checked=\"checked\"" : "";
+ println("<input type=\"radio\"" + checked + "
name=\"" + pr.getKey() + "\" value=\""
+ + values[i] + "\" " + onClick + ">" +
times(2) // &nbsp&nbsp;"
+ + values[i] + nbsp +
"</input></td><td>");
+ }
+ }
+ println(times(21));
+ }
+ println("</td></tr>");
+ println("</table>");

- factory.setNamespaceAware(aware);
- try {
- builder = factory.newDocumentBuilder();
- jbuilder = new DOMBuilder();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
+ id = pr.getKey();
+ if (group.equals("LS")) {
+ id = "useLS";
+ }
+ println("<div id=\"" + id + "\" style=\"display:" + display
+ ";\">");
+ println("<table align=\"center\">");
+ } else {
+ id = "";
+ println("<div id=\"" + id + "\" style=\"display:" + display
+ ";\">");
+ println("<table align=\"center\">");
+ this.showProperty(pr);

- try
- {
- return jbuilder.build(builder.parse( new
java.io.StringBufferInputStream(s)));
- }
- catch (SAXParseException e)
- { // well-formedness error
- System.out.println(" ----- WEB-ADMIN : INTERNAL BUG -
HTMLGEN");
- System.out.println(e.getMessage()
- + " at line " + e.getLineNumber()
- + ", column " + e.getColumnNumber());
- return null;
- }
- catch( Throwable t)
- {
- System.out.println(" ----- WEB-ADMIN : INTERNAL BUG -
HTMLGEN");
- t.printStackTrace();
- return null;
- }
-}
+ }

- //
-----------------------------------------------------------------------
- // private methods
+ boolean check = false, closed = true;
+ while (it.hasNext()) {
+ pr = pro.getWizardProperty((String) it.next());
+ if (pr.getCheck()) {
+ if (!check) {
+ check = true;
+ } else {
+ println("</table></div></td></tr>");
+ }
+ display = "none";
+ onClick = " onclick=\"checkIt(this);\"";
+ println("<tr><td>" + pr.getPropertyComment() +
"</td><td>" + nbsp);

- /**
- * Used by older wizard servlet
- *
- * @param cssFile
- * @throws IOException
- */
- private void preempt(String cssFile) throws IOException {
- println(doctype);
- println("<html>");
- println("<head>" + getCSS(cssFile));
- println("<title>");
- println("perfSONAR services configuration wizard");
- println("</title>");
- println("<body>");
- println("<div align=\"top\" class=\"banner\">");
- println("<h1>PerfSONAR");
- println("</div>");
- println("<div class=\"main\">");
- println("<div align=\"left\" class=\"config_option\">");
- println("<ul>");
- println("<li>Configuration options</li>");
- Iterator it = Groups.iterator();
- while (it.hasNext()) {
- String group = (String) it.next();
+ println("<input type=\"hidden\" value=\"" +
pr.getProposedValue() + "\" id=\"Vl_" + pr.getKey()
+ + "\" />");
+ id = pr.getKey();
+ String[] values = pr.getAcceptedValues();
+ if (values != null) {

- if (group.equals("exist")) {
- println("<li><a
href=\"ConfigurationWizard?function=exist&phase=initial\">Exist
Configuration</a></li>");
- } else if (group.equals("ls")) {
+ for (int i = 0; i < values.length; i++) {
+ String checked =
!values[i].equals(pr.getProposedValue()) ? "checked=\"checked\"" : "";
+ println("<input type=\"radio\"" + checked + "
name=\"" + pr.getKey() + "\" value=\""
+ + values[i] + "\" " + onClick + ">" +
nbsp + nbsp + values[i] + times(5)
+ + "</input>");
+ }
+ }
+ println(nbsp);
+ println("</td></tr>"); // CHANGED: </td></tr>
+ println("<tr ><td colspan=\"2\"><div
class=\"inner_properties\" id=\"" + id + "\" style=\"display:"
+ + display + ";\"><table>");
+ closed = false;
+ } else {
+ if (pr.getDependency() == null && check) {
+ println("</table></div></td></tr>");
+ check = false;
+ }
+ this.showProperty(pr);
+ }

- println("<li><a
href=\"ConfigurationWizard?function=ls&phase=initial\">LS Registration
Configuration</a></li>");
- } else {
+ } // end loop

- println("<li><a
href=\"ConfigurationWizard?function="
- + group + "&phase=initial\">"
+ group
- + " Configuration</a></li>");
- }
+ if (check) {
+ println("</table></div></td></tr>");
+ }

- }
- println("<li><a
href=\"ConfigurationWizard?function=finish\">Finish Configuration</a></li>");
- println("</ul>");
- println("</div>");
- }
+ println("</table>");
+ println("</div>");
+ }
+ println(times(126));
+ println("<input align=\"right\" input id=\"Button\"
class=\"submit_button\" type=\"submit\" name=\"Submit\" value=\"Submit
Changes\" />");
+ println("</form> ");
+ println("</div>");
+ println("</div>");
+ println("</body>");
+ println("</html>");
+ close();
+ // parse(html,false);
+ }

- /**
- * Used by current wizard servlet
- *
- * @param cssFile
- * The css file used by the html output
- * @throws IOException
- */
- private void preemptModified(String cssFile) throws IOException {
- println(doctype);
- println("<html>");
- println("<head>" + getCSS(cssFile) + "</head>" );
- println("<title>");
- println("perfSONAR services configuration wizard");
- println("</title>");
- println("<body>");
- println(getScript());
- println("<div class=\"main\">");
- }
+ private static org.jdom.Document parse(String s, boolean aware) {
+ DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = null;
+ DOMBuilder jbuilder = null;

- /**
- * Method returning the tag for css file to be used
- *
- * @param cssFile
- * The css file
- * @return The tag for the css file.
- */
- private String getCSS(String cssFile) {
- String css = "<link rel=\"stylesheet\" type=\"text/css\"
href=\""
- + cssFile + "\"/>";
- return css;
- }
+ factory.setNamespaceAware(aware);
+ try {
+ builder = factory.newDocumentBuilder();
+ jbuilder = new DOMBuilder();
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ }

- /**
- * Method to get the stack trace of an exception
- *
- * @param e
- * The exception
- * @return A string with stack the trace
- */
- public String getFault(Exception e) {
- StackTraceElement[] trace = e.getStackTrace();
- String fault = e.getMessage();
- for (int j = 0; j < trace.length; j++) {
- fault += trace[j].toString() + "\n";
- }
- return fault;
- }
+ try {
+ return jbuilder.build(builder.parse(new
java.io.StringBufferInputStream(s)));
+ } catch (SAXParseException e) { // well-formedness error
+ System.out.println(" ----- WEB-ADMIN : INTERNAL BUG - HTMLGEN");
+ System.out.println(e.getMessage() + " at line " +
e.getLineNumber() + ", column " + e.getColumnNumber());
+ return null;
+ } catch (Throwable t) {
+ System.out.println(" ----- WEB-ADMIN : INTERNAL BUG - HTMLGEN");
+ t.printStackTrace();
+ return null;
+ }
+ }

- /**
- * Method called by the shoaAllProperties method
- * Prints a list of possible values - radio buttons
- *
- * @param pr
- * The wizard property
- * @throws IOException
- */
- private void showProperty(WizardProperty pr) throws IOException {
-
- String fill = "";
-
- String required="";
- if (pr.isRequired()) {
- fill = "*";
- required="required";
- }
- println("<tr><td>" + pr.getPropertyComment()+"<span
class=\"greenasterisk\" >"+fill+"</span></td><td>");
- String[] values = pr.getAcceptedValues();
- if (values != null) {
+ //
-----------------------------------------------------------------------
+ // private methods

- for (int i = 0; i < values.length; i++) {
- String checked =
values[i].equals(pr.getProposedValue()) ? "checked=\"checked\""
- : "";
- println("<input type=\"radio\"" + checked + "
name=\""
- + pr.getKey() + "\" value=\""
+ values[i] + "\">" + nbsp + nbsp
- + values[i] + nbsp +
"</input>");
- }
- } else {
- String type = "text";
- String value=pr.getProposedValue();
- String valueText="value=\""
- + value+ " \"";
- if (pr.isPassword()) {
- type = "password";
- valueText="value=\"\" ";
- value="";
- }
- println("<input id=\""+required+"\"
class=\"input_style\" onmouseover=\"setTip(null,'"
- +value + "','#D5E9D4')\" type=\"" +
type
- + "\" name=\"" + pr.getKey() + "\"
size=40 "+valueText+" />");
+ /**
+ * Used by older wizard servlet
+ *
+ * @param cssFile
+ * @throws IOException
+ */
+ private void preempt(String cssFile) throws IOException {
+ println(doctype);
+ println("<html>");
+ println("<head>" + getCSS(cssFile));
+ println("<title>");
+ println("perfSONAR services configuration wizard");
+ println("</title>");
+ println("<body>");
+ println("<div align=\"top\" class=\"banner\">");
+ println("<h1>PerfSONAR");
+ println("</div>");
+ println("<div class=\"main\">");
+ println("<div align=\"left\" class=\"config_option\">");
+ println("<ul>");
+ println("<li>Configuration options</li>");
+ Iterator it = Groups.iterator();
+ while (it.hasNext()) {
+ String group = (String) it.next();

- }
- println("</td></tr>");
+ if (group.equals("exist")) {
+ println("<li><a
href=\"ConfigurationWizard?function=exist&phase=initial\">Exist
Configuration</a></li>");
+ } else if (group.equals("ls")) {

- }
+ println("<li><a
href=\"ConfigurationWizard?function=ls&phase=initial\">LS Registration
Configuration</a></li>");
+ } else {

- /**
- * Method for getting the java script used by the showAllPrperties
Method
- *
- * @return The javascript
- */
- private String getScript() {
- String script = "<script src=\"Service_Admin.js\">"
- + "</script>\n"
- + "<script src=\"wz_tooltip.js\">"
- + "</script>\n"
- +"<script src=\"Service_Admin.js\">"
- + "</script>\n"
- + "<script type=\"text/javascript\">\n"
- + "function checkIt(el) {\n"
- + "if (el.value
==document.getElementById(\"Vl_\"+el.name).value) {\n"
- +
"document.getElementById(el.name).style.display = \"block\";\n"
- + "}\n"
- + "else {\n"
- +
"document.getElementById(el.name).style.display = \"none\";\n"
- + "}\n" + "}\n" + "</script>\n";
- return script;
- }
+ println("<li><a href=\"ConfigurationWizard?function=" +
group + "&phase=initial\">" + group
+ + " Configuration</a></li>");
+ }

+ }
+ println("<li><a href=\"ConfigurationWizard?function=finish\">Finish
Configuration</a></li>");
+ println("</ul>");
+ println("</div>");
+ }
+
+ /**
+ * Used by current wizard servlet
+ *
+ * @param cssFile
+ * The css file used by the html output
+ * @throws IOException
+ */
+ private void preemptModified(String cssFile) throws IOException {
+ println(doctype);
+ println("<html>");
+ println("<head>" + getCSS(cssFile) + "</head>");
+ println("<title>");
+ println("perfSONAR services configuration wizard");
+ println("</title>");
+ println("<body>");
+ println(getScript());
+ println("<div class=\"main\">");
+ }
+
+ /**
+ * Method returning the tag for css file to be used
+ *
+ * @param cssFile
+ * The css file
+ * @return The tag for the css file.
+ */
+ private String getCSS(String cssFile) {
+ String css = "<link rel=\"stylesheet\" type=\"text/css\" href=\"" +
cssFile + "\"/>";
+ return css;
+ }
+
+ /**
+ * Method to get the stack trace of an exception
+ *
+ * @param e
+ * The exception
+ * @return A string with stack the trace
+ */
+ public String getFault(Exception e) {
+ StackTraceElement[] trace = e.getStackTrace();
+ String fault = e.getMessage();
+ for (int j = 0; j < trace.length; j++) {
+ fault += trace[j].toString() + "\n";
+ }
+ return fault;
+ }
+
+ /**
+ * Method called by the shoaAllProperties method Prints a list of
possible
+ * values - radio buttons
+ *
+ * @param pr
+ * The wizard property
+ * @throws IOException
+ */
+ private void showProperty(WizardProperty pr) throws IOException {
+
+ String fill = "";
+
+ String required = "";
+ if (pr.isRequired()) {
+ fill = "*";
+ required = "required";
+ }
+ println("<tr><td>" + pr.getPropertyComment() + "<span
class=\"greenasterisk\" >" + fill + "</span></td><td>");
+ String[] values = pr.getAcceptedValues();
+ if (values != null) {
+
+ for (int i = 0; i < values.length; i++) {
+ String checked = values[i].equals(pr.getProposedValue()) ?
"checked=\"checked\"" : "";
+ println("<input type=\"radio\"" + checked + " name=\"" +
pr.getKey() + "\" value=\"" + values[i]
+ + "\">" + nbsp + nbsp + values[i] + nbsp +
"</input>");
+ }
+ } else {
+ String type = "text";
+ String value = pr.getProposedValue();
+ String valueText = "value=\"" + value + " \"";
+ if (pr.isPassword()) {
+ type = "password";
+ valueText = "value=\"\" ";
+ value = "";
+ }
+ println("<input id=\"" + required + "\" class=\"input_style\"
onmouseover=\"setTip(null,'" + value
+ + "','#D5E9D4')\" type=\"" + type + "\" name=\"" +
pr.getKey() + "\" size=40 " + valueText
+ + " />");
+
+ }
+ println("</td></tr>");
+
+ }
+
+ /**
+ * Method for getting the java script used by the showAllPrperties Method
+ *
+ * @return The javascript
+ */
+ private String getScript() {
+ String script = "<script src=\"Service_Admin.js\">" + "</script>\n"
+ "<script src=\"wz_tooltip.js\">"
+ + "</script>\n" + "<script src=\"Service_Admin.js\">" +
"</script>\n"
+ + "<script type=\"text/javascript\">\n" + "function
checkIt(el) {\n"
+ + "if (el.value
==document.getElementById(\"Vl_\"+el.name).value) {\n"
+ + "document.getElementById(el.name).style.display =
\"block\";\n" + "}\n" + "else {\n"
+ + "document.getElementById(el.name).style.display =
\"none\";\n" + "}\n" + "}\n" + "</script>\n";
+ return script;
+ }
+
}

Modified:
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/WizardProperties.java
===================================================================
---
trunk/perfsonar-web-admin-0/perfSONARWebAdmin/auxiliary/wizard/WizardProperties.java
2014-01-24 15:22:05 UTC (rev 6483)
+++
trunk/perfsonar-web-admin-0/src/main/java/perfSONARWebAdmin/auxiliary/wizard/WizardProperties.java
2014-01-30 22:42:23 UTC (rev 6484)
@@ -121,7 +121,7 @@
// A map containing the wizard properties
private Map<String, WizardProperty> properties;

- // A map havinf as key the order of each property and as value the
+ // A map having as key the order of each property and as value the
// key(property name) of the property
private Map<String, String> orderedProperties;

@@ -145,15 +145,12 @@
* The default properties
*/
public WizardProperties(Properties defaults) {
-
super(defaults);
properties = new HashMap<String, WizardProperty>();
orderedProperties = new HashMap<String, String>();
-
}

- public Set keySet()
- {
+ public Set keySet() {
return sorted;
}

@@ -204,7 +201,6 @@
outputter.setIndent(true);
outputter.setTextTrim(true);
outputter.output(preparePropertiesDoc(comment), os);
-
}

/*
@@ -214,13 +210,12 @@
* java.lang.String)
*/
@Override
- public synchronized void storeToXML(OutputStream os, String comment)
- throws IOException {
-
+ public synchronized void storeToXML(OutputStream os, String comment)
throws IOException {
XMLOutputter outputter = new XMLOutputter();
outputter.setNewlines(true);
outputter.setIndent(true);
outputter.setTextTrim(true);
+ outputter.setLineSeparator("\n");
outputter.output(preparePropertiesDoc(comment), os);
}

@@ -271,22 +266,18 @@
* The actula Wizard Property
*/
public Object setWizardProperty(String key, WizardProperty property) {
-
properties.put(key, property);
-
return this.setProperty(key, property.getValue());
-
}

/**
- * Returns the Wizard Properties keys in order as it is stated by
their order fileds
+ * Returns the Wizard Properties keys in order as it is stated by
their order field
* @return
* An iterator containing the properties keys in order.
*/
public Iterator orderedKeys() {
TreeMap<String,String> map = new
TreeMap<String,String>(orderedProperties);
return map.values().iterator();
-
}

private static String att(Element elt, String attribute, String def )
@@ -311,86 +302,77 @@
* Populates the properties map, based on the root element of the xml
* properties file
* @param rootElement
- * The root element of the document read from the xml
properties
- * file
+ * The root element of the document read from the xml
properties file
*/
- private void populateProperties(Element root,String file) {
+ private void populateProperties(Element root, String file) {
+ List propertiesList = root.getChildren("property");

- List propertiesList = root.getChildren("property");
+ if (propertiesList.isEmpty()) {
+ System.out.println("------ WEB-ADMIN WARNING -- EMPTY
wizard.properties ------------");
+ return;
+ }

- if (propertiesList.isEmpty())
- {
- System.out.println("------ WEB-ADMIN WARNING -- EMPTY
wizard.properties ------------");
- return;
- }
+ Iterator it = propertiesList.iterator();
+ Element entry, group, property;
+ WizardProperty pr;
+ sorted = new OrderedSet();
+ while (it.hasNext()) {
+ property = (Element) it.next();
+ entry = property.getChild("entry");
+ group = property.getChild("Group");

- //DescendantIterator it = new
DescendantIterator(propertiesList,file);
- Iterator it = propertiesList.iterator();
- Element entry,group,property;
- WizardProperty pr;
- sorted = new OrderedSet();
- while (it.hasNext())
- {
- property = (Element) it.next();
- entry = property.getChild("entry");
- group = property.getChild("Group");
-
- pr = new WizardProperty();
- pr.setPropertyValue(entry.getText());
-
pr.setPassword(Boolean.parseBoolean(att(entry,"password","false")));
-
pr.setRequired(Boolean.parseBoolean(att(entry,"required","false")));
-
pr.setPropertyKey(entry.getAttributeValue("key").trim());
-
pr.setPropertyComment(property.getChild("Comment").getText());
-
pr.setPropertyValue(property.getChild("entry").getText().trim());
-
pr.setProposedValue(property.getChild("ProposedValue").getText().trim());
- pr.setDependency(att(group,"dependsOn",null));
-
pr.setCheck(Boolean.parseBoolean(att(group,"check","false")));
- pr.setGroup(group.getText().trim());
- pr.setOrder(att(group,"order",null));
-
pr.setAcceptedValues(textList(property.getChildren("AcceptedValue")));
+ pr = new WizardProperty();
+ pr.setPropertyValue(entry.getText());
+ pr.setPassword(Boolean.parseBoolean(att(entry, "password",
"false")));
+ pr.setRequired(Boolean.parseBoolean(att(entry, "required",
"false")));
+ pr.setPropertyKey(entry.getAttributeValue("key").trim());
+ pr.setPropertyComment(property.getChild("Comment").getText());
+ pr.setPropertyValue(property.getChild("entry").getText().trim());
+
pr.setProposedValue(property.getChild("ProposedValue").getText().trim());
+ pr.setDependency(att(group, "dependsOn", null));
+ pr.setCheck(Boolean.parseBoolean(att(group, "check", "false")));
+ pr.setGroup(group.getText().trim());
+ pr.setOrder(att(group, "order", null));
+
pr.setAcceptedValues(textList(property.getChildren("AcceptedValue")));

- properties.put(pr.getKey(), pr);
- orderedProperties.put(pr.getOrder(),
pr.getKey());
- this.put(pr.getKey(), pr.getValue());
- sorted.add(pr);
- }
- }
+ properties.put(pr.getKey(), pr);
+ orderedProperties.put(pr.getOrder(), pr.getKey());
+ this.put(pr.getKey(), pr.getValue());
+ sorted.add(pr);
+ }
+ }

-
- public Hashtable<String, WizardProperties> prepareProperties()
- {
- if(isEmpty()) return null;
- OrderedMap<String, WizardProperties> groupTable = new
OrderedMap<String, WizardProperties>();
- Iterator it = keySet().iterator();
+ // Build and returns the properties in their respective groups, based
on the "sorted" OrderedSet
+ public Hashtable<String, WizardProperties> prepareProperties() {
+ if(isEmpty()) return null;
+ OrderedMap<String, WizardProperties> groupTable = new
OrderedMap<String, WizardProperties>();
+ Iterator it = properties.values().iterator();
WizardProperties other = new WizardProperties();
WizardProperties wp = null;
WizardProperty property = null;
- String lastGroup = null;
- String thisGroup = null;
- while (it.hasNext())
- {
- property = (WizardProperty) it.next();
- //getWizardProperty((String) it.next());
- if (property.getGroup() == null)
other.putWizardProperty(property.getKey(),property);
- else {
- thisGroup = property.getGroup();
- if( lastGroup == null ||
!lastGroup.equals(thisGroup) )
- {
- if
(!groupTable.containsKey(thisGroup))
- {
- wp = new WizardProperties();
- groupTable.put(thisGroup,wp);
- lastGroup = thisGroup;
- }
- else wp = (WizardProperties)
groupTable.get(thisGroup);
- }
-
wp.putWizardProperty(property.getKey(), property);
- //System.out.println("--------------
Placing: " + property.getKey() + " in group " + thisGroup );
- }
+ String lastGroup = null;
+ String thisGroup = null;
+ while (it.hasNext()) {
+ property = (WizardProperty) it.next();
+
+ if (property.getGroup() == null) {
+ // If no group defined, we put it in the "Other" group
+ thisGroup = "Other";
+ } else {
+ thisGroup = property.getGroup();
+ }
+ if (!groupTable.containsKey(thisGroup)) {
+ // We add a new group
+ wp = new WizardProperties();
+ groupTable.put(thisGroup, wp);
+ } else {
+ wp = (WizardProperties) groupTable.get(thisGroup);
+ }
+ wp.putWizardProperty(property.getKey(), property);
+// System.out.println("-------------- Placing: " +
property.getKey() + " in group " + thisGroup );
+ }

- }
- if( other.size() > 0 ) groupTable.put("Other" , new
WizardProperties());
- return groupTable;
+ return groupTable;
}

/**
@@ -405,8 +387,7 @@
org.jdom.Document propertiesDoc = new org.jdom.Document();
Element propertiesElement = new Element("properties");
if (comment != null) {
- propertiesElement.addContent(new Element("comment")
- .setText(comment));
+ propertiesElement.addContent(new
Element("comment").setText(comment));
}
Iterator propertyIt = properties.values().iterator();
while (propertyIt.hasNext()) {

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/default.css (from rev
6483, trunk/perfsonar-web-admin-0/default.css)
===================================================================
--- trunk/perfsonar-web-admin-0/src/main/webapp/default.css
(rev 0)
+++ trunk/perfsonar-web-admin-0/src/main/webapp/default.css 2014-01-30
22:42:23 UTC (rev 6484)
@@ -0,0 +1,801 @@
+
+/* standard elements */
+html {
+ min-height: 100%;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ background-color: #ffffff;
+ font-family: arial;
+}
+
+a img{
+ border: none;
+}
+/* Wizard CSS */
+.top {
+ display: block;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #468C46;
+ margin: 0% 1% 0 1%;
+ border-bottom: 1px dotted #468C46;
+ padding: 7px;
+ background: #ffffff;
+}
+
+.greenasterisk {
+ font-size: 130%;
+ color: #468C46;
+}
+
+.properties {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ padding: 10px;
+ margin: 0% 1% 0 1%;
+}
+
+.properties p {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.properties table {
+ border-bottom: 1px dotted #468C46;
+ margin-bottom: 20px;
+}
+
+.inner_properties {
+ padding:0px;
+ margin:0px;
+}
+.inner_properties table{
+ border: none;
+ margin:0px;
+ padding:0px;
+}
+
+.properties td {
+ padding: 15px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.properties em {
+ display: block;
+ color: red;
+ font-size: 95%;
+}
+
+.info_wizard {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #468C46;
+}
+
+.info_wizard p {
+}
+/* General Purpose CSS*/
+.welcometextlavender {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ color: #4169E1;
+ border-bottom-width: 1px;
+ border-bottom-style: dotted;
+ border-bottom-color: #4169E1;
+ clip: rect( auto, auto, auto, auto );
+ margin-left: 0%;
+}
+
+.formated_text {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.blueheader {
+ text-align: left;
+ color: #4169E1;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.info {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #4169E1;
+ float: none;
+ margin: 0% 0% 0% 1%;
+}
+
+.info p {
+ float: none;
+ text-align: justify;
+}
+
+.lightgrey {
+ background-color: #f1f3f1;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+}
+
+.lightgrey td {
+ padding: 5px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+}
+
+.darkgrey {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ background-color: #e1e5e1;
+}
+
+.darkgrey td {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ padding: 5px;
+}
+
+.hilighted {
+ color: #4169E1;
+ border-bottom: 1px solid #4169E1;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.underlined {
+ border-bottom: 1px solid #4169E1;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.tablessContent {
+ margin: 2% 0 0 0.3%;
+ background: #ffffff;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.input_style_blue {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+}
+
+.headerlavender {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ background-color: #A0A0D8;
+ margin-right: 0px;
+ margin-left: 0px;
+ padding: 5px;
+}
+/*eXist Admin CSS*/
+.content {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ margin: 2% 0% 0 0%;
+ background: #ffffff;
+}
+
+.content ul {
+ margin-top: 5px;
+ display: block;
+ list-style: none outside;
+ padding: 5px;
+}
+
+.content li {
+ margin: 0 0 0 0;
+ padding: 0px;
+ display: block;
+ float: left;
+ position: relative;
+ top: -1.32em;
+}
+
+.manage_exist {
+ background: #ffffff;
+ margin: 0% 0% 0% 0%;
+ padding: 0px;
+}
+
+.showResource {
+ float: none;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ text-indent: 0%;
+ margin-top: 5px;
+ margin-left: 0.3%;
+ padding: 0px;
+ text-align: inherit;
+}
+
+.showResource table {
+ left: -100px;
+ position: static;
+ margin-top: 0px;
+ border-spacing: 1px 0px;
+}
+
+.showResource th {
+ padding: 10px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ background-color: #C7C7F2;
+}
+
+.showResource td {
+ padding: 10px;
+}
+
+.showResource p {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ border: none;
+ padding: 5px;
+ margin: 0% 0% 0% 0%;
+}
+
+.exist_welcome_text {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ padding: 5px;
+ color: #4169E1;
+ font-weight: bold;
+ border-bottom-width: 1px;
+ border-bottom-style: dotted;
+ border-bottom-color: #4169E1;
+ clip: rect( auto, auto, auto, auto );
+ margin-left: 0%;
+}
+
+.input {
+ padding: 1em;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.input_style {
+ border-color: #468C46;
+ border-style: solid;
+ border-width: 1px;
+}
+
+.login_table {
+ background-color: #E6E6FA;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.login_table td {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.logout {
+ margin-top: 10px;
+ margin-left: 48%;
+}
+
+.logout a {
+ padding: 5px;
+ text-decoration: none;
+ color: green;
+ background: transparent url(graphics/logout_button.gif) no-repeat center
top;
+ width: 64px;
+ height: 28px;
+ display: block;
+}
+
+.logout a:hover {
+ background: transparent url(graphics/logout_button.gif) no-repeat center
top;
+ color: #049;
+}
+
+.input_table {
+ border: 1px solid #4169E1;
+ border-spacing: 0px 1px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.input_table td {
+ padding: 5px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.input_table th {
+ padding: 5px;
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+/*Exist Buttons CSS*/
+.collections_option_on a {
+ padding: 7px 80px 7px 80px;
+ width: 210px;
+ height: 28px;
+ text-decoration: none;
+ background: transparent url(graphics/manage_collections_on_tab.gif)
no-repeat center top;
+}
+
+
+.collections_option_off a {
+ padding: 7px 80px 7px 80px;
+ width: 210px;
+ height: 28px;
+ text-decoration: none;
+ background: transparent url(graphics/manage_collections_off_tab.gif)
no-repeat center top;
+}
+
+
+.users_option_off a{
+ padding: 7px 65px 7px 65px;
+ width: 210px;
+ height: 28px;
+ text-decoration: none;
+ background: transparent url(graphics/manage_users_off_tab.gif) no-repeat
center top;
+}
+
+.users_option_on a {
+ padding: 7px 65px 7px 65px;
+ width: 210px;
+ height: 28px;
+ text-decoration: none;
+ background: transparent url(graphics/manage_users_on_tab.gif) no-repeat
center top;
+}
+
+
+.login_button {
+ width: 54px;
+ height: 28px;
+ margin: 0;
+ padding: 0;
+ border: 0px;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: bold;
+ text-align: center;
+ clip: rect( auto, auto, auto, auto );
+ cursor: pointer;
+ background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
+ float: left;
+}
+
+.edit_button_res {
+ display: block;
+ margin-top: 5px;
+ margin-left: 0px;
+ width: 120px;
+ height: 28px;
+ float: left;
+ outline: none;
+ border: none;
+ text-align: center;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: bold;
+ text-decoration: none;
+ background: url(graphics/button_1_large.gif) no-repeat center;
+ cursor: pointer;
+}
+
+.create_button_res {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 28px;
+ float: left;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_large.gif) no-repeat
center;
+}
+
+.delete_button_res {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 28px;
+ float: none;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_large.gif) no-repeat
center top;
+}
+
+.input_Edit_button {
+ width: 54px;
+ height: 28px;
+ margin: 0;
+ border: 0;
+ padding: 0;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
+ float: left;
+}
+
+.input_Create_button {
+ width: 54px;
+ height: 28px;
+ margin: 0;
+ border: 0;
+ padding: 0;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
+ float: left;
+}
+
+.execute_button_users {
+ width: 54px;
+ height: 28px;
+ margin: 0;
+ border: 0;
+ padding: 0;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_small.gif) no-repeat
center top;
+ float: right;
+}
+/*Properties CSS */
+.groupheading {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ color: #468C46;
+}
+
+.manage {
+ background: #ffffff;
+ margin: 0 0.3% 0 0.3%;
+ padding: 0px;
+}
+
+.manage table {
+ padding: 3px;
+ border-spacing: 1px 0px;
+}
+
+.manage th {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ padding-left: 5px;
+ text-align: left;
+}
+
+.manage td {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ padding-left: 5px;
+}
+/*Properties Buttons CSS*/
+.floatResetButton {
+ position: fixed;
+ width: 64px;
+ height: 28px;
+ margin: 0;
+ padding: 0;
+ border: 0;
+ text-indent: -1000em;
+ cursor: pointer;
+ background: transparent url(graphics/cancel_button.gif) no-repeat center
top;
+ float: right;
+}
+
+.floatSubmitButton {
+ position: fixed;;
+ width: 53px;
+ height: 28px;
+ margin: 0;
+ border: 0;
+ padding: 0;
+ text-indent: -1000em;
+ cursor: pointer;
+ background: transparent url(graphics/apply_button_2.gif) no-repeat
center top;
+ float: right;
+}
+
+.submit_button {
+ width: 53px;
+ height: 28px;
+ margin: 0;
+ border: 0;
+ padding: 0;
+ text-indent: -1000em;
+ cursor: pointer;
+ background: transparent url(graphics/apply_button.gif) no-repeat center
top;
+ float: none;
+}
+/* SQLMA Admin CSS*/
+.manage_slqma {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ margin: 0% 1% 0% 1%;
+}
+
+.Options {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ margin: 0% 1% 0% 1%;
+}
+
+#options {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ margin: 0% 1% 0% 1%;
+}
+
+#EditFile {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ margin: 0% 1% 0% 1%;
+ float: none;
+}
+
+#CreateNewFile {
+ margin: 0% 1% 0% 1%;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ float: none;
+}
+
+.execute_button_sqlma {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 28px;
+ float: left;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_large.gif) no-repeat
center;
+}
+
+.execute_button_sqlma_small {
+ display: block;
+ margin-top: 5px;
+ width: 54px;
+ height: 28px;
+ float: left;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_small.gif) no-repeat
center;
+}
+
+.execute_button_sqlma_large {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 28px;
+ float: left;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_large.gif) no-repeat
center;
+}
+
+.sqlmaheader {
+ margin-left: 1%;
+ color: #4169E1;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 13px;
+}
+
+init_table {
+ margin-left: 1%;
+ float: left;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 13px;
+}
+
+.init_table td {
+ padding: 8px;
+ text-align: left;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 13px;
+}
+
+.init_table th {
+ padding: 8px;
+ text-align: left;
+ color: #4169E1;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 13px;
+}
+
+.test_table {
+ background-color: #99ff99;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.test_table td {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+/* Stitching Servlet*/
+
+#main_iface_panel{
+ margin-top: 2%;
+ margin-left:2%;
+ background-color: #ffffff;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ height:100%
+
+}
+#main_iface_panel a{
+
+}
+
+#main_iface_panel a:visited a:active{
+
+}
+#iface_panel_body table{
+
+}
+#iface_panel_body td{
+ vertical-align:top;
+ height:100%;
+ padding:0px;
+}
+#file_management{
+ border: 1px solid blue;
+ padding:10px;
+ font-weight:bold;
+}
+
+#file_management table{
+ width:100%;
+}
+#file_info{
+ background-color:#BBBBE6;
+ padding:0px;
+}
+
+#file_info table{
+ width:100%;
+}
+#file_info th{
+
+ background-color:#8282C9;
+ color:#000000;
+ padding: 5px;
+ text-align:left;
+}
+#file_info_header{
+ color:white;
+ background-color:#8282C9;
+ font-weight:bold;
+}
+#file_info td{
+
+ padding: 5px;
+ text-align:left;
+}
+
+#iface_panel_header{
+
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ padding: 5px;
+ background-color: #E6E6FA;
+ margin:1px;
+
+}
+#panel_body_sidebar{
+
+ background-color: #CBCBED;
+}
+#panel_body_sidebar_devices{
+ height:100%;
+ background-color: #CBCBED;
+ float:left;
+ padding: 5px;
+ margin:1px;
+
+}
+
+#panel_body_sidebar table{
+ width:100%;
+ height:100%;
+}
+#panel_body_sidebar tr{
+ height:100%;
+}
+#panel_body_sidebar td{
+ padding: 8px;
+}
+
+#panel_body_sidebar a a:visited a:link{
+ padding: 0px;
+ margin:0px
+}
+
+#panel_body_ifaces{
+ background-color: #DEDEF9;
+ float:left;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-bottom:20px;
+ padding-top:8px;
+ margin:0px;
+}
+#host_name{
+ font-size:15px;
+ font-weight:bold;
+}
+
+#ifaces_table{
+ margin-top: 15px;
+ background-color:#ECECFC;
+ width:100%;
+ border-spacing: 1px 0px;
+
+}
+
+#ifaces_table td{
+ padding: 5px;
+ border-top:none;
+}
+
+
+.ifaces_header1{
+ text-align:left;
+ font-weight:bold;
+ background-color:#8282C9;
+}
+.ifaces_header2{
+ background-color:#8282C9;
+ font-weight:bold;
+ text-align:center;
+}
+
+.execute_button_stitching {
+ display: block;
+ margin: 0px;
+ width: 120px;
+ height: 28px;
+ float: left;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 90%;
+ font-weight: 600;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_1_large.gif) no-repeat
center;
+}
+

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/index.jsp (from rev 6483,
trunk/perfsonar-web-admin-0/index.jsp)
===================================================================
--- trunk/perfsonar-web-admin-0/src/main/webapp/index.jsp
(rev 0)
+++ trunk/perfsonar-web-admin-0/src/main/webapp/index.jsp 2014-01-30
22:42:23 UTC (rev 6484)
@@ -0,0 +1,178 @@
+<%@ page
import="perfSONARWebAdmin.auxiliary.PerfsonarProperties,perfSONARWebAdmin.auxiliary.PerfsonarPropertiesImpl,perfSONARWebAdmin.auxiliary.PerfsonarProperty,java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.IOException"
%>
+
+<%!
+ private perfSONARWebAdmin.auxiliary.MyDynProperties prop;
+
+ public void jspInit()
+ {
+ super.jspInit();
+ prop =
perfSONARWebAdmin.auxiliary.MyDynProperties.create(getServletContext().getRealPath("/")
,false);
+ prop.reloadAll();
+ prop.updateClientProperties();
+ }
+
+ public void jspDestroy()
+ {
+ super.jspDestroy();
+ prop.reloadAll();
+ prop.updateClientProperties();
+ }
+%>
+<html>
+ <head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="main.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="Service_Admin.js"></script>
+ <script src="liveclock.js"></script>
+
+ <style type="text/css">
+ <!--
+
+ a {
+ }
+
+ .style3 {
+ color: #8585c1;
+ font-size: 13px;
+ }
+
+ .style3 a:link {
+ color: #8585C1;
+ cursor: pointer;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+
+ .style3 a:active {
+ color: #117721;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+
+ .style3 a:visited {
+ color: #8585C1;
+ cursor: auto;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ /*font-weight: bold;*/
+ }
+
+
+ .style3 a:hover {
+ color: #8585C1;
+ cursor: pointer;
+ text-decoration: underline;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+ -->
+ </style>
+ </head>
+ <body>
+ <%
+
+ // java.text.DateFormat dateFormat = new
java.text.SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
+ //java.util.Date now= new java.util.Date();
+ //java.util.Date date= dateFormat.parse(now.toString());
+ String confPath = "WEB-INF/classes/perfsonar/conf/";
+ String ServicePropertiesPath = confPath+ "service.properties";
+ ServletContext sc = getServletContext();
+ String ServicePath = sc.getRealPath("/");
+ PerfsonarProperty property = new PerfsonarProperty();
+ PerfsonarProperties serviceProperties = new PerfsonarPropertiesImpl();
+ serviceProperties.loadProperties(new FileInputStream(ServicePath
+ + ServicePropertiesPath));
+
+ String serviceName=
serviceProperties.getProperty("service.r.service_name").getValue().trim();
+ String serviceVersion=
serviceProperties.getProperty("service.r.service_version").getValue().trim();
+
+
+ %>
+ <div class="adminPanel">
+ <div class="banner">
+ <table border="0" align="left" cellpadding="0"
cellspacing="0">
+ <tr>
+ <td>
+ <a href="welcome.htm" target="main"><img
src="perfsonar_logo.gif" alt="perfSONAR" width="192" height="94" border="0"
align="right"></a>
+ </td>
+ <td>
+ <table>
+ <tr><td id="date">
+ <script
type="text/javascript">
+ <!--
+ show_clock();
+ //-->
+ </script>
+ </td></tr>
+ <tr><td id="serviceName"><%=serviceName %>
&nbsp;<%=serviceVersion%></td></tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <th>
+ <a href="welcome.htm" class="button"
target="main">Admin home &nbsp; &nbsp; &nbsp;</a>
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading">Basic
+ <br>
+ Configuration
+ </span>
+ </p>
+ <p>
+ <span class="navtex"><a href="Wizard"
target="main">Service</a></span>
+ <br>
+ <a href="testdepl.jsp"
target="main">Test</a>
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading
style3">Advanced
+ <br>
+ Configuration
+ </span>
+ </p>
+ <p>
+ <span class="navtex style3"><a
href="ServiceAdmin?serviceProperties" target="main">Service</a>
+ <br>
+ <a
href="ServiceAdmin?loggingProperties" target="main">Logging</a>
+ <br>
+ <a href="eXistAdmin"
target="main">eXist Database</a>
+ <br>
+ <a href="MetadataAdmin"
target="main">Config File Management</a>
+ <br>
+
+ </span>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ </tr>
+ </table>
+ <img src="graphics/logos.gif" alt="perfSONAR project
partners" width="117" height="263" border="0" align="top"/>
+ </div>
+ <div class="centerWindow">
+ <object data="welcome.htm" type="text/html" name="main"
width="99%" height="100%">
+ </object>
+ </div>
+ </div>
+ <div class="footer">
+ PERFormance Service-Oriented Network monitoring ARchitecture
&nbsp;
+ </div>
+ </div>
+ </body>
+</html>

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/index_sqlma.jsp (from rev
6483, trunk/perfsonar-web-admin-0/index_sqlma.jsp)
===================================================================
--- trunk/perfsonar-web-admin-0/src/main/webapp/index_sqlma.jsp
(rev 0)
+++ trunk/perfsonar-web-admin-0/src/main/webapp/index_sqlma.jsp 2014-01-30
22:42:23 UTC (rev 6484)
@@ -0,0 +1,151 @@
+<%@ page
import="perfSONARWebAdmin.auxiliary.PerfsonarProperties,perfSONARWebAdmin.auxiliary.PerfsonarPropertiesImpl,perfSONARWebAdmin.auxiliary.PerfsonarProperty,java.io.File,java.io.FileInputStream,java.io.FileOutputStream,java.io.IOException"
%>
+
+<html>
+ <head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="main.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="Service_Admin.js"></script>
+
+ <style type="text/css">
+ <!--
+
+ a {
+ }
+
+ .style3 {
+ color: #8585c1;
+ font-size: 13px;
+ }
+
+ .style3 a:link {
+ color: #8585C1;
+ cursor: pointer;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+
+ .style3 a:active {
+ color: #117721;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+
+ .style3 a:visited {
+ color: #8585C1;
+ cursor: auto;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ /*font-weight: bold;*/
+ }
+
+
+ .style3 a:hover {
+ color: #8585C1;
+ cursor: pointer;
+ text-decoration: underline;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ }
+ -->
+ </style>
+ </head>
+ <body>
+ <%
+ java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("EEE
MMM dd HH:mm:ss zzz yyyy");
+ java.util.Date now= new java.util.Date();
+ java.util.Date date= dateFormat.parse(now.toString());
+ String confPath = "WEB-INF/classes/perfsonar/conf/";
+ String ServicePropertiesPath = confPath+ "service.properties";
+ ServletContext sc = getServletContext();
+ String ServicePath = sc.getRealPath("/");
+ PerfsonarProperty property = new PerfsonarProperty();
+ PerfsonarProperties serviceProperties = new PerfsonarPropertiesImpl();
+ serviceProperties.loadProperties(new FileInputStream(ServicePath
+ + ServicePropertiesPath));
+
+ String serviceName=
serviceProperties.getProperty("service.r.service_name").getValue().trim();
+ String serviceVersion=
serviceProperties.getProperty("service.r.service_version").getValue().trim();
+
+
+ %>
+ <div class="adminPanel">
+ <div class="banner">
+ <table border="0" align="left" cellpadding="0"
cellspacing="0">
+ <tr>
+ <td>
+ <a href="welcome.htm" target="main"><img
src="perfsonar_logo.gif" alt="perfSONAR" width="192" height="94" border="0"
align="right"></a>
+ </td>
+ <td>
+ <table>
+ <tr><td
id="date"><%=date.toString()%></td></tr>
+ <tr><td id="serviceName"><%=serviceName %>
&nbsp;<%=serviceVersion%></td></tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <th>
+ <a href="welcome.htm" class="button"
target="main">Admin home &nbsp; &nbsp; &nbsp;</a>
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading">Basic
+ <br>
+ Configuration
+ </span>
+ </p>
+ <p>
+ <span class="navtex"><a href="Wizard"
target="main">Service</a></span>
+ <br>
+ <a href="testdepl.jsp"
target="main">Test</a>
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading
style3">Advanced
+ <br>
+ Configuration
+ </span>
+ </p>
+ <p>
+ <span class="navtex style3"><a
href="ServiceAdmin?serviceProperties" target="main">Service</a>
+ <br>
+ <a
href="ServiceAdmin?loggingProperties" target="main">Logging</a>
+ <br>
+ <a href="eXistAdmin"
target="main">eXist Database</a>
+ <br>
+ <a href="SQLMAdmin"
target="main">SQL MA Admin</a>
+ <br>
+ </span>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ </tr>
+ </table>
+ <img src="graphics/logos.gif" alt="perfSONAR project
partners" width="117" height="263" border="0" align="top"/>
+ </div>
+ <div class="centerWindow">
+ <object data="welcome.htm" type="text/html" name="main"
width="99%" height="100%">
+ </object>
+ </div>
+ </div>
+ <div class="footer">
+ PERFormance Service-Oriented Network monitoring ARchitecture
&nbsp;
+ </div>
+ </div>
+ </body>
+</html>

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/liveclock.js (from rev
6483, trunk/perfsonar-web-admin-0/liveclock.js)
===================================================================
--- trunk/perfsonar-web-admin-0/src/main/webapp/liveclock.js
(rev 0)
+++ trunk/perfsonar-web-admin-0/src/main/webapp/liveclock.js 2014-01-30
22:42:23 UTC (rev 6484)
@@ -0,0 +1,173 @@
+///////////////////////////////////////////////////////////
+// "Live Clock Advanced" script - Version 1.0
+// By Mark Plachetta
()
+//
+// Get the latest version at:
+// http://www.zip.com.au/~astroboy/liveclock/
+//
+// Based on the original script: "Upper Corner Live Clock"
+// available at:
+// - Dynamic Drive (http://www.dynamicdrive.com)
+// - Website Abstraction (http://www.wsabstract.com)
+// ========================================================
+// CHANGES TO ORIGINAL SCRIPT:
+// - Gave more flexibility in positioning of clock
+// - Added date construct (Advanced version only)
+// - User configurable
+// ========================================================
+// Both "Advanced" and "Lite" versions are available free
+// of charge, see the website for more information on the
+// two scripts.
+///////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////
+/////////////// CONFIGURATION /////////////////////////////
+
+ // Set the clock's font face:
+ var myfont_face = "Verdana";
+
+ // Set the clock's font size (in point):
+ var myfont_size = "10";
+
+ // Set the clock's font color:
+ var myfont_color = "#000000";
+
+ // Set the clock's background color:
+ var myback_color = "#FFFFFF";
+
+ // Set the text to display before the clock:
+ var mypre_text = "";
+
+ // Set the width of the clock (in pixels):
+ var mywidth = 300;
+
+ // Display the time in 24 or 12 hour time?
+ // 0 = 24, 1 = 12
+ var my12_hour = 0;
+
+ // How often do you want the clock updated?
+ // 0 = Never, 1 = Every Second, 2 = Every Minute
+ // If you pick 0 or 2, the seconds will not be displayed
+ var myupdate = 1;
+
+ // Display the date?
+ // 0 = No, 1 = Yes
+ var DisplayDate = 1;
+
+/////////////// END CONFIGURATION /////////////////////////
+///////////////////////////////////////////////////////////
+
+// Browser detect code
+ var ie4=document.all
+ var ns4=document.layers
+ var ns6=document.getElementById&&!document.all
+
+// Global varibale definitions:
+
+ var dn = "";
+ var mn = "th";
+ var old = "";
+
+// The following arrays contain data which is used in the clock's
+// date function. Feel free to change values for Days and Months
+// if needed (if you wanted abbreviated names for example).
+ var DaysOfWeek = new Array(7);
+ DaysOfWeek[0] = "Sun";
+ DaysOfWeek[1] = "Mon";
+ DaysOfWeek[2] = "Tue";
+ DaysOfWeek[3] = "Wed";
+ DaysOfWeek[4] = "Thu";
+ DaysOfWeek[5] = "Fri";
+ DaysOfWeek[6] = "Sat";
+
+ var MonthsOfYear = new Array(12);
+ MonthsOfYear[0] = "Jan";
+ MonthsOfYear[1] = "Feb";
+ MonthsOfYear[2] = "Mar";
+ MonthsOfYear[3] = "Apr";
+ MonthsOfYear[4] = "May";
+ MonthsOfYear[5] = "Jun";
+ MonthsOfYear[6] = "Jul";
+ MonthsOfYear[7] = "Aug";
+ MonthsOfYear[8] = "Sep";
+ MonthsOfYear[9] = "Oct";
+ MonthsOfYear[10] = "Nov";
+ MonthsOfYear[11] = "Dec";
+
+// This array controls how often the clock is updated,
+// based on your selection in the configuration.
+ var ClockUpdate = new Array(3);
+ ClockUpdate[0] = 0;
+ ClockUpdate[1] = 1000;
+ ClockUpdate[2] = 60000;
+
+
+// The main part of the script:
+ function show_clock() {
+ if (old == "die") { return; }
+
+ //show clock in NS 4
+ if (ns4)
+ document.ClockPosNS.visibility="show"
+ // Get all our date variables:
+ var Digital = new Date();
+ var day = Digital.getDay();
+ var mday = Digital.getDate();
+ var month = Digital.getMonth();
+ var hours = Digital.getHours();
+
+ var minutes = Digital.getMinutes();
+ var seconds = Digital.getSeconds();
+
+ // Fix the "mn" variable if needed:
+ if (mday == 1) { mn = "st"; }
+ else if (mday == 2) { mn = "nd"; }
+ else if (mday == 3) { mn = "rd"; }
+ else if (mday == 21) { mn = "st"; }
+ else if (mday == 22) { mn = "nd"; }
+ else if (mday == 23) { mn = "rd"; }
+ else if (mday == 31) { mn = "st"; }
+ mn = "";
+
+ // Set up the hours for either 24 or 12 hour display:
+ if (my12_hour) {
+ dn = "AM";
+ if (hours > 12) { dn = "PM"; hours = hours - 12; }
+ if (hours == 0) { hours = 12; }
+ } else {
+ dn = "";
+ }
+ if (minutes <= 9) { minutes = "0"+minutes; }
+ if (seconds <= 9) { seconds = "0"+seconds; }
+
+ // This is the actual HTML of the clock. If you're going to play
around
+ // with this, be careful to keep all your quotations in tact.
+ myclock = '';
+ myclock += '<font style="color:'+myfont_color+';
font-family:'+myfont_face+'; font-size:'+myfont_size+'pt;">';
+ myclock += Digital.toGMTString();
+ myclock += '</font>';
+
+ document.getElementById("date").innerHTML = myclock
+ //document.write(myclock);
+ if (old == "true") {
+ old = "die";
+ return;
+ }
+
+ // Write the clock to the layer:
+ /*
+ if (ns4) {
+ clockpos = document.ClockPosNS;
+ liveclock = clockpos.document.LiveClockNS;
+ liveclock.document.write(myclock);
+ liveclock.document.close();
+ } else if (ie4) {
+ LiveClockIE.innerHTML = myclock;
+ } else if (ns6){
+ document.getElementById("LiveClockIE").innerHTML =
myclock;
+ }
+ */
+
+
+ if (myupdate != 0) {
setTimeout("show_clock()",ClockUpdate[myupdate]); }
+}

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/main.css (from rev 6483,
trunk/perfsonar-web-admin-0/main.css)
===================================================================
--- trunk/perfsonar-web-admin-0/src/main/webapp/main.css
(rev 0)
+++ trunk/perfsonar-web-admin-0/src/main/webapp/main.css 2014-01-30
22:42:23 UTC (rev 6484)
@@ -0,0 +1,487 @@
+/* standard elements */
+
+html {min-height: 100%;}
+
+
+
+* {
+ margin: 0;
+ padding: 0;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ text-decoration: none;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+}
+
+
+body{
+ background-color: #C0C0C0;
+ width: 100%;
+ height: 100%;
+ }
+a:link {
+ color: #468C46;
+ cursor: pointer;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+a:active {
+ color: #117721;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+a:visited {
+ color: #468C46;
+ cursor: auto;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+a:hover {
+ color: #468C46;
+ cursor: pointer;
+ text-decoration: underline;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.adminPanel{
+ width: 94%;
+ height: 50%;
+ float:left;
+ margin-left: 3%;
+ margin-right: 5%;
+ background-color: #ffffff;
+ margin-bottom: 2%;
+}
+.navtex {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #468C46;
+ text-align: right;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 28px;
+ background-image: none;
+}
+
+.navtexheading {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #468C46;
+ text-align: right;
+ font-style: normal;
+ font-weight: bold;
+ line-height: normal;
+
+}
+.welcometext {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ color: #468C46;
+ border-bottom-width: 1px;
+ border-bottom-style: dotted;
+ border-bottom-color: #468C46;
+ padding-top: 10px;
+ padding-bottom: 8px;
+ padding-right: 0px;
+ clip: rect(auto,auto,auto,auto);
+ margin-right: 0px;
+ margin-left: 2%;
+}
+.heading1 {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #468C46;
+ padding-top: 23px;
+ padding-bottom: 23px;
+ font-weight: bold;
+ margin-left: 2%;
+}
+
+.bodytext1 {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #333333;
+ width: 100%;
+ margin-left: 18%;
+ font-weight: normal;
+ line-height: 22px;
+}
+
+.bodytextgreenline {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #333333;
+ margin-left: 18%;
+ font-weight: normal;
+ line-height: 18px;
+ border-bottom-width: 1px;
+ border-bottom-style: dotted;
+ border-bottom-color: #468C46;
+ padding-bottom: 11pt;
+}
+
+.contenttable {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #468C46;
+ padding-top: 0px;
+ margin-left: 20px;
+ font-weight: bold;
+ background-color: #FFFFFF;
+}
+.configheadinglavender {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #8585C1;
+ font-weight: bold;
+ background-image: url(graphics/arrow_icon2.gif);
+ background-repeat: no-repeat;
+ background-position: 17px top;
+ padding-left: 38px;
+}
+
+.configheadinglavender a:link {
+ color: #8585C1;
+ cursor: pointer;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+.configheadinglavender a:active {
+ color: #117721;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+.configheadinglavender a:visited {
+ color: #8585C1;
+ cursor: auto;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+.configheadinglavender a:hover {
+ color: #8585C1;
+ cursor: pointer;
+ text-decoration: underline;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+
+.configheading {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #27752C;
+ font-weight: bold;
+ background-image: url(graphics/arrow_icon.gif);
+ background-repeat: no-repeat;
+ background-position: 17px top;
+ padding-left: 38px;
+}
+
+.configheading a:link {
+ color: #27752C;
+ cursor: pointer;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+.configheading a:active {
+ color: #117721;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+.configheading a:visited {
+ color: #27752C;
+ cursor: auto;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+.configheading a:hover {
+ color: #27752C;
+ cursor: pointer;
+ text-decoration: underline;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.banner{
+ margin: 5px;
+ width: 99%;
+ height: 94px;
+ background-image: url(top_slice.gif);
+ background-color: #FFFFFF;
+ padding: 0px;
+ clip: rect(auto,auto,auto,auto);
+ float:left;
+}
+#date{
+ padding-top:5px;
+ float:right;
+ text-align:right;
+ margin-left: 79.5%;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+#serviceName{
+ padding-top:5px;
+ float:right;
+ text-align:right;
+ margin-left: 79.5%;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight:bold;
+}
+
+.mainWindow{
+ border: none;
+ padding: 0px;
+ width: 100%;
+ height: 750px;
+ background-color: #ffffff;
+}
+.centerWindow{
+ background-color: #FFFFFF;
+ width: 82%;
+ height:80%;
+ margin-right: 5px;
+ margin-bottom: 5px;
+ margin-left: 0;
+ float: left;
+}
+.centerWindow object{
+ width: 101%;
+ height: 105%;
+ background-color: #FFFFFF;
+}
+
+.welcomepage{
+ background-color: #FFFFFF;
+ width: 100%;
+ height: 100%;
+}
+
+/* Sidebar*/
+
+.sidebar{
+ width: 15%;
+ height: 71.1%;
+ padding-bottom: 12.1%;
+ padding-right: 0px;
+ float: left;
+ border-right-width: 1px;
+ border-right-style: solid;
+ border-right-color: #61AF61;
+ margin-top: 0px;
+ margin-right: 5px;
+ margin-bottom: 5px;
+ margin-left: 5px;
+}
+.sidebar th{
+ color: #ffffff;
+ text-align: right;
+ background-color: #61AF61;
+ width: 15%;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-weight: normal;
+ text-decoration:none;
+ background-repeat: no-repeat;
+
+ padding-top: 10px;
+ padding-right: 8%;
+ padding-bottom: 10px;
+ padding-left: 10px;
+}
+.sidebar td{
+ text-align: right;
+ background-color: #ffffff;
+ padding: 10px;
+ border-bottom-width: 1px;
+ border-bottom-style: dotted;
+ border-bottom-color: #92C992;
+}
+.sidebar a.button {
+ color: #ffffff;
+ text-align:left;
+ background-color: #61AF61;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-weight: normal;
+ text-decoration:none;
+ background-position: 100% 50%;
+ background-image: url(graphics/admin_home_target.gif);
+ background-repeat: no-repeat;
+
+}
+
+
+
+.sidebar a{
+ font-weight: normal;
+ padding-top: 0px;
+ padding-right: 0px;
+ padding-bottom: 0px;
+ padding-left: 0px;
+ margin-bottom: 0px;
+}
+
+.sidebar img{
+ float: right;
+ border: none;
+ padding-top: 0px;
+ padding-right: 0px;
+ padding-bottom: 0px;
+}
+
+
+.footer{
+ height: 20px;
+ text-align: right;
+ color: #61AF61;
+ background-color: #ffffff;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ border-top-width: 1px;
+ border-top-style: dotted;
+ border-top-color: #61AF61;
+ padding-top: 12px;
+ width: 100%;
+ border-right-style: none;
+ border-right-color: #FFFFFF;
+ border-left-color: #FFFFFF;
+ float: none;
+}
+.footermain {
+ height: 20px;
+ text-align: right;
+ color: #61AF61;
+ background-color: #ffffff;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ border-top-width: 1px;
+ border-top-style: dotted;
+ border-top-color: #61AF61;
+ padding-top: 5px;
+ width: 100%;
+ border-right-style: none;
+ border-right-color: #FFFFFF;
+ border-left-color: #FFFFFF;
+ }
+
+.execute_button_testdepl {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 30px;
+ float: right;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 60%;
+ font-weight: 400;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/button_2_medium.gif) no-repeat
center;
+}
+
+.testdeplmain {
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+/* font-weight:bold;;*/
+/* margin-left: -20%;*/
+ margin-left: 2%;
+ border-width: 1px;
+ border-color: #61AF61;
+ padding: 5px;
+ width: 556px;
+ height:108px;
+ background: transparent url(graphics/testdepl_main.gif) no-repeat
center;
+}
+
+.testdeplsucc {
+ text-align: left;
+ float: left;
+ /*font-weight:bold;;*/
+ text-decoration: none;
+/* margin-left: -20%;*/
+ margin-left: 2%;
+ padding: 5px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ border:solid;
+ border-width: 1px;
+ border-color: #61AF61;
+ width: 544px;
+ height: 220px;
+ background: transparent url(graphics/testdepl_succ.gif) no-repeat center;
+}
+
+.testdeplfail {
+ text-align: left;
+ float: left;
+/* font-weight:bold;;*/
+ text-decoration: none;
+ padding: 5px;
+ margin-left: 2%;
+ /*margin-left: -20%;*/
+ height: 105px;
+ width:555px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ border:solid;
+ border-width: 1px;
+ border-color: #61AF61;
+ background: transparent url(graphics/testdepl_fail.gif) no-repeat
center;
+}
+
+.testdeplstartbn {
+ display: block;
+ margin-top: 5px;
+ width: 120px;
+ height: 30px;
+ float: right;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 60%;
+ font-weight: 400;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/testdepl_startbn.gif) no-repeat
center;
+}
+
+.testdeplretbn {
+ display: block;
+ margin-top: 5px;
+ width: 150px;
+ height: 30px;
+ float: none;;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 60%;
+ font-weight: 400;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/testdepl_return.gif) no-repeat
center;
+}
+
+.testdeplretbn2 {
+ display: block;
+ margin-top: 5px;
+ width: 150px;
+ height: 30px;
+ float: right;
+ border: none;
+ font-family: Helvetica, Calibri, Arial, sans-serif;
+ font-size: 60%;
+ font-weight: 400;
+ text-decoration: none;
+ cursor: pointer;
+ background: transparent url(graphics/testdepl_return.gif) no-repeat
center;
+}
+
+

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/partners.gif (from rev
6483, trunk/perfsonar-web-admin-0/partners.gif)
===================================================================
(Binary files differ)

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/perfsonar.png (from rev
6483, trunk/perfsonar-web-admin-0/perfsonar.png)
===================================================================
(Binary files differ)

Copied: trunk/perfsonar-web-admin-0/src/main/webapp/perfsonar_logo.gif (from
rev 6483, trunk/perfsonar-web-admin-0/perfsonar_logo.gif)
===================================================================
(Binary files differ)

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-01-24 15:22:05 UTC (rev 6483)
+++ trunk/pom.xml 2014-01-30 22:42:23 UTC (rev 6484)
@@ -46,6 +46,7 @@
<module>perfsonar-java-xml-ls</module>
<module>perfsonar-java-web-admin</module>
<module>nmwg-sql-converter</module>
+ <module>perfsonar-web-admin-0</module>
</modules>

<!-- This scm section is only valid for the trunk and the aggregator -->



  • [pS-dev] [GEANT/SA2/ps-java-services] r6484 - in trunk: . perfsonar-java-rrd-ma/soapUI perfsonar-jav a-rrd-ma/src/rpm perfsonar-java-sql-ma perfsonar-java-sql- ma/src/deb/control perfsonar-java-sql-ma/src/main/java/org /perfsonar/service/measurementArchive/sqlType perfsonar-ja va-sql-ma/src/main/resources/perfsonar/conf perfsonar-java -sql-ma/src/test/resources/perfsonar/conf perfsonar-java-x ml-ls/soapUI perfsonar-web-admin-0 perfsonar-web-admin-0/s rc perfsonar-web-admin-0/src/main perfsonar-web-admin-0/sr c/main/java perfsonar-web-admin-0/src/main/java/perfSONARW ebAdmin/admin/wizard perfsonar-web-admin-0/src/main/java/p erfSONARWebAdmin/admin/wizard/services perfsonar-web-admin -0/src/main/java/perfSONARWebAdmin/auxiliary/wizard perfso nar-web-admin-0/src/main/webapp perfsonar-web-admin-0/src/ test, svn-noreply, 01/30/2014

Archive powered by MHonArc 2.6.16.

Top of Page