perfsonar-dev - [GEANT/SA2/ps-java-services] r5582 - in branches/webAdmin-xslt: . perfsonar-java-web-admin perfsonar-java-web-admin/src perfsonar-java-web-admin/src/main perfsonar-java-web-admin/src/main/java perfsonar-java-web-admin/src/main/java/org perfsonar-java-web-admin/src/main/java/org/perfsonar perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources perfsonar-java-web-admin/src/main/resources/org perfsonar-java-web-admin/src/main/resources/org/perfsonar perfsonar-java-web-admin/src/main/resources/org/perfsonar/webad min perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates perfsonar-java-web-admin/src/main/resources/perfsonar perfsonar-java-web-admin/src/main/resources/perfsonar/conf perfsonar-java-web-admin/src/main/webapp perfsonar-java-web-admin/src/main/webapp/WEB-INF perfsonar-java-web-admin/src/main/webapp/WEB-INF/views perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts perfsonar-java-web-admin/src/main/webapp/wa perfsonar-java-web-admin/src/main/webapp/wa/graphics perfsonar-java-web-admin/src/main/webapp/wa/scripts perfsonar-java-web-admin/src/main/webapp/wa/soapMessages perfsonar-java-web-admin/src/main/webapp/wa/styles
Subject: perfsonar development work
List archive
[GEANT/SA2/ps-java-services] r5582 - in branches/webAdmin-xslt: . perfsonar-java-web-admin perfsonar-java-web-admin/src perfsonar-java-web-admin/src/main perfsonar-java-web-admin/src/main/java perfsonar-java-web-admin/src/main/java/org perfsonar-java-web-admin/src/main/java/org/perfsonar perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources perfsonar-java-web-admin/src/main/resources/org perfsonar-java-web-admin/src/main/resources/org/perfsonar perfsonar-java-web-admin/src/main/resources/org/perfsonar/webad min perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates perfsonar-java-web-admin/src/main/resources/perfsonar perfsonar-java-web-admin/src/main/resources/perfsonar/conf perfsonar-java-web-admin/src/main/webapp perfsonar-java-web-admin/src/main/webapp/WEB-INF perfsonar-java-web-admin/src/main/webapp/WEB-INF/views perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts perfsonar-java-web-admin/src/main/webapp/wa perfsonar-java-web-admin/src/main/webapp/wa/graphics perfsonar-java-web-admin/src/main/webapp/wa/scripts perfsonar-java-web-admin/src/main/webapp/wa/soapMessages perfsonar-java-web-admin/src/main/webapp/wa/styles
Chronological Thread
- From:
- To:
- Subject: [GEANT/SA2/ps-java-services] r5582 - in branches/webAdmin-xslt: . perfsonar-java-web-admin perfsonar-java-web-admin/src perfsonar-java-web-admin/src/main perfsonar-java-web-admin/src/main/java perfsonar-java-web-admin/src/main/java/org perfsonar-java-web-admin/src/main/java/org/perfsonar perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources perfsonar-java-web-admin/src/main/resources/org perfsonar-java-web-admin/src/main/resources/org/perfsonar perfsonar-java-web-admin/src/main/resources/org/perfsonar/webad min perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates perfsonar-java-web-admin/src/main/resources/perfsonar perfsonar-java-web-admin/src/main/resources/perfsonar/conf perfsonar-java-web-admin/src/main/webapp perfsonar-java-web-admin/src/main/webapp/WEB-INF perfsonar-java-web-admin/src/main/webapp/WEB-INF/views perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts perfsonar-java-web-admin/src/main/webapp/wa perfsonar-java-web-admin/src/main/webapp/wa/graphics perfsonar-java-web-admin/src/main/webapp/wa/scripts perfsonar-java-web-admin/src/main/webapp/wa/soapMessages perfsonar-java-web-admin/src/main/webapp/wa/styles
- Date: Wed, 7 Apr 2010 12:15:34 +0100
Author: psnc.trzaszczka
Date: 2010-04-07 12:15:33 +0100 (Wed, 07 Apr 2010)
New Revision: 5582
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/
branches/webAdmin-xslt/perfsonar-java-web-admin/pom.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters/AuthFilter.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/AbstractInputHandler.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/SimpleInputHandler.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClient.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClientException.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/BasicServlet.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/CoreServlet.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/FormServlet.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/SelfTestServlet.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath/XPathProcessor.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XPathResolver.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XSLTTransformator.java
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-form.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/configuration.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/webAdminConfig.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/info.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/login.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/main.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/banner.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/configurationSaved.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/error.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/footer.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/savedFailed.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/selfTest.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/welcome.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/selfTest.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/web.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/index.jsp
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/admin_home_target.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button_2.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon2.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_large.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_small.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_large.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_small.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/cancel_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/create_resource_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/delete_red_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_green_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/login_panel.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logos.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logout_button.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_off_tab.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_on_tab.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_off_tab.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_on_tab.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/perfsonar_logo.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_bottom.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_slice.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_top.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_bottom.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_slice.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_top.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_fail.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_main.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_return.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_startbn.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_succ.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/top_slice.gif
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/Service_Admin.js
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/wz_tooltip.js
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/soapMessages/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/soapMessages/selfTest.xml
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/default.css
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/main.css
Log:
webAdmin on XSLT
Added: branches/webAdmin-xslt/perfsonar-java-web-admin/pom.xml
===================================================================
--- branches/webAdmin-xslt/perfsonar-java-web-admin/pom.xml
(rev 0)
+++ branches/webAdmin-xslt/perfsonar-java-web-admin/pom.xml 2010-04-07
11:15:33 UTC (rev 5582)
@@ -0,0 +1,57 @@
+<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>
+ <groupId>org.perfsonar.webadmin</groupId>
+ <artifactId>perfsonar-java-web-admin</artifactId>
+ <packaging>war</packaging>
+ <version>1.0</version>
+ <name>webAdmin Maven Webapp</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.9</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <finalName>perfsonarWebAdmin</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.10</version>
+ <configuration>
+ <stopPort>9966</stopPort>
+ <stopKey>foo</stopKey>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters/AuthFilter.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters/AuthFilter.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters/AuthFilter.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,47 @@
+package org.perfsonar.webadmin.filters;
+
+import java.io.IOException;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+public class AuthFilter implements Filter {
+
+ FilterConfig config;
+
+ public AuthFilter() {
+
+ }
+
+ public void init(FilterConfig filterConfig) throws ServletException {
+ this.config = filterConfig;
+ }
+
+ @Override
+ public void destroy() {
+
+ }
+
+ @Override
+ public void doFilter(ServletRequest arg0, ServletResponse arg1,
+ FilterChain arg2) throws IOException,
ServletException {
+ HttpServletRequest request = (HttpServletRequest) arg0;
+ HttpSession session = request.getSession();
+ if (session.getAttribute("logged") == null) {
+ HttpServletResponse response = (HttpServletResponse)
arg1;
+ session.setAttribute("page",
"/WEB-INF/views/login.jsp");
+ response.sendRedirect("main");
+ } else {
+ arg2.doFilter(arg0, arg1);
+ }
+
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/AbstractInputHandler.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/AbstractInputHandler.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/AbstractInputHandler.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,28 @@
+package org.perfsonar.webadmin.helpers;
+
+import java.util.Map;
+
+import org.w3c.dom.Node;
+
+public abstract class AbstractInputHandler {
+
+ private Node node;
+ private String id;
+
+ public AbstractInputHandler(Node node, String id) {
+ super();
+ this.node = node;
+ this.id = id;
+ }
+
+ public abstract void handleInput(Map<?,?> map);
+
+ public Node getNode() {
+ return node;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/SimpleInputHandler.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/SimpleInputHandler.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers/SimpleInputHandler.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,21 @@
+package org.perfsonar.webadmin.helpers;
+
+import java.util.Map;
+
+import org.w3c.dom.Node;
+
+public class SimpleInputHandler extends AbstractInputHandler{
+
+ public SimpleInputHandler(Node node, String id) {
+ super(node, id);
+ }
+
+ @Override
+ public void handleInput(Map<?, ?> map) {
+ String [] values=(String [])map.get(getId());
+ if(values!=null){
+ getNode().setTextContent(values[0]);
+ }
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClient.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClient.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClient.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,73 @@
+package org.perfsonar.webadmin.selftest;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.ResponseHandler;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.BasicResponseHandler;
+import org.apache.http.impl.client.DefaultHttpClient;
+
+/**
+ *
+ * Simple SOAP client
+ *
+ * @author Slawomir Trzaszczka
+ *
+ */
+public class SOAPClient {
+
+ private final String url;
+
+ public SOAPClient(String url) {
+ this.url = url;
+ }
+
+ /**
+ *
+ * sends request to webService and returns content of the response
+ *
+ * @param content
+ * - content of the message (soap message)
+ * @return
+ * @throws UnsupportedEncodingException
+ */
+ public String sendMessage(String content) throws SOAPClientException {
+
+ HttpClient httpclient = new DefaultHttpClient();
+ HttpPost httpPost = new HttpPost(url);
+
+ // define required HTTP headers
+ httpPost.setHeader("Content-type", "text/xml;
charset=UTF-8;");
+ httpPost.setHeader("SOAPAction", "");
+
+ StringEntity entity;
+ try {
+ entity = new StringEntity(content);
+ httpPost.setEntity(entity);
+
+ ResponseHandler<String> responseHandler = new
BasicResponseHandler();
+
+ try {
+ return httpclient.execute(httpPost,
responseHandler);
+ } catch (ClientProtocolException e) {
+ e.printStackTrace();
+ throw new SOAPClientException(e);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new SOAPClientException(e);
+ } finally {
+ if (httpclient != null) {
+
httpclient.getConnectionManager().shutdown();
+ }
+ }
+ } catch (UnsupportedEncodingException e1) {
+ e1.printStackTrace();
+ throw new SOAPClientException(e1);
+ }
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClientException.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClientException.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest/SOAPClientException.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,9 @@
+package org.perfsonar.webadmin.selftest;
+
+@SuppressWarnings("serial")
+public class SOAPClientException extends Exception{
+
+ public SOAPClientException(Throwable throwable) {
+ super(throwable);
+ }
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/BasicServlet.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/BasicServlet.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/BasicServlet.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,62 @@
+package org.perfsonar.webadmin.servlets;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.perfsonar.webadmin.xpath.XPathProcessor;
+import org.perfsonar.webadmin.xslt.XSLTTransformator;
+import org.w3c.dom.Node;
+
+@SuppressWarnings("serial")
+public class BasicServlet extends CoreServlet {
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+
+ String page=(String)req.getSession().getAttribute("page");
+ addRequiredPageElements(req);
+ if(page!=null){
+ String
info=(String)req.getSession().getAttribute("info");
+ req.getSession().removeAttribute("info");
+ req.getSession().removeAttribute("page");
+ req.setAttribute("content",info);
+ }else{
+ page="/WEB-INF/views/main.jsp";
+ req.setAttribute("title","Welcome to the perfSONAR
service web admin administration interface");
+ req.setAttribute("content","");
+ }
+
+ getServletConfig().getServletContext().getRequestDispatcher(
+ page).forward(req, resp);
+ }
+
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse
resp)
+ throws ServletException, IOException {
+
+ String username=(String)req.getParameterValues("username")[0];
+ String password=(String)req.getParameterValues("password")[0];
+
+ XPathProcessor xpPathProcessor=new XPathProcessor();
+ Node
node=xpPathProcessor.getSingleElement(getPath()+XSLTTransformator.WEB_ADMIN_CONFIG,
"/webAdmin/credential");
+ String
usernameCredential=node.getAttributes().getNamedItem("username").getNodeValue();
+ String
passwordCredential=node.getAttributes().getNamedItem("password").getNodeValue();
+
+ if(usernameCredential.equals(username) &&
passwordCredential.equals(password)){
+ req.getSession().setAttribute("logged", true);
+ req.getSession().setAttribute("info","Login success");
+
req.getSession().setAttribute("page","/WEB-INF/views/info.jsp");
+ }else{
+ req.getSession().setAttribute("info","Incorrect login
or password");
+
req.getSession().setAttribute("page","/WEB-INF/views/login.jsp");
+ }
+
+ redirect(req, resp, "/main");
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/CoreServlet.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/CoreServlet.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/CoreServlet.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,58 @@
+package org.perfsonar.webadmin.servlets;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.perfsonar.webadmin.xpath.XPathProcessor;
+import org.perfsonar.webadmin.xslt.XSLTTransformator;
+import org.w3c.dom.Node;
+
+@SuppressWarnings("serial")
+public class CoreServlet extends HttpServlet{
+
+ private XSLTTransformator xsltTransformator;
+
+
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+ String basePath = getPath();
+ xsltTransformator=new XSLTTransformator(basePath);
+ }
+
+ protected XSLTTransformator getXsltTransformator() {
+ return xsltTransformator;
+ }
+
+ protected void addRequiredPageElements(HttpServletRequest req){
+ addMenu(req);
+ addServiceInfo(req);
+ }
+
+ private void addMenu(HttpServletRequest req){
+ req.setAttribute("menu", xsltTransformator.getMenuContent());
+ }
+
+ private void addServiceInfo(HttpServletRequest req){
+ XPathProcessor xpPathProcessor=new XPathProcessor();
+ Node
node=xpPathProcessor.getSingleElement(getPath()+XSLTTransformator.WEB_ADMIN_CONFIG,
"//serviceInformation");
+ String
serviceName=node.getAttributes().getNamedItem("serviceName").getNodeValue();
+ String
serviceVersion=node.getAttributes().getNamedItem("serviceVersion").getNodeValue();
+ req.setAttribute("serviceName", serviceName);
+ req.setAttribute("serviceVersion", serviceVersion);
+ }
+
+ protected void redirect(HttpServletRequest req,HttpServletResponse
res,String path){
+ res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
+ res.setHeader("Location", req.getContextPath()+path);
+ }
+
+ protected String getPath(){
+ String basePath = getServletContext().getRealPath("/") +
"WEB-INF";
+ return basePath;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/FormServlet.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/FormServlet.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/FormServlet.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,86 @@
+package org.perfsonar.webadmin.servlets;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.perfsonar.webadmin.helpers.AbstractInputHandler;
+import org.w3c.dom.Document;
+
+@SuppressWarnings("serial")
+public class FormServlet extends CoreServlet {
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+
+ String formName=req.getParameter("form");
+
+ String content=null;
+
+ if(formName!=null && !formName.isEmpty()){
+ //form
+
content=getXsltTransformator().getFormContent(formName);
+ HttpSession session=req.getSession(true);
+ session.setAttribute("docs",
getXsltTransformator().getXpPathResolver().getDoc());
+ session.setAttribute("nodes",
getXsltTransformator().getXpPathResolver().getInputHandlers());
+ }
+
+ addRequiredPageElements(req);
+
+ req.setAttribute("content", content);
+
+
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/views/main.jsp").forward(req,
resp);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse
resp)
+ throws ServletException, IOException {
+
+ Map<String,AbstractInputHandler> nodes=(Map<String,
AbstractInputHandler>) req.getSession().getAttribute("nodes");
+
+ for(String key:nodes.keySet()){
+ nodes.get(key).handleInput(req.getParameterMap());
+ }
+
+ Map<String,Document>
docs=(Map<String,Document>)req.getSession().getAttribute("docs");
+ for(Entry<String, Document> entry:docs.entrySet()){
+
+ Source source = new DOMSource(entry.getValue());
+ File file = new File(entry.getKey());
+ Result result = new StreamResult(file);
+ Transformer xformer;
+ try {
+ xformer =
TransformerFactory.newInstance().newTransformer();
+ xformer.transform(source, result);
+ } catch (TransformerConfigurationException e) {
+ e.printStackTrace();
+ } catch (TransformerFactoryConfigurationError e) {
+ e.printStackTrace();
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+ }
+
+ req.getSession().setAttribute("info","Registration saved");
+
req.getSession().setAttribute("page","/WEB-INF/views/info.jsp");
+ redirect(req, resp, "/main");
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/SelfTestServlet.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/SelfTestServlet.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets/SelfTestServlet.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,80 @@
+package org.perfsonar.webadmin.servlets;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.perfsonar.webadmin.selftest.SOAPClient;
+import org.perfsonar.webadmin.selftest.SOAPClientException;
+import org.perfsonar.webadmin.xpath.XPathProcessor;
+import org.perfsonar.webadmin.xslt.XSLTTransformator;
+import org.w3c.dom.Node;
+
+@SuppressWarnings("serial")
+public class SelfTestServlet extends CoreServlet {
+
+ private final String SELF_TEST_FILE = "/wa/soapMessages/selfTest.xml";
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+
+ XPathProcessor xpPathProcessor=new XPathProcessor();
+ Node
node=xpPathProcessor.getSingleElement(getPath()+XSLTTransformator.WEB_ADMIN_CONFIG,
"//serviceInformation");
+ String accessPoint
=node.getAttributes().getNamedItem("accessPoint").getNodeValue();
+
+ SOAPClient soapClient = new SOAPClient(accessPoint);
+ String messageContent =
getFileContent(getServletContext().getRealPath("/") + SELF_TEST_FILE);
+
+ String content = null;
+
+ if (messageContent == null) {
+ req.setAttribute("errorMessage", "Message is null");
+ } else {
+ String result;
+ try {
+ result =
soapClient.sendMessage(messageContent);
+ if (result != null) {
+ if(result.contains("error")){
+ //XSLT processing
+
content=getXsltTransformator().getSelftestContent(result);
+ }else{
+ //print success
+ content="SUCCESS";
+ }
+ } else {
+ req.setAttribute("errorMessage",
"Result is null");
+ }
+ } catch (SOAPClientException e) {
+ content=e.getMessage();
+ }
+ }
+
+ req.getSession().setAttribute("page",
"/WEB-INF/views/selfTest.jsp");
+ req.getSession().setAttribute("info", content);
+ redirect(req, resp, "/main");
+ }
+
+ private String getFileContent(String url) {
+
+ byte[] buffer = new byte[(int) new File(url).length()];
+ FileInputStream f;
+ try {
+ f = new FileInputStream(url);
+ f.read(buffer);
+ return new String(buffer);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath/XPathProcessor.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath/XPathProcessor.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath/XPathProcessor.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,104 @@
+package org.perfsonar.webadmin.xpath;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+public class XPathProcessor {
+
+ private Document doc;
+ private Map<String, Document> documents = new HashMap<String,
Document>();
+
+ public Map<String, Document> getDocuments() {
+ return documents;
+ }
+
+ public Document getDoc() {
+ return doc;
+ }
+
+ public Node getSingleElement(String file, String xpathQuery) {
+
+ DocumentBuilderFactory domFactory = DocumentBuilderFactory
+ .newInstance();
+ domFactory.setNamespaceAware(true);
+ DocumentBuilder builder;
+ try {
+ builder = domFactory.newDocumentBuilder();
+ if (documents.containsKey(file)) {
+ doc = documents.get(file);
+ } else {
+ doc = builder.parse(new File(file));
+ documents.put(file, doc);
+ }
+
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ XPathExpression expr = xpath.compile(xpathQuery);
+
+ Object result = expr.evaluate(doc,
XPathConstants.NODESET);
+ Node node = ((NodeList) result).item(0);
+
+ return node;
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ } catch (SAXException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (XPathExpressionException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ public Node getSingleElementFromContent(String content, String
xpathQuery) {
+
+ DocumentBuilderFactory domFactory = DocumentBuilderFactory
+ .newInstance();
+ domFactory.setNamespaceAware(true);
+ DocumentBuilder builder;
+ try {
+ builder = domFactory.newDocumentBuilder();
+
+ ByteArrayInputStream bais=new
ByteArrayInputStream(content.getBytes());
+
+ doc = builder.parse(bais);
+
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ XPathExpression expr = xpath.compile(xpathQuery);
+
+ Object result = expr.evaluate(doc,
XPathConstants.NODESET);
+ Node node = ((NodeList) result).item(0);
+
+ return node;
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ } catch (SAXException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (XPathExpressionException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XPathResolver.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XPathResolver.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XPathResolver.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,126 @@
+package org.perfsonar.webadmin.xslt;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.perfsonar.webadmin.helpers.AbstractInputHandler;
+import org.perfsonar.webadmin.helpers.SimpleInputHandler;
+import org.perfsonar.webadmin.xpath.XPathProcessor;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+public class XPathResolver {
+
+
+ private final String url;
+ private final String inputNames[] = { "text","radio","select" };
+ private final Map<String, Node> inputNodes = new HashMap<String,
Node>();
+ private final Map<String,AbstractInputHandler> inputHandlers=new
HashMap<String, AbstractInputHandler>();
+ private XPathProcessor xpPathProcessor;
+
+
+ public XPathResolver(String url) {
+ this.url = url;
+ xpPathProcessor=new XPathProcessor();
+ }
+
+ private String generateId(String Xpath){
+ return
String.valueOf(Xpath.hashCode()+System.currentTimeMillis());
+ }
+
+ public String replace(String formName,String xml) {
+
+ DocumentBuilderFactory domFactory = DocumentBuilderFactory
+ .newInstance();
+ domFactory.setNamespaceAware(true);
+ DocumentBuilder builder;
+ try {
+ builder = domFactory.newDocumentBuilder();
+ Document doc = builder.parse(new
ByteArrayInputStream(xml.getBytes()));
+ XPath xpath = XPathFactory.newInstance().newXPath();
+ XPathExpression expr;
+ Node node;
+ for(String inputName:inputNames){
+ expr =
xpath.compile("//form[@itemRefId='"+formName+"']//"+inputName);
+ NodeList nodes=(NodeList) expr.evaluate(doc,
XPathConstants.NODESET);
+ for(int c=0;c<nodes.getLength();c++){
+ node=nodes.item(c);
+ Node
xpathNode=node.getChildNodes().item(1);
+ String
nodeXpath=xpathNode.getTextContent();
+ String
nodeFileURL=xpathNode.getAttributes().getNamedItem("file").getNodeValue();
+ Node
value=xpPathProcessor.getSingleElement(url+nodeFileURL, nodeXpath);
+ //set value from xpath
+ Attr
attr=doc.createAttribute("value");
+ attr.setValue(value.getTextContent());
+
node.getAttributes().setNamedItem(attr);
+
+ //generate id
+ String id=generateId(nodeXpath);
+ attr=doc.createAttribute("name");
+ attr.setValue(id);
+
node.getAttributes().setNamedItem(attr);
+ inputNodes.put(id, value);
+ inputHandlers.put(id, new
SimpleInputHandler(value,id));
+ }
+ }
+
+ TransformerFactory tFactory =
TransformerFactory.newInstance();
+ Transformer transformer = tFactory.newTransformer();
+
+ ByteArrayOutputStream baos=new
ByteArrayOutputStream();
+ DOMSource source = new DOMSource(doc);
+ transformer.transform(source, new StreamResult(baos));
+
+ return baos.toString();
+
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ } catch (SAXException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (XPathExpressionException e) {
+ e.printStackTrace();
+ } catch (TransformerConfigurationException e) {
+ e.printStackTrace();
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ public Map<String,Document> getDoc() {
+ return xpPathProcessor.getDocuments();
+ }
+
+ public Map<String, Node> getInputNodes() {
+ return inputNodes;
+ }
+
+ public Map<String, AbstractInputHandler> getInputHandlers() {
+ return inputHandlers;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XSLTTransformator.java
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XSLTTransformator.java
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt/XSLTTransformator.java
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,114 @@
+package org.perfsonar.webadmin.xslt;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+public class XSLTTransformator {
+
+ public static final String
CONFIG="/classes/perfsonar/conf/configuration.xml";
+ public static final String
WEB_ADMIN_CONFIG="/classes/perfsonar/conf/webAdminConfig.xml";
+ public static final String
XSLT_FORM="/classes/org/perfsonar/webadmin/xslt/templates/xslt-form.xml";
+ public static final String
XSLT_MENU="/classes/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml";
+ public static final String
xSLT_SELFTEST="/classes/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml";
+
+ private String url;
+ private XPathResolver xpPathResolver;
+
+ public XSLTTransformator(String url) {
+ super();
+ this.url = url;
+ }
+
+ private String getFileContent(String url) {
+ StringBuffer fileData = new StringBuffer(1000);
+ BufferedReader reader;
+ try {
+ reader = new BufferedReader(new FileReader(url));
+ char[] buf = new char[1024];
+ int numRead = 0;
+ while ((numRead = reader.read(buf)) != -1) {
+ String readData = String.valueOf(buf, 0,
numRead);
+ fileData.append(readData);
+ buf = new char[1024];
+ }
+ reader.close();
+ return fileData.toString();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+
+ }
+
+ public String getFormContent(String formName) {
+
+ String xsltForm=getFileContent(url+ XSLT_FORM);
+
+ xsltForm=xsltForm.replace("$FORM", formName);
+
+
+ String webAdminConfig=getFileContent(url+ WEB_ADMIN_CONFIG);
+ xpPathResolver=new XPathResolver(url);
+
webAdminConfig=xpPathResolver.replace(formName,webAdminConfig);
+
+ Source xmlSource = new StreamSource(new
ByteArrayInputStream(webAdminConfig.getBytes()));
+ Source xsltSource = new StreamSource(new
ByteArrayInputStream(xsltForm.getBytes()));
+
+ return getTranslatedContent(xmlSource, xsltSource);
+ }
+
+ public String getMenuContent() {
+ Source xmlSource = new StreamSource(new File(url
+ + WEB_ADMIN_CONFIG));
+ Source xsltSource = new StreamSource(new File(url+XSLT_MENU));
+
+ return getTranslatedContent(xmlSource, xsltSource);
+ }
+
+ public String getSelftestContent(String xmlContent) {
+ ByteArrayInputStream baos = new
ByteArrayInputStream(xmlContent.getBytes());
+ Source xmlSource = new StreamSource(baos);
+ Source xsltSource = new StreamSource(new
File(url+xSLT_SELFTEST));
+
+ return getTranslatedContent(xmlSource, xsltSource);
+ }
+
+ private String getTranslatedContent(Source xmlSource, Source
xsltSource) {
+ TransformerFactory transFact =
TransformerFactory.newInstance();
+ Transformer trans;
+
+ try {
+ trans = transFact.newTransformer(xsltSource);
+ ByteArrayOutputStream baos = new
ByteArrayOutputStream();
+ trans.transform(xmlSource, new StreamResult(baos));
+ return baos.toString();
+ } catch (TransformerConfigurationException e) {
+ e.printStackTrace();
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+
+ public XPathResolver getXpPathResolver() {
+ return xpPathResolver;
+ }
+
+}
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-form.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-form.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-form.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
+
+
+ <xsl:template
match="/webAdmin/forms/form[@itemRefId='$FORM']">
+ <div>
+ <h1 style="color:#468C46">
+ <xsl:value-of select="@title" />
+ </h1>
+ <br/>
+ <br/>
+ <form method="POST" action="form">
+ <xsl:apply-templates/>
+ <br/>
+ <input type="submit" value="save"/>
+ </form>
+ </div>
+ </xsl:template>
+
+ <xsl:template
match="/webAdmin/forms/form[@itemRefId='$FORM']//simple">
+ <table>
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template
match="/webAdmin/forms/form[@itemRefId='$FORM']//group">
+ <fieldset>
+ <legend><xsl:value-of select="@title" /></legend>
+ <table>
+ <xsl:apply-templates/>
+ </table>
+ </fieldset>
+ </xsl:template>
+
+ <xsl:template
match="/webAdmin/forms/form[@itemRefId='$FORM']//text"
priority="-1">
+ <tr>
+ <td>
+ <xsl:value-of select="@title" />
+ </td>
+ <td>
+ <input type="text" value="text">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value"
/>
+ </xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"
/>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="radio" priority="-1">
+ <tr>
+ <td>
+ <xsl:value-of select="@title" />
+ </td>
+ <td>
+ <xsl:for-each select="item">
+ <input type="radio">
+ <xsl:attribute name="value">
+ <xsl:value-of
select="@title" />
+ </xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of
select="../@name" />
+ </xsl:attribute>
+ <xsl:if test="./@title =
../@value">
+ <xsl:attribute
name="checked"/>
+ </xsl:if>
+ <xsl:value-of select="@title"
/>
+ </input>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="select" priority="-1">
+ <tr>
+ <td>
+ <xsl:value-of select="@title" />
+ </td>
+ <td>
+ <select>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"
/>
+ </xsl:attribute>
+ <xsl:for-each select="item">
+ <option>
+ <xsl:attribute
name="value">
+ <xsl:value-of
select="@title" />
+ </xsl:attribute>
+ <xsl:if
test="./@title = ../@value">
+
<xsl:attribute name="selected">
+
selected
+
</xsl:attribute>
+ </xsl:if>
+ <xsl:value-of
select="@title" />
+ </option>
+ </xsl:for-each>
+ </select>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template match="/webAdmin/forms/form//simple" priority="-100"/>
+ <xsl:template match="/webAdmin/forms/form//group" priority="-100"/>
+ <xsl:template match="/webAdmin/forms/form//text" priority="-100"/>
+ <xsl:template match="/webAdmin/forms/form//radio" priority="-100"/>
+ <xsl:template match="/webAdmin/forms/form//select" priority="-100"/>
+
+</xsl:stylesheet>
\ No newline at end of file
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-form.xml
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:template match="/">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <th>
+ <a href="index.jsp" class="button"
target="_self">
+ Admin home
+ </a>
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading">
+ Basic Configuration
+ </span>
+ </p>
+ <xsl:for-each
select="webAdmin/menu/base">
+ <xsl:apply-templates/>
+ </xsl:for-each>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="navtexheading">
+ Advanced
Configuration
+ </span>
+ </p>
+ <xsl:for-each
select="webAdmin/menu/advanced">
+ <xsl:apply-templates/>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </table>
+ <img src="wa/graphics/logos.gif"
+ alt="perfSONAR project partners"
+ width="117"
+ height="263"
+ border="0"
+ align="top" />
+
+ </xsl:template>
+
+ <xsl:template match="item">
+ <a>
+ <xsl:choose>
+ <xsl:when test="@redirect = 'true'">
+ <xsl:attribute name="href">
+ <xsl:value-of
select="@target"/>
+ </xsl:attribute>
+ <xsl:attribute name="target">
+ _blank
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="href">
+ form?form=<xsl:value-of
select="@id"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="@title"/>
+ </a>
+ <br/>
+ </xsl:template>
+
+</xsl:stylesheet>
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-menu.xml
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+ xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="nmwg:metadata">
+ </xsl:template>
+
+ <xsl:template match="nmwg:data">
+ <div style="padding:10px;margin:10px;border:1px solid
#960101; background-color:#ff8080;display:table">
+ <span style="font-weight:
bold">TEST FAILED</span><br/>
+ <hr style="border: 1px solid
#960101"/>
+ <table>
+ <xsl:for-each
select="nmwg:metadata/nmwg:eventType">
+
<xsl:if test="contains(.,'error')">
+
<xsl:variable
+
name="metadataId"
+
select="../@id"/>
+
<tr>
+
<td>
+
<xsl:value-of select="."/>
+
</td>
+
<td>
+
<xsl:value-of
select="../../nmwg:data[@metadataIdRef=
$metadataId]/nmwgr:datum"/>
+
</td>
+
</tr>
+
</xsl:if>
+
</xsl:for-each>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="nmwg:data/nmwg:data">
+ </xsl:template>
+
+</xsl:stylesheet>
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates/xslt-selftest.xml
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/configuration.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/configuration.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/configuration.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,228 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+
+<configuration>
+
+
+ <service name="xmlls">
+
+ <!--
....................................................................................
-->
+
+ <!-- Lookup Info of the LS instance -->
+
+ <lookupInformation>
+ <option name="accessPoint"
value="http://localhost:8080/perfsonar-java-xml-ls/services/LookupService"/>
+ <option name="serviceName" value="Geant3 JAVA - XML LS "/>
+ <option name="serviceVersion" value="1.5 "/>
+ <option name="auth" value="no"/>
+ <option name="auth1" value="xx"/>
+ </lookupInformation>
+
+ <!--
....................................................................................
-->
+
+ <!-- Message Handlers - message types and service engines -->
+
+ <messageHandler>
+
+ <!-- Echo -->
+ <message type="EchoRequest"
+
handler="org.perfsonar.base2.service.messages.GenericMessageHandler">
+ <option name="ServiceEngine"
+
value="org.perfsonar.service.lookupservice.EchoServiceEngine" />
+ <option name="authN" value="no" />
+ </message>
+
+ <!-- Register -->
+ <message type="LSRegisterRequest"
+
handler="org.perfsonar.service.lookupservice.LSRegistrationMessageHandler">
+ <option name="ServiceEngine"
+
value="org.perfsonar.service.lookupservice.LSRegisterServiceEngine"/>
+ <option name="authN" value="no" />
+ <option name="minTTL" value="10" />
+ <option name="maxTTL" value="100000" />
+ </message>
+
+ <!-- QUERY -->
+ <message type="LSQueryRequest"
+
handler="org.perfsonar.base2.service.messages.GenericMessageHandler">
+ <option name="ServiceEngine"
+
value="org.perfsonar.service.lookupservice.LSQueryServiceEngine" />
+ <option name="authN" value="no" />
+ </message>
+
+ <!-- Keepalive -->
+ <message type="LSKeepaliveRequest"
+
handler="org.perfsonar.base2.service.messages.GenericMessageHandler">
+ <option name="ServiceEngine"
+
value="org.perfsonar.service.lookupservice.LSKeepaliveServiceEngine" />
+ <option name="authN" value="no" />
+ </message>
+
+ <!-- Deregister -->
+ <message type="LSDeregisterRequest"
+
handler="org.perfsonar.base2.service.messages.GenericMessageHandler">
+ <option name="ServiceEngine"
+
value="org.perfsonar.service.lookupservice.LSDeregisterServiceEngine" />
+ <option name="authN" value="no" />
+ </message>
+
+ </messageHandler>
+
+ <!--
....................................................................................
-->
+
+ <!-- Additional auxiliary components -->
+
+ <auxiliaryComponents>
+
+ <!-- exist datasource contains optionally read-only credentials -->
+ <component name="existDataSource"
+
className="org.perfsonar.service.lookupservice.components.DataSourceComponent">
+ <option name="url"
value="xmldb:exist://localhost:%PORT%/exist/xmlrpc/db"/>
+ <option name="username" value="lookupservice"/>
+ <option name="password" value="sonar"/>
+ <option name="usernameRO" value="guest"/>
+ <option name="passwordRO" value="guest"/>
+ </component>
+
+ <!-- provides access to ExistDb with all permissions -->
+ <component name="existAccessManager"
className="org.perfsonar.service.lookupservice.components.XMLDBComponent">
+ <option name="dataSource-ref" value="existDataSource"/>
+ </component>
+
+ <!-- provides access to ExistDb with read-only permissions -->
+ <component name="existAccessManagerRO"
className="org.perfsonar.service.lookupservice.components.XMLDBComponent">
+ <option name="dataSource-ref" value="existDataSource"/>
+ <option name="readOnly" value="true"/>
+ </component>
+
+ <!-- Lookup Service DAO -->
+ <component name="lsdao"
className="org.perfsonar.service.lookupservice.storage.exist.dao.MultipleFilesDAOImpl">
+ <option name="dbAccessManager-ref" value="existAccessManager"/>
+ </component>
+
+ <!-- Lookup Service DAO with read-only permission. It is used in
LSQueryRequest -->
+ <component name="lsdao-ro"
className="org.perfsonar.service.lookupservice.storage.exist.dao.MultipleFilesDAOImpl">
+ <option name="dbAccessManager-ref" value="existAccessManagerRO"/>
+ </component>
+
+ <!-- Summarization Service DAO -->
+ <component name="summarizationdao"
className="org.perfsonar.service.lookupservice.storage.exist.dao.SummarizationDAOImpl">
+ <option name="dbAccessManager-ref" value="existAccessManager"/>
+ </component>
+
+ <!-- contains a nr of changes in DB - is used to synchronization -->
+ <component name="modificationCounterComponent"
className="org.perfsonar.service.lookupservice.components.ModificationCounterComponent"/>
+
+
+ <!-- auth configuration -->
+ <component name="auth"
className="org.perfsonar.base2.service.authn.component.wssec.WSSecAuthNComponent">
+ <option name="as_endpoint"
value="http://homer.rediris.es:8080/geant2-java-as-1.2/services/SimpleService"/>
+ <option name="comp_id" value="urn:compId"/>
+ </component>
+
+
+ <!-- Scheduler -->
+ <component name="scheduling"
+
className="org.perfsonar.base2.service.scheduler.SchedulingComponent">
+
+ <option name="schedulerClassName"
value="org.perfsonar.base2.service.scheduler.singleThread.SingleThreadScheduler"/>
+ <option name="interval" value="60"/> <!-- sec -->
+ <actions>
+
+ <!--
+ action invokes cleanup operations on database. lsTTL -
default value of Time to live parameter.
+ After lsTTL time, if service didn't re-register, service will
be removed.
+ -->
+ <action name="LSCleanup_1"
className="org.perfsonar.service.lookupservice.schedulerActions.CleanupSchedulerAction">
+ <option name="status" value="on" />
+ <option name="interval" value="300" />
+ <option name="lsTTL" value="86400"/>
+ </action>
+
+ <!--
+ this action supports synchronization of summarized data
stored in LSStore-summary with data stored in LSStore.xml
+ nrOfModifications - nr of changes in db after which
summarization process is executed immediately
+ nrOfIterations - after this nr of iteration if there are
some changes in db - summarization process is executed
+ -->
+ <action name="LSSummarySynchronization"
className="org.perfsonar.service.lookupservice.schedulerActions.SummarySynchronizationAction">
+ <option name="status" value="on" />
+ <option name="interval" value="60" />
+ <option name="nrOfModifications" value="10"/>
+ <option name="nrOfIterations" value="4"/>
+ </action>
+
+ <action name="registration"
className="org.perfsonar.service.lookupservice.schedulerActions.GLSRegistrationAction">
+
+ <option name="status" value="on" />
+ <option name="interval" value="43200" />
+
+ <option name="registerDataSource"
+
value="org.perfsonar.service.lookupservice.registration.LSSummaryRegisterDataSource"/>
+
+ <option name="registerEventType"
+
value="http://ogf.org/ns/nmwg/tools/org/perfsonar/service/lookup/registration/summary/2.0"/>
+ <!--
+ <option name="registerEventType"
+
value="http://ogf.org/ns/nmwg/tools/org/perfsonar/service/lookup/registration/service/2.0"/>
+ -->
+ <option name="registrator"
+
value="org.perfsonar.base2.service.registration.GenericLSRegistrator"/>
+
+ <!-- define lsAddresses (lsAddress-1,lsAddress-2,..) where
this LS will be registered -->
+ <!--
+ <option name="lsAddress-1"
+
value="http://localhost:8080/perfsonar-java-xml-ls/services/LookupService"/>
+ -->
+ <!-- or define localizations of the root.hints
(lsList-1,lsList-2,...) which consists of gls addresses -->
+
+ <option name="lsList-1"
value="http://www.perfsonar.net/gls.root.hints"/>
+
+ <!-- number of registration to GLS in a single iteration -->
+ <option name="nrOfGLSRegistration" value="1"/>
+
+ </action>
+
+ </actions>
+ </component>
+
+ </auxiliaryComponents>
+
+
+ <!--
....................................................................................
-->
+
+ <!-- Protocol mappings, XML elements and their bingings -->
+
+ <protocolMappings>
+
+
+ <!-- default mapping -->
+
+
+ <!-- general mappings -->
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}message"
+ mapping="org.perfsonar.base2.xml.nmwg.Message"/>
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}metadata"
+ mapping="org.perfsonar.base2.xml.nmwg.Metadata"/>
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}eventType"
+ mapping="org.perfsonar.base2.xml.nmwg.EventType"/>
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}data"
+ mapping="org.perfsonar.base2.xml.nmwg.Data"/>
+ <element name="{*}subject"
+ mapping="org.perfsonar.base2.xml.nmwg.Subject"/>
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}parameters"
+ mapping="org.perfsonar.base2.xml.nmwg.Parameters"/>
+ <element name="{http://ggf.org/ns/nmwg/base/2.0/}parameter"
+ mapping="org.perfsonar.base2.xml.nmwg.Parameter"/>
+ <element name="*"
+ mapping="org.perfsonar.base2.xml.Element"/>
+ <element
name="{http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/}subject"
+ mapping="org.perfsonar.base2.xml.TextElement"/>
+
+
+ </protocolMappings>
+
+
+ </service>
+
+
+</configuration>
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/configuration.xml
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/webAdminConfig.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/webAdminConfig.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/resources/perfsonar/conf/webAdminConfig.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<webAdmin>
+
+ <credential username="user" password="pass"/>
+ <serviceInformation
accessPoint="http://localhost:8080/perfsonar-java-xml-ls/services/LookupService"
+ serviceName="Lookup service"
+ serviceVersion="1.5-1"/>
+
+
+ <menu>
+ <base>
+ <item id="basicConfig" title="basic config"/>
+ <item title="self-test" redirect="true"
target="selfTest"/>
+ </base>
+ <advanced>
+ <item id="advancedConfig" title="advanced config"/>
+ </advanced>
+ </menu>
+ <forms>
+ <form title="Basic config" itemRefId="basicConfig">
+ <simple>
+ <text title="TEXT">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="serviceName"]/@value
+ </xpath>
+ </text>
+ </simple>
+ <group title="Group title">
+ <radio title="RADIO">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="auth"]/@value
+ </xpath>
+ <item title="yes"/>
+ <item title="no"/>
+ <item title="xx"/>
+ </radio>
+ <select title="SELECT">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="auth1"]/@value
+ </xpath>
+ <item title="yes"/>
+ <item title="no"/>
+ <item title="xx"/>
+ </select>
+ </group>
+ </form>
+ <form title="Advanced config" itemRefId="advancedConfig">
+ <simple>
+ <text title="TEXT1">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="serviceName"]/@value
+ </xpath>
+ </text>
+ <radio title="RADIO">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="auth"]/@value
+ </xpath>
+ <item title="yes"/>
+ <item title="no"/>
+ <item title="xx"/>
+ </radio>
+ <select title="SELECT">
+ <xpath
file="/classes/perfsonar/conf/configuration.xml">
+
//lookupInformation/option[@name="auth1"]/@value
+ </xpath>
+ <item title="yes"/>
+ <item title="no"/>
+ <item title="xx"/>
+ </select>
+ </simple>
+ </form>
+ </forms>
+
+</webAdmin>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/info.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/info.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/info.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="wa/styles/main.css"/>
+ <link rel="stylesheet" type="text/css" href="wa/styles/default.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="wa/scripts/Service_Admin.js"></script>
+</head>
+<body>
+ <script src="wa/scripts/wz_tooltip.js"></script>
+
+ <div class="adminPanel">
+ <div class="banner">
+
<%@include
file="parts/banner.jsp"%>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <%
+
out.println(request.getAttribute("menu"));
+ %>
+ </div>
+ <div class="centerWindow">
+ <span style="color:#468C46">
+ <%
+
out.println(request.getAttribute("content"));
+ %>
+ </span>
+ </div>
+ </div>
+ </div>
+
+
+</body>
+</html>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/login.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/login.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/login.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,57 @@
+<html>
+<head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="wa/styles/main.css"/>
+ <link rel="stylesheet" type="text/css" href="wa/styles/default.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="wa/scripts/Service_Admin.js"></script>
+</head>
+<body>
+ <script src="wa/scripts/wz_tooltip.js"></script>
+ <div class="adminPanel">
+ <div class="banner">
+
<%@include
file="parts/banner.jsp"%>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <%
+
out.println(request.getAttribute("menu"));
+ %>
+ </div>
+ <div class="centerWindow">
+ <%
+
if(request.getAttribute("content")!=null){
+
out.println(request.getAttribute("content"));
+ }
+ %>
+
+ <form action="main" method="post">
+ <table>
+ <tr>
+ <td>
+ username
+ </td>
+ <td>
+ <input
type="text" name="username"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ password
+ </td>
+ <td>
+ <input
type="password" name="password"/>
+ </td>
+ </tr>
+ </table>
+ <input type="submit" value="Save"/>
+ </form>
+
+ </div>
+ </div>
+ </div>
+
+
+
+</body>
+</html>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/main.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/main.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/main.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,40 @@
+<html>
+ <head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="wa/styles/main.css"/>
+ <link rel="stylesheet" type="text/css" href="wa/styles/default.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="wa/scripts/Service_Admin.js"></script>
+ </head>
+<body>
+
+ <script src="wa/scripts/wz_tooltip.js"></script>
+ <div class="adminPanel">
+ <div class="banner">
+
<%@include
file="parts/banner.jsp"%>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <%
+
out.println(request.getAttribute("menu"));
+ %>
+ </div>
+ <div class="centerWindow">
+ <p class="welcometext">
+ <%
+ String title=(String)request.getAttribute("title");
+ if(title!=null){
+ out.println(title);
+ }
+ %>
+ </p>
+
+ <%
+
out.println(request.getAttribute("content"));
+ %>
+ </div>
+ </div>
+ </div>
+
+</body>
+</html>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/banner.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/banner.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/banner.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,20 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+<table border="0" align="left" cellpadding="0" cellspacing="0"
style="width:100%">
+ <tr>
+ <td>
+ <a href="index.jsp" target="_self">
+ <img src="wa/graphics/perfsonar_logo.gif"
alt="perfSONAR" width="192" height="94" border="0" align="left"/>
+ </a>
+ </td>
+ <td
style="text-align:right;padding-right:70px;font-weight:bold;color:#468C46;font-size:14px">
+ <%
+ String
serviceName=(String)request.getAttribute("serviceName");
+ String
serviceVersion=(String)request.getAttribute("serviceVersion");
+ out.println(serviceName+" - "+serviceVersion);
+ %>
+ </td>
+ </tr>
+</table>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/configurationSaved.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/configurationSaved.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/configurationSaved.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,7 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+ <p class="heading1">
+ The configuration files have been saved.
+ </p>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/error.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/error.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/error.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,11 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+<center>
+ <h2>
+ Failed to load web admin configuration file(s). <br />
+ Please check Tomcat log files for further information. <br />
+ Restart Tomcat after saving web admin configuration files and click
+ <a href="index.jsp" target="_self"> here</a>.</h2>
+</center>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/footer.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/footer.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/footer.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,5 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+PERFormance Service-Oriented Network monitoring ARchitecture
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/savedFailed.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/savedFailed.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/savedFailed.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,7 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+<p class="heading1">
+ The configuration files have been saved.
+</p>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/selfTest.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/selfTest.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/selfTest.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,39 @@
+<%@page
import="java.util.Map"%>
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+<div class="centerWindow">
+ <p class="welcometext">
+ Welcome to the perfSONAR service web administration interface
+ </p>
+ <p class="heading1">
+ Deployment test
+ </p>
+ <%
+ if(request.getParameter("ok")!=null){
+ %>
+ <div
style="padding:10px;margin:10px;border:1px solid #468C46;
background-color:#d9ecd9;display:table">
+ <span style="font-weight:
bold">TEST SUCCESS</span><br/>
+ <hr style="border: 1px solid
#468C46"/>
+ <%
+ }else{
+ %>
+ <div
style="padding:10px;margin:10px;border:1px solid #960101;
background-color:#ff8080;display:table">
+ <span style="font-weight:
bold">TEST FAILED</span><br/>
+ <hr style="border: 1px solid
#960101"/>
+ <%
+ Map<String,String>
errors=(Map<String,String>)application.getAttribute("errors");
+ if(errors!=null){
+
out.println("<table>");
+ for(String
eventType:errors.keySet()){
+
out.println("<tr><td>"+eventType+"</td><td>"+errors.get(eventType)+"</td></tr>");
+ }
+
out.println("</table>");
+ }else{
+
out.println(application.getAttribute("errorMessage"));
+ }
+ }
+ %>
+ </div>
+</div>
\ No newline at end of file
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/welcome.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/welcome.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/welcome.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,5 @@
+<div class="centerWindow">
+ <p class="welcometext">
+ Welcome to the perfSONAR service web admin administration
interface
+ </p>
+</div>
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts/welcome.jsp
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/selfTest.jsp
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/selfTest.jsp
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/selfTest.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>perfSONAR Service Web Administration page</title>
+ <link rel="stylesheet" type="text/css" href="wa/styles/main.css"/>
+ <link rel="stylesheet" type="text/css" href="wa/styles/default.css"/>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
+ <script src="wa/scripts/Service_Admin.js"></script>
+</head>
+<body>
+ <script src="wa/scripts/wz_tooltip.js"></script>
+
+ <div class="adminPanel">
+ <div class="banner">
+
<%@include
file="parts/banner.jsp"%>
+ </div>
+ <div class="mainWindow">
+ <div class="sidebar">
+ <%
+
out.println(request.getAttribute("menu"));
+ %>
+ </div>
+ <div class="centerWindow">
+ SELFTEST<br/>
+ <br/>
+ <%
+
out.println(request.getAttribute("content"));
+ %>
+ </div>
+ </div>
+ </div>
+
+
+</body>
+</html>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/web.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/web.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/WEB-INF/web.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,50 @@
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
+
+<web-app>
+ <display-name>Archetype Created Web Application</display-name>
+
+ <filter>
+ <filter-name>authFilter</filter-name>
+ <filter-class>org.perfsonar.webadmin.filters.AuthFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>authFilter</filter-name>
+ <url-pattern>/form</url-pattern>
+ </filter-mapping>
+
+ <!-- SERVLET -->
+
+ <servlet>
+ <servlet-name>basicServlet</servlet-name>
+
<servlet-class>org.perfsonar.webadmin.servlets.BasicServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>formServlet</servlet-name>
+
<servlet-class>org.perfsonar.webadmin.servlets.FormServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>selftestServlet</servlet-name>
+
<servlet-class>org.perfsonar.webadmin.servlets.SelfTestServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>basicServlet</servlet-name>
+ <url-pattern>/main</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>formServlet</servlet-name>
+ <url-pattern>/form</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>selftestServlet</servlet-name>
+ <url-pattern>/selfTest</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/index.jsp
===================================================================
--- branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/index.jsp
(rev 0)
+++ branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/index.jsp
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,8 @@
+<html>
+<head>
+ <jsp:forward page="main"></jsp:forward>
+</head>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/admin_home_target.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/admin_home_target.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button_2.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/apply_button_2.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon2.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/arrow_icon2.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_large.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_large.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_small.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_1_small.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_large.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_large.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_small.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/button_2_small.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/cancel_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/cancel_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/create_resource_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/create_resource_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/delete_red_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/delete_red_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_green_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/edit_green_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/login_panel.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/login_panel.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logos.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logos.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logout_button.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/logout_button.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_off_tab.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_off_tab.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_on_tab.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_collections_on_tab.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_off_tab.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_off_tab.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_on_tab.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/manage_users_on_tab.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/perfsonar_logo.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/perfsonar_logo.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_bottom.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_bottom.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_slice.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_slice.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_top.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_1_top.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_bottom.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_bottom.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_slice.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_slice.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_top.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/step_2_top.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_fail.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_fail.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_main.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_main.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_return.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_return.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_startbn.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_startbn.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_succ.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/testdepl_succ.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/top_slice.gif
===================================================================
(Binary files differ)
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/graphics/top_slice.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/Service_Admin.js
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/Service_Admin.js
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/Service_Admin.js
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,129 @@
+/**
+ * @author Michalis Michael,Cynet
+ */
+function setTip(el, description, color){
+ var text = '<span style=\"font-size: 12px; width:20px;\">' + description
+ '</span>';
+ var width;
+ if (el) {
+ el.style.cursor = 'pointer';
+ width = 250;
+ }
+ else {
+ width = 0;
+ }
+
+ Tip(text, BGCOLOR, color, WIDTH, width, TEXTALIGN, 'justify', ABOVE,
true);
+}
+
+function FloatPosition(){
+ var ns = (navigator.appName.indexOf("Netscape") != -1);
+ var x = screen.width;
+ var y = screen.height;
+ var button = document.getElementById("Button");
+ var reset_button = document.getElementById("ResetButton");
+ if (reset_button) {
+ var width = reset_button.parentNode.offsetWidth;
+ var offset = reset_button.parentNode.offsetLeft;
+ var leftoffset = parent
+ if (reset_button != null) {
+ if (y == 768) {
+ reset_button.style.top = 95 + '%';
+ reset_button.style.left = 83 + '%';
+ }
+ else {
+ //alert("Not 768 "+x);
+ reset_button.style.top = 95 + '%';
+ reset_button.style.left = 67 + '%';
+ }
+ }
+ if (button != null) {
+ if (y == 768) {
+ button.style.top = 95 + '%';
+ button.style.left = 91.5 + '%';
+ }
+ else {
+ button.style.top = 95 + '%';
+ button.style.left = 74 + '%';
+ }
+ }
+ }
+
+}
+
+onload = FloatPosition;
+onscroll = FloatPosition;
+onresize = FloatPosition;
+
+function checkStarFields(){
+
+ var divs = document.getElementsByTagName("div");
+ var filled = true;
+
+ for (var i = 0; i < divs.length; i++) {
+
+ var div = divs[i];
+ if (div.style.display == "block") {
+ var input_array = div.getElementsByTagName("input");
+
+ var text = document.createElement("td");
+ var ex = document.getElementById("extra");
+ if (ex != null) {
+ var p = ex.parentNode;
+ p.removeChild(ex);
+ }
+ text.id = "extra";
+ text.innerHTML = '<p style=\"color:red;\">Please fill in the
field!</p>';
+
+ for (var j = 0; j < input_array.length; j++) {
+
+ var input = input_array[j];
+
+ if (input.id == "required") {
+
+ var parent = input.parentNode.parentNode;
+ if (input.value == null || input.value == "" ||
input.value == " ") {
+ if
(parent.parentNode.parentNode.parentNode.style.display == "block") {
+ filled = false;
+ parent.appendChild(text);
+ return filled;
+ }
+
+ }
+
+ }
+
+ }
+ }
+
+ }
+
+ return filled;
+
+}
+
+function getDate(){
+
+ var date = document.getElementById("date");
+
+ var stampdays = new Array("Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday");
+
+ var stampmonths = new Array("January", "February", "March", "April",
"May", "June", "July", "August", "September", "October", "November",
"December");
+
+ var thedate = new Date();
+
+ date.innerHTML = stampdays[thedate.getDay()] + ", " +
stampmonths[thedate.getMonth()] + " " + thedate.getDate() + ", " +
thedate.getFullYear();
+
+}
+
+function highlight(el){
+ alert("Highlighted");
+ var links = document.getElementsByTagName("a");
+ for (var i = 0; i < links.length; i++) {
+
+ var link = links[i];
+
+ link.className
+ }
+}
+
+
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/Service_Admin.js
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/wz_tooltip.js
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/wz_tooltip.js
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/wz_tooltip.js
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,1149 @@
+/* This notice must be untouched at all times.
+
+wz_tooltip.js v. 4.12
+
+The latest version is available at
+http://www.walterzorn.com
+or http://www.devira.com
+or http://www.walterzorn.de
+
+Copyright (c) 2002-2007 Walter Zorn. All rights reserved.
+Created 1.12.2002 by Walter Zorn (Web: http://www.walterzorn.com )
+Last modified: 13.7.2007
+
+Easy-to-use cross-browser tooltips.
+Just include the script at the beginning of the <body> section, and invoke
+Tip('Tooltip text') from within the desired HTML onmouseover eventhandlers.
+No container DIV, no onmouseouts required.
+By default, width of tooltips is automatically adapted to content.
+Is even capable of dynamically converting arbitrary HTML elements to tooltips
+by calling TagToTip('ID_of_HTML_element_to_be_converted') instead of Tip(),
+which means you can put important, search-engine-relevant stuff into
tooltips.
+Appearance of tooltips can be individually configured
+via commands passed to Tip() or TagToTip().
+
+Tab Width: 4
+LICENSE: LGPL
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License (LGPL) as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+For more details on the GNU Lesser General Public License,
+see http://www.gnu.org/copyleft/lesser.html
+*/
+
+var config = new Object();
+
+
+//=================== GLOBAL TOOPTIP CONFIGURATION
=========================//
+var tt_Debug = true // false or true - recommended: false once
you release your page to the public
+var tt_Enabled = true // Allows to (temporarily) suppress
tooltips, e.g. by providing the user with a button that sets this global
variable to false
+var TagsToTip = true // false or true - if true, the script is
capable of converting HTML elements to tooltips
+
+// For each of the following config variables there exists a command, which
is
+// just the variablename in uppercase, to be passed to Tip() or TagToTip() to
+// configure tooltips individually. Individual commands override global
+// configuration. Order of commands is arbitrary.
+// Example: onmouseover="Tip('Tooltip text', LEFT, true, BGCOLOR, '#FF9900',
FADEIN, 400)"
+
+config. Above = false // false or true - tooltip
above mousepointer?
+config. BgColor = '#E4E7FF' // Background color
+config. BgImg = '' // Path to background image,
none if empty string ''
+config. BorderColor = '#002299'
+config. BorderStyle = 'solid' // Any permitted CSS value, but I
recommend 'solid', 'dotted' or 'dashed'
+config. BorderWidth = 1
+config. CenterMouse = false // false or true - center the tip
horizontally below (or above) the mousepointer
+config. ClickClose = false // false or true - close
tooltip if the user clicks somewhere
+config. CloseBtn = false // false or true -
closebutton in titlebar
+config. CloseBtnColors = ['#990000', '#FFFFFF', '#DD3333', '#FFFFFF'] //
[Background, text, hovered background, hovered text] - use empty strings ''
to inherit title colors
+config. CloseBtnText = ' X ' // Close button text (may
also be an image tag)
+config. CopyContent = true // When converting a HTML
element to a tooltip, copy only the element's content, rather than converting
the element by its own
+config. Delay = 400 // Time span in ms until
tooltip shows up
+config. Duration = 0 // Time span in ms after
which the tooltip disappears; 0 for infinite duration
+config. FadeIn = 0 // Fade-in duration in ms,
e.g. 400; 0 for no animation
+config. FadeOut = 0
+config. FadeInterval = 30 // Duration of each fade step in ms
(recommended: 30) - shorter is smoother but causes more CPU-load
+config. Fix = null // Fixated position - x- an
y-oordinates in brackets, e.g. [210, 480], or null for no fixation
+config. FollowMouse = true // false or true - tooltip
follows the mouse
+config. FontColor = '#000044'
+config. FontFace = 'Verdana,Geneva,sans-serif'
+config. FontSize = '12px' // E.g. '9pt' or '12px' -
unit is mandatory
+config. FontWeight = 'normal' // 'normal' or 'bold';
+config. Left = false // false or true - tooltip on
the left of the mouse
+config. OffsetX = 14 // Horizontal offset of
left-top corner from mousepointer
+config. OffsetY = 8 // Vertical offset
+config. Opacity = 100 // Integer between 0 and 100
- opacity of tooltip in percent
+config. Padding = 3 // Spacing between border and
content
+config. Shadow = false // false or true
+config. ShadowColor = '#C0C0C0'
+config. ShadowWidth = 5
+config. Sticky = false // Do NOT hide tooltip on
mouseout? false or true
+config. TextAlign = 'left' // 'left', 'right' or
'justify'
+config. Title = '' // Default title text applied
to all tips (no default title: empty string '')
+config. TitleAlign = 'left' // 'left' or 'right' - text
alignment inside the title bar
+config. TitleBgColor = '' // If empty string '', BorderColor
will be used
+config. TitleFontColor = '#ffffff' // Color of title text - if '',
BgColor (of tooltip body) will be used
+config. TitleFontFace = '' // If '' use FontFace (boldified)
+config. TitleFontSize = '' // If '' use FontSize
+config. Width = 0 // Tooltip width; 0 for
automatic adaption to tooltip content
+//======= END OF TOOLTIP CONFIG, DO NOT CHANGE ANYTHING BELOW
==============//
+
+
+
+
+//====================== PUBLIC
============================================//
+function Tip()
+{
+ tt_Tip(arguments, null);
+}
+function TagToTip()
+{
+ if(TagsToTip)
+ {
+ var t2t = tt_GetElt(arguments[0]);
+ if(t2t)
+ tt_Tip(arguments, t2t);
+ }
+}
+
+//================== PUBLIC EXTENSION API
==================================//
+// Extension eventhandlers currently supported:
+// OnLoadConfig, OnCreateContentString, OnSubDivsCreated, OnShow,
OnMoveBefore,
+// OnMoveAfter, OnHideInit, OnHide, OnKill
+
+var tt_aElt = new Array(10), // Container DIV, outer title & body DIVs,
inner title & body TDs, closebutton SPAN, shadow DIVs, and IFRAME to cover
windowed elements in IE
+tt_aV = new Array(), // Caches and enumerates config data for currently
active tooltip
+tt_sContent, // Inner tooltip text or HTML
+tt_scrlX = 0, tt_scrlY = 0,
+tt_musX, tt_musY,
+tt_over,
+tt_x, tt_y, tt_w, tt_h; // Position, width and height of currently displayed
tooltip
+
+function tt_Extension()
+{
+ tt_ExtCmdEnum();
+ tt_aExt[tt_aExt.length] = this;
+ return this;
+}
+function tt_SetTipPos(x, y)
+{
+ var css = tt_aElt[0].style;
+
+ tt_x = x;
+ tt_y = y;
+ css.left = x + "px";
+ css.top = y + "px";
+ if(tt_ie56)
+ {
+ var ifrm = tt_aElt[tt_aElt.length - 1];
+ if(ifrm)
+ {
+ ifrm.style.left = css.left;
+ ifrm.style.top = css.top;
+ }
+ }
+}
+function tt_Hide()
+{
+ if(tt_db && tt_iState)
+ {
+ if(tt_iState & 0x2)
+ {
+ tt_aElt[0].style.visibility = "hidden";
+ tt_ExtCallFncs(0, "Hide");
+ }
+ tt_tShow.EndTimer();
+ tt_tHide.EndTimer();
+ tt_tDurt.EndTimer();
+ tt_tFade.EndTimer();
+ if(!tt_op && !tt_ie)
+ {
+ tt_tWaitMov.EndTimer();
+ tt_bWait = false;
+ }
+ if(tt_aV[CLICKCLOSE])
+ tt_RemEvtFnc(document, "mouseup", tt_HideInit);
+ tt_AddRemOutFnc(false);
+ tt_ExtCallFncs(0, "Kill");
+ // In case of a TagToTip tooltip, hide converted DOM node and
+ // re-insert it into document
+ if(tt_t2t && !tt_aV[COPYCONTENT])
+ {
+ tt_t2t.style.display = "none";
+ tt_MovDomNode(tt_t2t, tt_aElt[6], tt_t2tDad);
+ }
+ tt_iState = 0;
+ tt_over = null;
+ tt_ResetMainDiv();
+ if(tt_aElt[tt_aElt.length - 1])
+ tt_aElt[tt_aElt.length - 1].style.display = "none";
+ }
+}
+function tt_GetElt(id)
+{
+ return(document.getElementById ? document.getElementById(id)
+ : document.all ? document.all[id]
+ : null);
+}
+function tt_GetDivW(el)
+{
+ return(el ? (el.offsetWidth || el.style.pixelWidth || 0) : 0);
+}
+function tt_GetDivH(el)
+{
+ return(el ? (el.offsetHeight || el.style.pixelHeight || 0) : 0);
+}
+function tt_GetScrollX()
+{
+ return(window.pageXOffset || (tt_db ? (tt_db.scrollLeft || 0) : 0));
+}
+function tt_GetScrollY()
+{
+ return(window.pageYOffset || (tt_db ? (tt_db.scrollTop || 0) : 0));
+}
+function tt_GetClientW()
+{
+ return(document.body && (typeof(document.body.clientWidth) != tt_u) ?
document.body.clientWidth
+ : (typeof(window.innerWidth) != tt_u) ?
window.innerWidth
+ : tt_db ? (tt_db.clientWidth || 0)
+ : 0);
+}
+function tt_GetClientH()
+{
+ // Exactly this order seems to yield correct values in all major
browsers
+ return(document.body && (typeof(document.body.clientHeight) != tt_u)
? document.body.clientHeight
+ : (typeof(window.innerHeight) != tt_u) ?
window.innerHeight
+ : tt_db ? (tt_db.clientHeight || 0)
+ : 0);
+}
+function tt_GetEvtX(e)
+{
+ return (e ? ((typeof(e.pageX) != tt_u) ? e.pageX : (e.clientX +
tt_scrlX)) : 0);
+}
+function tt_GetEvtY(e)
+{
+ return (e ? ((typeof(e.pageY) != tt_u) ? e.pageY : (e.clientY +
tt_scrlY)) : 0);
+}
+function tt_AddEvtFnc(el, sEvt, PFnc)
+{
+ if(el)
+ {
+ if(el.addEventListener)
+ el.addEventListener(sEvt, PFnc, false);
+ else
+ el.attachEvent("on" + sEvt, PFnc);
+ }
+}
+function tt_RemEvtFnc(el, sEvt, PFnc)
+{
+ if(el)
+ {
+ if(el.removeEventListener)
+ el.removeEventListener(sEvt, PFnc, false);
+ else
+ el.detachEvent("on" + sEvt, PFnc);
+ }
+}
+
+//====================== PRIVATE
===========================================//
+var tt_aExt = new Array(), // Array of extension objects
+
+tt_db, tt_op, tt_ie, tt_ie56, tt_bBoxOld, // Browser flags
+tt_body,
+tt_flagOpa, // Opacity support: 1=IE, 2=Khtml, 3=KHTML,
4=Moz, 5=W3C
+tt_maxPosX, tt_maxPosY,
+tt_iState = 0, // Tooltip active |= 1, shown |= 2, move with
mouse |= 4
+tt_opa, // Currently applied opacity
+tt_bJmpVert, // Tip above mouse (or ABOVE tip below mouse)
+tt_t2t, tt_t2tDad, // Tag converted to tip, and its parent
element in the document
+tt_elDeHref, // The tag from which Opera has removed the
href attribute
+// Timer
+tt_tShow = new Number(0), tt_tHide = new Number(0), tt_tDurt = new Number(0),
+tt_tFade = new Number(0), tt_tWaitMov = new Number(0),
+tt_bWait = false,
+tt_u = "undefined";
+
+
+function tt_Init()
+{
+ tt_MkCmdEnum();
+ // Send old browsers instantly to hell
+ if(!tt_Browser() || !tt_MkMainDiv())
+ return;
+ tt_IsW3cBox();
+ tt_OpaSupport();
+ tt_AddEvtFnc(document, "mousemove", tt_Move);
+ // In Debug mode we search for TagToTip() calls in order to notify
+ // the user if they've forgotten to set the TagsToTip config flag
+ if(TagsToTip || tt_Debug)
+ tt_SetOnloadFnc();
+ tt_AddEvtFnc(window, "scroll",
+ function()
+ {
+ tt_scrlX = tt_GetScrollX();
+ tt_scrlY = tt_GetScrollY();
+ if(tt_iState && !(tt_aV[STICKY] && (tt_iState & 2)))
+ tt_HideInit();
+ } );
+ // Ensure the tip be hidden when the page unloads
+ tt_AddEvtFnc(window, "unload", tt_Hide);
+ tt_Hide();
+}
+// Creates command names by translating config variable names to upper case
+function tt_MkCmdEnum()
+{
+ var n = 0;
+ for(var i in config)
+ eval("window." + i.toString().toUpperCase() + " = " + n++);
+ tt_aV.length = n;
+}
+function tt_Browser()
+{
+ var n, nv, n6, w3c;
+
+ n = navigator.userAgent.toLowerCase(),
+ nv = navigator.appVersion;
+ tt_op = (document.defaultView && typeof(eval("w" + "indow" + "." +
"o" + "p" + "er" + "a")) != tt_u);
+ tt_ie = n.indexOf("msie") != -1 && document.all && !tt_op;
+ if(tt_ie)
+ {
+ var ieOld = (!document.compatMode || document.compatMode ==
"BackCompat");
+ tt_db = !ieOld ? document.documentElement : (document.body ||
null);
+ if(tt_db)
+ tt_ie56 = parseFloat(nv.substring(nv.indexOf("MSIE")
+ 5)) >= 5.5
+ && typeof
document.body.style.maxHeight == tt_u;
+ }
+ else
+ {
+ tt_db = document.documentElement || document.body ||
+ (document.getElementsByTagName ?
document.getElementsByTagName("body")[0]
+ : null);
+ if(!tt_op)
+ {
+ n6 = document.defaultView && typeof
document.defaultView.getComputedStyle != tt_u;
+ w3c = !n6 && document.getElementById;
+ }
+ }
+ tt_body = (document.getElementsByTagName ?
document.getElementsByTagName("body")[0]
+ : (document.body || null));
+ if(tt_ie || n6 || tt_op || w3c)
+ {
+ if(tt_body && tt_db)
+ {
+ if(document.attachEvent || document.addEventListener)
+ return true;
+ }
+ else
+ tt_Err("wz_tooltip.js must be included INSIDE the
body section,"
+ + " immediately after the opening
<body> tag.");
+ }
+ tt_db = null;
+ return false;
+}
+function tt_MkMainDiv()
+{
+ // Create the tooltip DIV
+ if(tt_body.insertAdjacentHTML)
+ tt_body.insertAdjacentHTML("afterBegin", tt_MkMainDivHtm());
+ else if(typeof tt_body.innerHTML != tt_u && document.createElement &&
tt_body.appendChild)
+ tt_body.appendChild(tt_MkMainDivDom());
+ // FireFox Alzheimer bug
+ if(window.tt_GetMainDivRefs && tt_GetMainDivRefs())
+ return true;
+ tt_db = null;
+ return false;
+}
+function tt_MkMainDivHtm()
+{
+ return('<div id="WzTtDiV"></div>' +
+ (tt_ie56 ? ('<iframe id="WzTtIfRm"
src="javascript:false" scrolling="no" frameborder="0"
style="filter:Alpha(opacity=0);position:absolute;top:0px;left:0px;display:none;"></iframe>')
+ : ''));
+}
+function tt_MkMainDivDom()
+{
+ var el = document.createElement("div");
+ if(el)
+ el.id = "WzTtDiV";
+ return el;
+}
+function tt_GetMainDivRefs()
+{
+ tt_aElt[0] = tt_GetElt("WzTtDiV");
+ if(tt_ie56 && tt_aElt[0])
+ {
+ tt_aElt[tt_aElt.length - 1] = tt_GetElt("WzTtIfRm");
+ if(!tt_aElt[tt_aElt.length - 1])
+ tt_aElt[0] = null;
+ }
+ if(tt_aElt[0])
+ {
+ var css = tt_aElt[0].style;
+
+ css.visibility = "hidden";
+ css.position = "absolute";
+ css.overflow = "hidden";
+ return true;
+ }
+ return false;
+}
+function tt_ResetMainDiv()
+{
+ var w = (window.screen && screen.width) ? screen.width : 10000;
+
+ tt_SetTipPos(-w, 0);
+ tt_aElt[0].innerHTML = "";
+ tt_aElt[0].style.width = (w - 1) + "px";
+}
+function tt_IsW3cBox()
+{
+ var css = tt_aElt[0].style;
+
+ css.padding = "10px";
+ css.width = "40px";
+ tt_bBoxOld = (tt_GetDivW(tt_aElt[0]) == 40);
+ css.padding = "0px";
+ tt_ResetMainDiv();
+}
+function tt_OpaSupport()
+{
+ var css = tt_body.style;
+
+ tt_flagOpa = (typeof(css.filter) != tt_u) ? 1
+ : (typeof(css.KhtmlOpacity) != tt_u) ? 2
+ : (typeof(css.KHTMLOpacity) != tt_u) ? 3
+ : (typeof(css.MozOpacity) != tt_u) ? 4
+ : (typeof(css.opacity) != tt_u) ? 5
+ : 0;
+}
+// Ported from http://dean.edwards.name/weblog/2006/06/again/
+// (Dean Edwards et al.)
+function tt_SetOnloadFnc()
+{
+ tt_AddEvtFnc(document, "DOMContentLoaded", tt_HideSrcTags);
+ tt_AddEvtFnc(window, "load", tt_HideSrcTags);
+ if(tt_body.attachEvent)
+ tt_body.attachEvent("onreadystatechange",
+ function() {
+ if(tt_body.readyState == "complete")
+ tt_HideSrcTags();
+ } );
+ if(/WebKit|KHTML/i.test(navigator.userAgent))
+ {
+ var t = setInterval(function() {
+
if(/loaded|complete/.test(document.readyState))
+ {
+ clearInterval(t);
+ tt_HideSrcTags();
+ }
+ }, 10);
+ }
+}
+function tt_HideSrcTags()
+{
+ if(!window.tt_HideSrcTags || window.tt_HideSrcTags.done)
+ return;
+ window.tt_HideSrcTags.done = true;
+ if(!tt_HideSrcTagsRecurs(tt_body))
+ tt_Err("To enable the capability to convert HTML elements to
tooltips,"
+ + " you must set TagsToTip in the global
tooltip configuration"
+ + " to true.");
+}
+function tt_HideSrcTagsRecurs(dad)
+{
+ var a, ovr, asT2t;
+
+ // Walk the DOM tree for tags that have an onmouseover attribute
+ // containing a TagToTip('...') call.
+ // (.childNodes first since .children is bugous in Safari)
+ a = dad.childNodes || dad.children || null;
+ for(var i = a ? a.length : 0; i;)
+ {--i;
+ if(!tt_HideSrcTagsRecurs(a[i]))
+ return false;
+ ovr = a[i].getAttribute ? a[i].getAttribute("onmouseover")
+ : (typeof a[i].onmouseover == "function") ?
a[i].onmouseover
+ : null;
+ if(ovr)
+ {
+ asT2t =
ovr.toString().match(/TagToTip\s*\(\s*'[^'.]+'\s*[\),]/);
+ if(asT2t && asT2t.length)
+ {
+ if(!tt_HideSrcTag(asT2t[0]))
+ return false;
+ }
+ }
+ }
+ return true;
+}
+function tt_HideSrcTag(sT2t)
+{
+ var id, el;
+
+ // The ID passed to the found TagToTip() call identifies an HTML
element
+ // to be converted to a tooltip, so hide that element
+ id = sT2t.replace(/.+'([^'.]+)'.+/, "$1");
+ el = tt_GetElt(id);
+ if(el)
+ {
+ if(tt_Debug && !TagsToTip)
+ return false;
+ else
+ el.style.display = "none";
+ }
+ else
+ tt_Err("Invalid ID\n'" + id + "'\npassed to TagToTip()."
+ + " There exists no HTML element with that
ID.");
+ return true;
+}
+function tt_Tip(arg, t2t)
+{
+ if(!tt_db)
+ return;
+ if(tt_iState)
+ tt_Hide();
+ if(!tt_Enabled)
+ return;
+ tt_t2t = t2t;
+ if(!tt_ReadCmds(arg))
+ return;
+ tt_iState = 0x1 | 0x4;
+ tt_AdaptConfig1();
+ tt_MkTipContent(arg);
+ tt_MkTipSubDivs();
+ tt_FormatTip();
+ tt_bJmpVert = false;
+ tt_maxPosX = tt_GetClientW() + tt_scrlX - tt_w - 1;
+ tt_maxPosY = tt_GetClientH() + tt_scrlY - tt_h - 1;
+ tt_AdaptConfig2();
+ // We must fake the first mousemove in order to ensure the tip
+ // be immediately shown and positioned
+ tt_Move();
+ tt_ShowInit();
+}
+function tt_ReadCmds(a)
+{
+ var i;
+
+ // First load the global config values, to initialize also values
+ // for which no command has been passed
+ i = 0;
+ for(var j in config)
+ tt_aV[i++] = config[j];
+ // Then replace each cached config value for which a command has been
+ // passed (ensure the # of command args plus value args be even)
+ if(a.length & 1)
+ {
+ for(i = a.length - 1; i > 0; i -= 2)
+ tt_aV[a[i - 1]] = a[i];
+ return true;
+ }
+ tt_Err("Incorrect call of Tip() or TagToTip().\n"
+ + "Each command must be followed by a value.");
+ return false;
+}
+function tt_AdaptConfig1()
+{
+ tt_ExtCallFncs(0, "LoadConfig");
+ // Inherit unspecified title formattings from body
+ if(!tt_aV[TITLEBGCOLOR].length)
+ tt_aV[TITLEBGCOLOR] = tt_aV[BORDERCOLOR];
+ if(!tt_aV[TITLEFONTCOLOR].length)
+ tt_aV[TITLEFONTCOLOR] = tt_aV[BGCOLOR];
+ if(!tt_aV[TITLEFONTFACE].length)
+ tt_aV[TITLEFONTFACE] = tt_aV[FONTFACE];
+ if(!tt_aV[TITLEFONTSIZE].length)
+ tt_aV[TITLEFONTSIZE] = tt_aV[FONTSIZE];
+ if(tt_aV[CLOSEBTN])
+ {
+ // Use title colors for non-specified closebutton colors
+ if(!tt_aV[CLOSEBTNCOLORS])
+ tt_aV[CLOSEBTNCOLORS] = new Array("", "", "", "");
+ for(var i = 4; i;)
+ {--i;
+ if(!tt_aV[CLOSEBTNCOLORS][i].length)
+ tt_aV[CLOSEBTNCOLORS][i] = (i & 1) ?
tt_aV[TITLEFONTCOLOR] : tt_aV[TITLEBGCOLOR];
+ }
+ // Enforce titlebar be shown
+ if(!tt_aV[TITLE].length)
+ tt_aV[TITLE] = " ";
+ }
+ // Circumvents broken display of images and fade-in flicker in Geckos
< 1.8
+ if(tt_aV[OPACITY] == 100 && typeof tt_aElt[0].style.MozOpacity !=
tt_u && !Array.every)
+ tt_aV[OPACITY] = 99;
+ // Smartly shorten the delay for fade-in tooltips
+ if(tt_aV[FADEIN] && tt_flagOpa && tt_aV[DELAY] > 100)
+ tt_aV[DELAY] = Math.max(tt_aV[DELAY] - tt_aV[FADEIN], 100);
+}
+function tt_AdaptConfig2()
+{
+ if(tt_aV[CENTERMOUSE])
+ tt_aV[OFFSETX] -= ((tt_w - (tt_aV[SHADOW] ?
tt_aV[SHADOWWIDTH] : 0)) >> 1);
+}
+// Expose content globally so extensions can modify it
+function tt_MkTipContent(a)
+{
+ if(tt_t2t)
+ {
+ if(tt_aV[COPYCONTENT])
+ tt_sContent = tt_t2t.innerHTML;
+ else
+ tt_sContent = "";
+ }
+ else
+ tt_sContent = a[0];
+ tt_ExtCallFncs(0, "CreateContentString");
+}
+function tt_MkTipSubDivs()
+{
+ var sCss =
'position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;',
+ sTbTrTd = ' cellspacing=0 cellpadding=0 border=0 style="' + sCss +
'"><tbody style="' + sCss + '"><tr><td ';
+
+ tt_aElt[0].innerHTML =
+ (''
+ + (tt_aV[TITLE].length ?
+ ('<div id="WzTiTl"
style="position:relative;z-index:1;">'
+ + '<table id="WzTiTlTb"' + sTbTrTd + 'id="WzTiTlI"
style="' + sCss + '">'
+ + tt_aV[TITLE]
+ + '</td>'
+ + (tt_aV[CLOSEBTN] ?
+ ('<td align="right" style="' + sCss
+ + 'text-align:right;">'
+ + '<span id="WzClOsE"
style="padding-left:2px;padding-right:2px;'
+ + 'cursor:' + (tt_ie ? 'hand' : 'pointer')
+ + ';" onmouseover="tt_OnCloseBtnOver(1)"
onmouseout="tt_OnCloseBtnOver(0)" onclick="tt_HideInit()">'
+ + tt_aV[CLOSEBTNTEXT]
+ + '</span></td>')
+ : '')
+ + '</tr></tbody></table></div>')
+ : '')
+ + '<div id="WzBoDy" style="position:relative;z-index:0;">'
+ + '<table' + sTbTrTd + 'id="WzBoDyI" style="' + sCss + '">'
+ + tt_sContent
+ + '</td></tr></tbody></table></div>'
+ + (tt_aV[SHADOW]
+ ? ('<div id="WzTtShDwR"
style="position:absolute;overflow:hidden;"></div>'
+ + '<div id="WzTtShDwB"
style="position:relative;overflow:hidden;"></div>')
+ : '')
+ );
+ tt_GetSubDivRefs();
+ // Convert DOM node to tip
+ if(tt_t2t && !tt_aV[COPYCONTENT])
+ {
+ // Store the tag's parent element so we can restore that DOM
branch
+ // once the tooltip is hidden
+ tt_t2tDad = tt_t2t.parentNode || tt_t2t.parentElement ||
tt_t2t.offsetParent || null;
+ if(tt_t2tDad)
+ {
+ tt_MovDomNode(tt_t2t, tt_t2tDad, tt_aElt[6]);
+ tt_t2t.style.display = "block";
+ }
+ }
+ tt_ExtCallFncs(0, "SubDivsCreated");
+}
+function tt_GetSubDivRefs()
+{
+ var aId = new Array("WzTiTl", "WzTiTlTb", "WzTiTlI", "WzClOsE",
"WzBoDy", "WzBoDyI", "WzTtShDwB", "WzTtShDwR");
+
+ for(var i = aId.length; i; --i)
+ tt_aElt[i] = tt_GetElt(aId[i - 1]);
+}
+function tt_FormatTip()
+{
+ var css, w, iOffY, iOffSh;
+
+ //--------- Title DIV ----------
+ if(tt_aV[TITLE].length)
+ {
+ css = tt_aElt[1].style;
+ css.background = tt_aV[TITLEBGCOLOR];
+ css.paddingTop = (tt_aV[CLOSEBTN] ? 2 : 0) + "px";
+ css.paddingBottom = "1px";
+ css.paddingLeft = css.paddingRight = tt_aV[PADDING] + "px";
+ css = tt_aElt[3].style;
+ css.color = tt_aV[TITLEFONTCOLOR];
+ css.fontFamily = tt_aV[TITLEFONTFACE];
+ css.fontSize = tt_aV[TITLEFONTSIZE];
+ css.fontWeight = "bold";
+ css.textAlign = tt_aV[TITLEALIGN];
+ // Close button DIV
+ if(tt_aElt[4])
+ {
+ css.paddingRight = (tt_aV[PADDING] << 1) + "px";
+ css = tt_aElt[4].style;
+ css.background = tt_aV[CLOSEBTNCOLORS][0];
+ css.color = tt_aV[CLOSEBTNCOLORS][1];
+ css.fontFamily = tt_aV[TITLEFONTFACE];
+ css.fontSize = tt_aV[TITLEFONTSIZE];
+ css.fontWeight = "bold";
+ }
+ if(tt_aV[WIDTH] > 0)
+ tt_w = tt_aV[WIDTH] + ((tt_aV[PADDING] +
tt_aV[BORDERWIDTH]) << 1);
+ else
+ {
+ tt_w = tt_GetDivW(tt_aElt[3]) +
tt_GetDivW(tt_aElt[4]);
+ // Some spacing between title DIV and closebutton
+ if(tt_aElt[4])
+ tt_w += tt_aV[PADDING];
+ }
+ // Ensure the top border of the body DIV be covered by the
title DIV
+ iOffY = -tt_aV[BORDERWIDTH];
+ }
+ else
+ {
+ tt_w = 0;
+ iOffY = 0;
+ }
+
+ //-------- Body DIV ------------
+ css = tt_aElt[5].style;
+ css.top = iOffY + "px";
+ if(tt_aV[BORDERWIDTH])
+ {
+ css.borderColor = tt_aV[BORDERCOLOR];
+ css.borderStyle = tt_aV[BORDERSTYLE];
+ css.borderWidth = tt_aV[BORDERWIDTH] + "px";
+ }
+ if(tt_aV[BGCOLOR].length)
+ css.background = tt_aV[BGCOLOR];
+ if(tt_aV[BGIMG].length)
+ css.backgroundImage = "url(" + tt_aV[BGIMG] + ")";
+ css.padding = tt_aV[PADDING] + "px";
+ css.textAlign = tt_aV[TEXTALIGN];
+ // TD inside body DIV
+ css = tt_aElt[6].style;
+ css.color = tt_aV[FONTCOLOR];
+ css.fontFamily = tt_aV[FONTFACE];
+ css.fontSize = tt_aV[FONTSIZE];
+ css.fontWeight = tt_aV[FONTWEIGHT];
+ css.background = "";
+ css.textAlign = tt_aV[TEXTALIGN];
+ if(tt_aV[WIDTH] > 0)
+ w = tt_aV[WIDTH] + ((tt_aV[PADDING] + tt_aV[BORDERWIDTH]) <<
1);
+ else
+ // We measure the width of the body's inner TD, because some
browsers
+ // expand the width of the container and outer body DIV to
100%
+ w = tt_GetDivW(tt_aElt[6]) + ((tt_aV[PADDING] +
tt_aV[BORDERWIDTH]) << 1);
+ if(w > tt_w)
+ tt_w = w;
+
+ //--------- Shadow DIVs ------------
+ if(tt_aV[SHADOW])
+ {
+ tt_w += tt_aV[SHADOWWIDTH];
+ iOffSh = Math.floor((tt_aV[SHADOWWIDTH] * 4) / 3);
+ // Bottom shadow
+ css = tt_aElt[7].style;
+ css.top = iOffY + "px";
+ css.left = iOffSh + "px";
+ css.width = (tt_w - iOffSh - tt_aV[SHADOWWIDTH]) + "px";
+ css.height = tt_aV[SHADOWWIDTH] + "px";
+ css.background = tt_aV[SHADOWCOLOR];
+ // Right shadow
+ css = tt_aElt[8].style;
+ css.top = iOffSh + "px";
+ css.left = (tt_w - tt_aV[SHADOWWIDTH]) + "px";
+ css.width = tt_aV[SHADOWWIDTH] + "px";
+ css.background = tt_aV[SHADOWCOLOR];
+ }
+ else
+ iOffSh = 0;
+
+ //-------- Container DIV -------
+ tt_SetTipOpa(tt_aV[FADEIN] ? 0 : tt_aV[OPACITY]);
+ tt_FixSize(iOffY, iOffSh);
+}
+// Fixate the size so it can't dynamically change while the tooltip is
moving.
+function tt_FixSize(iOffY, iOffSh)
+{
+ var wIn, wOut, i;
+
+ tt_aElt[0].style.width = tt_w + "px";
+ tt_aElt[0].style.pixelWidth = tt_w;
+ wOut = tt_w - ((tt_aV[SHADOW]) ? tt_aV[SHADOWWIDTH] : 0);
+ // Body
+ wIn = wOut;
+ if(!tt_bBoxOld)
+ wIn -= ((tt_aV[PADDING] + tt_aV[BORDERWIDTH]) << 1);
+ tt_aElt[5].style.width = wIn + "px";
+ // Title
+ if(tt_aElt[1])
+ {
+ wIn = wOut - (tt_aV[PADDING] << 1);
+ if(!tt_bBoxOld)
+ wOut = wIn;
+ tt_aElt[1].style.width = wOut + "px";
+ tt_aElt[2].style.width = wIn + "px";
+ }
+ tt_h = tt_GetDivH(tt_aElt[0]) + iOffY;
+ // Right shadow
+ if(tt_aElt[8])
+ tt_aElt[8].style.height = (tt_h - iOffSh) + "px";
+ i = tt_aElt.length - 1;
+ if(tt_aElt[i])
+ {
+ tt_aElt[i].style.width = tt_w + "px";
+ tt_aElt[i].style.height = tt_h + "px";
+ }
+}
+function tt_DeAlt(el)
+{
+ var aKid;
+
+ if(el.alt)
+ el.alt = "";
+ if(el.title)
+ el.title = "";
+ aKid = el.childNodes || el.children || null;
+ if(aKid)
+ {
+ for(var i = aKid.length; i;)
+ tt_DeAlt(aKid[--i]);
+ }
+}
+// This hack removes the annoying native tooltips over links in Opera
+function tt_OpDeHref(el)
+{
+ if(!tt_op)
+ return;
+ if(tt_elDeHref)
+ tt_OpReHref();
+ while(el)
+ {
+ if(el.hasAttribute("href"))
+ {
+ el.t_href = el.getAttribute("href");
+ el.t_stats = window.status;
+ el.removeAttribute("href");
+ el.style.cursor = "hand";
+ tt_AddEvtFnc(el, "mousedown", tt_OpReHref);
+ window.status = el.t_href;
+ tt_elDeHref = el;
+ break;
+ }
+ el = el.parentElement;
+ }
+}
+function tt_ShowInit()
+{
+ tt_tShow.Timer("tt_Show()", tt_aV[DELAY], true);
+ if(tt_aV[CLICKCLOSE])
+ tt_AddEvtFnc(document, "mouseup", tt_HideInit);
+}
+function tt_OverInit(e)
+{
+ tt_over = e.target || e.srcElement;
+ tt_DeAlt(tt_over);
+ tt_OpDeHref(tt_over);
+ tt_AddRemOutFnc(true);
+}
+function tt_Show()
+{
+ var css = tt_aElt[0].style;
+
+ // Override the z-index of the topmost wz_dragdrop.js D&D item
+ css.zIndex = Math.max((window.dd && dd.z) ? (dd.z + 2) : 0, 1010);
+ if(tt_aV[STICKY] || !tt_aV[FOLLOWMOUSE])
+ tt_iState &= ~0x4;
+ if(tt_aV[DURATION] > 0)
+ tt_tDurt.Timer("tt_HideInit()", tt_aV[DURATION], true);
+ tt_ExtCallFncs(0, "Show")
+ css.visibility = "visible";
+ tt_iState |= 0x2;
+ if(tt_aV[FADEIN])
+ tt_Fade(0, 0, tt_aV[OPACITY], Math.round(tt_aV[FADEIN] /
tt_aV[FADEINTERVAL]));
+ tt_ShowIfrm();
+}
+function tt_ShowIfrm()
+{
+ if(tt_ie56)
+ {
+ var ifrm = tt_aElt[tt_aElt.length - 1];
+ if(ifrm)
+ {
+ var css = ifrm.style;
+ css.zIndex = tt_aElt[0].style.zIndex - 1;
+ css.display = "block";
+ }
+ }
+}
+function tt_Move(e)
+{
+ e = window.event || e;
+ if(e)
+ {
+ tt_musX = tt_GetEvtX(e);
+ tt_musY = tt_GetEvtY(e);
+ }
+ if(tt_iState)
+ {
+ if(!tt_over && e)
+ tt_OverInit(e);
+ if(tt_iState & 0x4)
+ {
+ // Protect some browsers against jam of mousemove
events
+ if(!tt_op && !tt_ie)
+ {
+ if(tt_bWait)
+ return;
+ tt_bWait = true;
+ tt_tWaitMov.Timer("tt_bWait = false;", 1,
true);
+ }
+ if(tt_aV[FIX])
+ {
+ tt_iState &= ~0x4;
+ tt_SetTipPos(tt_aV[FIX][0], tt_aV[FIX][1]);
+ }
+ else if(!tt_ExtCallFncs(e, "MoveBefore"))
+ tt_SetTipPos(tt_PosX(), tt_PosY());
+ tt_ExtCallFncs([tt_musX, tt_musY], "MoveAfter")
+ }
+ }
+}
+function tt_PosX()
+{
+ var x;
+
+ x = tt_musX;
+ if(tt_aV[LEFT])
+ x -= tt_w + tt_aV[OFFSETX] - (tt_aV[SHADOW] ?
tt_aV[SHADOWWIDTH] : 0);
+ else
+ x += tt_aV[OFFSETX];
+ // Prevent tip from extending past right/left clientarea boundary
+ if(x > tt_maxPosX)
+ x = tt_maxPosX;
+ return((x < tt_scrlX) ? tt_scrlX : x);
+}
+function tt_PosY()
+{
+ var y;
+
+ // Apply some hysteresis after the tip has snapped to the other side
of the
+ // mouse. In case of insufficient space above and below the mouse, we
place
+ // the tip below.
+ if(tt_aV[ABOVE] && (!tt_bJmpVert || tt_CalcPosYAbove() >= tt_scrlY +
16))
+ y = tt_DoPosYAbove();
+ else if(!tt_aV[ABOVE] && tt_bJmpVert && tt_CalcPosYBelow() >
tt_maxPosY - 16)
+ y = tt_DoPosYAbove();
+ else
+ y = tt_DoPosYBelow();
+ // Snap to other side of mouse if tip would extend past window
boundary
+ if(y > tt_maxPosY)
+ y = tt_DoPosYAbove();
+ if(y < tt_scrlY)
+ y = tt_DoPosYBelow();
+ return y;
+}
+function tt_DoPosYBelow()
+{
+ tt_bJmpVert = tt_aV[ABOVE];
+ return tt_CalcPosYBelow();
+}
+function tt_DoPosYAbove()
+{
+ tt_bJmpVert = !tt_aV[ABOVE];
+ return tt_CalcPosYAbove();
+}
+function tt_CalcPosYBelow()
+{
+ return(tt_musY + tt_aV[OFFSETY]);
+}
+function tt_CalcPosYAbove()
+{
+ var dy = tt_aV[OFFSETY] - (tt_aV[SHADOW] ? tt_aV[SHADOWWIDTH] : 0);
+ if(tt_aV[OFFSETY] > 0 && dy <= 0)
+ dy = 1;
+ return(tt_musY - tt_h - dy);
+}
+function tt_OnOut()
+{
+ tt_AddRemOutFnc(false);
+ if(!(tt_aV[STICKY] && (tt_iState & 0x2)))
+ tt_HideInit();
+}
+function tt_HideInit()
+{
+ tt_ExtCallFncs(0, "HideInit");
+ tt_iState &= ~0x4;
+ if(tt_flagOpa && tt_aV[FADEOUT])
+ {
+ tt_tFade.EndTimer();
+ if(tt_opa)
+ {
+ var n = Math.round(tt_aV[FADEOUT] /
(tt_aV[FADEINTERVAL] * (tt_aV[OPACITY] / tt_opa)));
+ tt_Fade(tt_opa, tt_opa, 0, n);
+ return;
+ }
+ }
+ tt_tHide.Timer("tt_Hide();", 1, false);
+}
+function tt_OpReHref()
+{
+ if(tt_elDeHref)
+ {
+ tt_elDeHref.setAttribute("href", tt_elDeHref.t_href);
+ tt_RemEvtFnc(tt_elDeHref, "mousedown", tt_OpReHref);
+ window.status = tt_elDeHref.t_stats;
+ tt_elDeHref = null;
+ }
+}
+function tt_Fade(a, now, z, n)
+{
+ if(n)
+ {
+ now += Math.round((z - now) / n);
+ if((z > a) ? (now >= z) : (now <= z))
+ now = z;
+ else
+ tt_tFade.Timer("tt_Fade("
+ + a + "," + now + ","
+ z + "," + (n - 1)
+ + ")",
+ tt_aV[FADEINTERVAL],
+ true);
+ }
+ now ? tt_SetTipOpa(now) : tt_Hide();
+}
+// To circumvent the opacity nesting flaws of IE, we set the opacity
+// for each sub-DIV separately, rather than for the container DIV.
+function tt_SetTipOpa(opa)
+{
+ tt_SetOpa(tt_aElt[5].style, opa);
+ if(tt_aElt[1])
+ tt_SetOpa(tt_aElt[1].style, opa);
+ if(tt_aV[SHADOW])
+ {
+ opa = Math.round(opa * 0.8);
+ tt_SetOpa(tt_aElt[7].style, opa);
+ tt_SetOpa(tt_aElt[8].style, opa);
+ }
+}
+function tt_OnCloseBtnOver(iOver)
+{
+ var css = tt_aElt[4].style;
+
+ iOver <<= 1;
+ css.background = tt_aV[CLOSEBTNCOLORS][iOver];
+ css.color = tt_aV[CLOSEBTNCOLORS][iOver + 1];
+}
+function tt_Int(x)
+{
+ var y;
+
+ return(isNaN(y = parseInt(x)) ? 0 : y);
+}
+// Adds or removes the document.mousemove or HoveredElem.mouseout handler
+// conveniently. Keeps track of those handlers to prevent them from being
+// set or removed redundantly.
+function tt_AddRemOutFnc(bAdd)
+{
+ var PSet = bAdd ? tt_AddEvtFnc : tt_RemEvtFnc;
+
+ if(bAdd != tt_AddRemOutFnc.bOn)
+ {
+ PSet(tt_over, "mouseout", tt_OnOut);
+ tt_AddRemOutFnc.bOn = bAdd;
+ if(!bAdd)
+ tt_OpReHref();
+ }
+}
+tt_AddRemOutFnc.bOn = false;
+Number.prototype.Timer = function(s, iT, bUrge)
+{
+ if(!this.value || bUrge)
+ this.value = window.setTimeout(s, iT);
+}
+Number.prototype.EndTimer = function()
+{
+ if(this.value)
+ {
+ window.clearTimeout(this.value);
+ this.value = 0;
+ }
+}
+function tt_SetOpa(css, opa)
+{
+ tt_opa = opa;
+ if(tt_flagOpa == 1)
+ {
+ // Hack for bugs of IE:
+ // A DIV cannot be made visible in a single step if an
opacity < 100
+ // has been applied while the DIV was hidden.
+ // Moreover, in IE6, applying an opacity < 100 has no effect
if the
+ // concerned element has no layout (position, size, zoom,
...).
+ if(opa < 100)
+ {
+ var bVis = css.visibility != "hidden";
+ css.zoom = "100%";
+ if(!bVis)
+ css.visibility = "visible";
+ css.filter = "alpha(opacity=" + opa + ")";
+ if(!bVis)
+ css.visibility = "hidden";
+ }
+ else
+ css.filter = "";
+ }
+ else
+ {
+ opa /= 100.0;
+ switch(tt_flagOpa)
+ {
+ case 2:
+ css.KhtmlOpacity = opa; break;
+ case 3:
+ css.KHTMLOpacity = opa; break;
+ case 4:
+ css.MozOpacity = opa; break;
+ case 5:
+ css.opacity = opa; break;
+ }
+ }
+}
+function tt_MovDomNode(el, dadFrom, dadTo)
+{
+ if(dadFrom)
+ dadFrom.removeChild(el);
+ if(dadTo)
+ dadTo.appendChild(el);
+}
+function tt_Err(sErr)
+{
+ if(tt_Debug)
+ alert("Tooltip Script Error Message:\n\n" + sErr);
+}
+
+//=========== DEALING WITH EXTENSIONS ==============//
+function tt_ExtCmdEnum()
+{
+ var s;
+
+ // Add new command(s) to the commands enum
+ for(var i in config)
+ {
+ s = "window." + i.toString().toUpperCase();
+ if(eval("typeof(" + s + ") == tt_u"))
+ {
+ eval(s + " = " + tt_aV.length);
+ tt_aV[tt_aV.length] = null;
+ }
+ }
+}
+function tt_ExtCallFncs(arg, sFnc)
+{
+ var b = false;
+ for(var i = tt_aExt.length; i;)
+ {--i;
+ var fnc = tt_aExt[i]["On" + sFnc];
+ // Call the method the extension has defined for this event
+ if(fnc && fnc(arg))
+ b = true;
+ }
+ return b;
+}
+
+tt_Init();
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/scripts/wz_tooltip.js
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/soapMessages/selfTest.xml
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/soapMessages/selfTest.xml
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/soapMessages/selfTest.xml
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,12 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
+ <soapenv:Body>
+
+ <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
id="message1262167219" type="EchoRequest">
+ <nmwg:metadata id="meta">
+
<nmwg:eventType>http://schemas.perfsonar.net/tools/admin/selftest/1.0</nmwg:eventType>
+ </nmwg:metadata>
+ <nmwg:data id="data" metadataIdRef="meta"/>
+ </nmwg:message>
+
+ </soapenv:Body>
+</soapenv:Envelope>
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/default.css
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/default.css
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/default.css
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,114 @@
+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 em {
+ display: block;
+ color: red;
+ font-size: 95%;
+}
+
+.properties p {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.properties table {
+ border-bottom: 1px dotted #468C46;
+ margin-bottom: 20px;
+}
+
+.properties td {
+ padding: 5px;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.inner_properties {
+ padding: 0px;
+ margin: 0px;
+}
+
+.inner_properties table {
+ border: none;
+ margin: 0px;
+ padding: 0px;
+}
+
+.input {
+ padding: 1em;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+}
+
+.input_style {
+ border-color: #468C46;
+ border-style: solid;
+ border-width: 1px;
+}
+
+/*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;
+}
\ No newline at end of file
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/default.css
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/main.css
===================================================================
---
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/main.css
(rev 0)
+++
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/main.css
2010-04-07 11:15:33 UTC (rev 5582)
@@ -0,0 +1,338 @@
+/* standard elements */
+* {
+ margin: 0;
+ padding: 0;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ text-decoration: none;
+}
+
+body {
+ background-color: #C0C0C0;
+ width: 95%;
+ height: 92%;
+ padding-top: 10px;
+}
+
+div.main {
+ overflow: auto;
+ 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%;
+}
+
+.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(../graphics/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;
+}
+
+/* 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;
+}
\ No newline at end of file
Property changes on:
branches/webAdmin-xslt/perfsonar-java-web-admin/src/main/webapp/wa/styles/main.css
___________________________________________________________________
Name: svn:executable
+ *
- [GEANT/SA2/ps-java-services] r5582 - in branches/webAdmin-xslt: . perfsonar-java-web-admin perfsonar-java-web-admin/src perfsonar-java-web-admin/src/main perfsonar-java-web-admin/src/main/java perfsonar-java-web-admin/src/main/java/org perfsonar-java-web-admin/src/main/java/org/perfsonar perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/filters perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/helpers perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/selftest perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/servlets perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xpath perfsonar-java-web-admin/src/main/java/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources perfsonar-java-web-admin/src/main/resources/org perfsonar-java-web-admin/src/main/resources/org/perfsonar perfsonar-java-web-admin/src/main/resources/org/perfsonar/webad min perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt perfsonar-java-web-admin/src/main/resources/org/perfsonar/webadmin/xslt/templates perfsonar-java-web-admin/src/main/resources/perfsonar perfsonar-java-web-admin/src/main/resources/perfsonar/conf perfsonar-java-web-admin/src/main/webapp perfsonar-java-web-admin/src/main/webapp/WEB-INF perfsonar-java-web-admin/src/main/webapp/WEB-INF/views perfsonar-java-web-admin/src/main/webapp/WEB-INF/views/parts perfsonar-java-web-admin/src/main/webapp/wa perfsonar-java-web-admin/src/main/webapp/wa/graphics perfsonar-java-web-admin/src/main/webapp/wa/scripts perfsonar-java-web-admin/src/main/webapp/wa/soapMessages perfsonar-java-web-admin/src/main/webapp/wa/styles, svn-noreply, 04/07/2010
Archive powered by MHonArc 2.6.16.