http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-proxy.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-proxy.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-proxy.jar new file mode 100644 index 0000000..8e5d7f3 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-proxy.jar differ
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-remoting.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-remoting.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-remoting.jar new file mode 100644 index 0000000..5bf3397 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/flex-messaging-remoting.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/fxgutils.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/fxgutils.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/fxgutils.jar new file mode 100644 index 0000000..f028084 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/fxgutils.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/jackson-core-asl-1.0.0.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/jackson-core-asl-1.0.0.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/jackson-core-asl-1.0.0.jar new file mode 100644 index 0000000..366c41d Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/jackson-core-asl-1.0.0.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/jaxrpc.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/jaxrpc.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/jaxrpc.jar new file mode 100644 index 0000000..a2c13d9 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/jaxrpc.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/jstl-1.1.2.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/jstl-1.1.2.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/jstl-1.1.2.jar new file mode 100644 index 0000000..a02abec Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/jstl-1.1.2.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/log4j.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/log4j.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/log4j.jar new file mode 100644 index 0000000..6251307 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/log4j.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aop-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aop-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aop-3.0.3.RELEASE.jar new file mode 100644 index 0000000..7a78f04 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aop-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.asm-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.asm-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.asm-3.0.3.RELEASE.jar new file mode 100644 index 0000000..71a389d Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.asm-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aspects-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aspects-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aspects-3.0.3.RELEASE.jar new file mode 100644 index 0000000..1132681 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.aspects-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.beans-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.beans-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.beans-3.0.3.RELEASE.jar new file mode 100644 index 0000000..82cb2bc Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.beans-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context-3.0.3.RELEASE.jar new file mode 100644 index 0000000..1f94999 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context.support-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context.support-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context.support-3.0.3.RELEASE.jar new file mode 100644 index 0000000..bcc0e6a Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.context.support-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.core-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.core-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.core-3.0.3.RELEASE.jar new file mode 100644 index 0000000..7792a5f Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.core-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.expression-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.expression-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.expression-3.0.3.RELEASE.jar new file mode 100644 index 0000000..1989503 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.expression-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument-3.0.3.RELEASE.jar new file mode 100644 index 0000000..c55b8bc Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.3.RELEASE.jar new file mode 100644 index 0000000..62ccb82 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jdbc-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jdbc-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jdbc-3.0.3.RELEASE.jar new file mode 100644 index 0000000..3900e4a Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jdbc-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jms-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jms-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jms-3.0.3.RELEASE.jar new file mode 100644 index 0000000..9fc4336 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.jms-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.orm-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.orm-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.orm-3.0.3.RELEASE.jar new file mode 100644 index 0000000..002df19 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.orm-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.oxm-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.oxm-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.oxm-3.0.3.RELEASE.jar new file mode 100644 index 0000000..5d58154 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.oxm-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.spring-library-3.0.3.RELEASE.libd ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.spring-library-3.0.3.RELEASE.libd b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.spring-library-3.0.3.RELEASE.libd new file mode 100644 index 0000000..5dcba4e --- /dev/null +++ b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.spring-library-3.0.3.RELEASE.libd @@ -0,0 +1,21 @@ +Library-SymbolicName: org.springframework.spring +Library-Version: 3.0.3.RELEASE +Library-Name: Spring Framework +Import-Bundle: + org.springframework.aop;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.asm;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.aspects;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.beans;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.context;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.context.support;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.core;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.expression;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.jdbc;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.jms;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.orm;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.oxm;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.transaction;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.web;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.web.servlet;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + org.springframework.web.portlet;version="[3.0.3.RELEASE, 3.0.3.RELEASE]", + com.springsource.org.aopalliance;version="[1.0.0, 1.0.0]" http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.test-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.test-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.test-3.0.3.RELEASE.jar new file mode 100644 index 0000000..a0a4b52 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.test-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.transaction-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.transaction-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.transaction-3.0.3.RELEASE.jar new file mode 100644 index 0000000..8ef7538 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.transaction-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web-3.0.3.RELEASE.jar new file mode 100644 index 0000000..dd25a7d Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.portlet-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.portlet-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.portlet-3.0.3.RELEASE.jar new file mode 100644 index 0000000..ce41b9c Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.portlet-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.servlet-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.servlet-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.servlet-3.0.3.RELEASE.jar new file mode 100644 index 0000000..65a972f Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.servlet-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.struts-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.struts-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.struts-3.0.3.RELEASE.jar new file mode 100644 index 0000000..4835428 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/org.springframework.web.struts-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/saaj.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/saaj.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/saaj.jar new file mode 100644 index 0000000..4ea696e Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/saaj.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/spring-flex-core-1.5.2.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/spring-flex-core-1.5.2.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-flex-core-1.5.2.RELEASE.jar new file mode 100644 index 0000000..c3b3781 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-flex-core-1.5.2.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar new file mode 100644 index 0000000..33f8f00 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-config-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar new file mode 100644 index 0000000..2a60542 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-core-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar new file mode 100644 index 0000000..00c2657 Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/spring-security-web-3.0.3.RELEASE.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/standard-1.1.2.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/standard-1.1.2.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/standard-1.1.2.jar new file mode 100644 index 0000000..bc528ac Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/standard-1.1.2.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/lib/wsdl4j-1.5.1.jar ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/lib/wsdl4j-1.5.1.jar b/attic/qa/apps/qa-regress/WEB-INF/lib/wsdl4j-1.5.1.jar new file mode 100644 index 0000000..c6254ee Binary files /dev/null and b/attic/qa/apps/qa-regress/WEB-INF/lib/wsdl4j-1.5.1.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/src/qa/utils/mxml/MXMLCServlet.java ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/src/qa/utils/mxml/MXMLCServlet.java b/attic/qa/apps/qa-regress/WEB-INF/src/qa/utils/mxml/MXMLCServlet.java new file mode 100644 index 0000000..0fe3d28 --- /dev/null +++ b/attic/qa/apps/qa-regress/WEB-INF/src/qa/utils/mxml/MXMLCServlet.java @@ -0,0 +1,299 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package qa.utils.mxml; + +import org.apache.tools.ant.BuildListener; +import org.apache.tools.ant.DefaultLogger; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.Target; + +import flex.messaging.log.Log; +import flex.ant.HtmlWrapperTask; +import flex.ant.MxmlcTask; +import flex.ant.config.NestedAttributeElement; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; + +public class MXMLCServlet extends HttpServlet +{ + + private static final long serialVersionUID = 2788674952911587822L; + private static final String DEBUG_LOG_CATEGORY = "QA.MXMLC.SERVLET"; + + private String servicesFilePath; + private String flexConfigPath; + private String contextRealPath; + private String sdkHomePath; + private boolean mxmlcExists = false; + private boolean antDebug = false; + + @Override + public void init() throws ServletException + { + super.init(); + contextRealPath = getServletContext().getRealPath("/"); + + String _adebug = getInitParameter("ant-debug"); + if(_adebug != null) + antDebug = new Boolean(_adebug).booleanValue(); + + flexConfigPath = contextRealPath + "WEB-INF/flex/flex-config.xml"; + + servicesFilePath = getInitParameter("services-config"); + if(servicesFilePath == null) + servicesFilePath = contextRealPath + "WEB-INF/flex/services-config.xml"; + + String _flexHome = getInitParameter("FLEX_HOME"); + if(_flexHome != null) + { + // absolute path to FLEX_HOME + if(findMxmlc(_flexHome)) + { + sdkHomePath = _flexHome; + mxmlcExists = true; + } + // relative path to FLEX_HOME + else if(findMxmlc(contextRealPath + _flexHome)) + { + sdkHomePath = contextRealPath + _flexHome; + mxmlcExists = true; + } + else + logDebug("FLEX_HOME " + _flexHome + " couldn't be found. Webtier compiler won't be available"); + } + else + logDebug("FLEX_HOME not set, Webtier compiler won't be available"); + // if FLEX_HOME not found, delay the error in case nobody is using the webtier + } + + private boolean findMxmlc(String path) + { + return new File(path + File.separator + "bin" + File.separator + "mxmlc").exists(); + } + + @Override + protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + String requestFile = req.getServletPath(); + if (requestFile.endsWith(".swf")) + { + File swfFile = new File(getServletContext().getRealPath(req.getServletPath())); + + writeSwfFile(resp, swfFile); + return; + } + PrintWriter out = new PrintWriter(resp.getOutputStream()); + + if (mxmlcExists) + { + String fileLocationPath = getServletContext().getRealPath(req.getServletPath().substring(0, req.getServletPath().lastIndexOf('/')+1)); + boolean noEndingSlash = fileLocationPath.charAt(fileLocationPath.length() - 1) != File.separatorChar; + String fileName = req.getServletPath().substring(req.getServletPath().lastIndexOf('/')+1); + String fileNameWithoutExt = fileName.substring(0,fileName.indexOf(".mxml")); + String fileLocationPathSlashEnding = fileLocationPath + (noEndingSlash ? File.separator : ""); + + Boolean debug = "true".equals(req.getParameter("debug")) ? true : false; + + File mxmlFile = new File(fileLocationPathSlashEnding + fileName); + File swfFile; + File htmlFile; + + if(mxmlFile.exists()) + { + swfFile = new File(fileLocationPathSlashEnding + fileNameWithoutExt + ".swf"); + htmlFile = new File(fileLocationPathSlashEnding + fileNameWithoutExt + ".html"); + + if (swfFile.exists()) + { + swfFile.delete(); + } + if (htmlFile.exists()) + { + htmlFile.delete(); + } + } + else + { + // mxml file not found. shouldn't be here + throw new IOException(fileName + " not found"); + } + Project project = new Project(); + try + { + project.setName("WebTier Compiler"); + project.setBaseDir(new File(contextRealPath)); + project.setProperty("FLEX_HOME", sdkHomePath); + project.setProperty("serviceConfig", servicesFilePath); + project.setProperty("flexConfig", flexConfigPath); + project.setProperty("mxmlFileLocation", fileLocationPathSlashEnding); + project.setProperty("mxmlFile", fileNameWithoutExt); + project.setProperty("debug", debug.toString()); + project.setProperty("contextRoot", req.getContextPath()); + project.addBuildListener(getLogListener()); + + project.init(); + // setup the project + addMXMLCTarget(project); + // compile the mxml + project.executeTarget("compile"); + if (swfFile.exists() && htmlFile.exists()) + writeWrapperHtml(resp, out, htmlFile); + else + { + out.print("<h1>Internal error.</h1><br/>Generated swf and wrapper couldn't be found.</html>"); + out.flush(); + } + } + catch (Exception e) + { + out.print("<h1>Failed to compile.</h1><br/>Please see server console log for detailed error message.</html>"); + out.flush(); + project.fireBuildFinished(e); + //e.printStackTrace(); + } + } + else + { + out.print("<h1>FLEX SDK not found</h1><br></html>"); + out.flush(); + } + } + + // send the html content to the output + private void writeWrapperHtml(HttpServletResponse resp, PrintWriter out, File htmlFile) throws IOException + { + resp.addHeader("Cache-Control","no-cache"); + resp.setContentType("text/html"); + FileInputStream fis = null; + StringBuffer buffer = new StringBuffer(); + try + { + fis = new FileInputStream(htmlFile); + int c; + while ((c = fis.read()) > -1) + { + buffer.append((char) c); + } + } + finally + { + try { fis.close();} catch(Exception e) {} + } + out.print(buffer.toString()); + resp.setContentLength(buffer.length()); + out.flush(); + } + + private void writeSwfFile(HttpServletResponse resp, File swfFile) throws IOException + { + if (swfFile.exists()) + { + OutputStream out = resp.getOutputStream(); + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + FileInputStream fis = null; + resp.addHeader("Cache-Control","no-cache"); + resp.setContentType("application/x-shockwave-flash"); + try + { + fis = new FileInputStream(swfFile); + int b; + while ((b=fis.read()) > -1) + { + bytes.write(b); + } + } + finally + { + try { fis.close();} catch(Exception e) {} + } + resp.setContentLength(bytes.size()); + out.write(bytes.toByteArray()); + out.flush(); + } + else + { + resp.sendError(HttpServletResponse.SC_NOT_FOUND); + } + } + + // add mxmlc and html wrapper tasks to the project + private void addMXMLCTarget(Project project) + { + String mxmlFile = project.getProperty("mxmlFile"); + String mxmlFileLocation = project.getProperty("mxmlFileLocation"); + + Target target = new Target(); + target.setName("compile"); + project.addTarget("compile", target); + + MxmlcTask mxmlcTask = new MxmlcTask(); + mxmlcTask.setTaskName("mxmlc"); + mxmlcTask.setFile(mxmlFileLocation + mxmlFile + ".mxml"); + mxmlcTask.setFork(true); + + mxmlcTask.setDynamicAttribute("services", servicesFilePath); + mxmlcTask.setDynamicAttribute("keep-generated-actionscript", "false"); + mxmlcTask.setDynamicAttribute("debug", project.getProperty("debug")); + mxmlcTask.setDynamicAttribute("context-root", project.getProperty("contextRoot")); + ((NestedAttributeElement)mxmlcTask.createDynamicElement("load-config")).setDynamicAttribute("filename", flexConfigPath); + + mxmlcTask.setProject(project); + target.addTask(mxmlcTask); + + HtmlWrapperTask htmlTask = new HtmlWrapperTask(); + htmlTask.setTaskName("html-wrapper"); + htmlTask.setTitle( mxmlFile+ " Flex Application"); + htmlTask.setFile(mxmlFile +".html"); + htmlTask.setHeight("100%"); + htmlTask.setWidth("100%"); + htmlTask.setApplication(mxmlFile + " app"); + htmlTask.setSwf(mxmlFile); + htmlTask.setOutput(mxmlFileLocation); + + htmlTask.setProject(project); + target.addTask(htmlTask); + } + + // create a build listener for log output and use System out and err. + // since the actual compile info is sent to the output stream, + // message from error stream isn't helpful at all. Also you + // don't want to send the output stream to the browser either. + // Ideally write your Listener to redirect the output. + // TODO: enhance the logger and output failure to the browser + private BuildListener getLogListener() + { + DefaultLogger consoleLogger = new DefaultLogger(); + + consoleLogger.setErrorPrintStream(System.err); + consoleLogger.setOutputPrintStream(System.out); + if(antDebug) + consoleLogger.setMessageOutputLevel(Project.MSG_DEBUG); + else + consoleLogger.setMessageOutputLevel(Project.MSG_INFO); + return consoleLogger; + } + + // debug log + private void logDebug(String s) + { + Log.getLogger(DEBUG_LOG_CATEGORY).debug(s); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/web.xml ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/web.xml b/attic/qa/apps/qa-regress/WEB-INF/web.xml new file mode 100644 index 0000000..d20adf1 --- /dev/null +++ b/attic/qa/apps/qa-regress/WEB-INF/web.xml @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!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>Flex QA Web Application</display-name> + <description>Flex Presentation Server qa web application</description> + + <context-param> + <param-name>brokerURI</param-name> + <param-value>/WEB-INF/activemq.xml</param-value> + </context-param> + + <!-- Http Flex Session attribute and binding listener support --> + <listener> + <listener-class>flex.messaging.HttpFlexSession</listener-class> + </listener> + + <!-- Active MQ Spring Context Listener--> + <listener> + <listener-class>org.apache.activemq.web.SpringBrokerContextListener</listener-class> + </listener> + + <!-- Spring Configuration. Uncomment if using Spring. + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> --> + + <!-- MessageBroker Servlet --> + <servlet> + <servlet-name>MessageBrokerServlet</servlet-name> + <display-name>MessageBrokerServlet</display-name> + <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> + <init-param> + <param-name>services.configuration.file</param-name> + <param-value>/WEB-INF/flex/services-config.xml</param-value> + </init-param> + <load-on-startup>1</load-on-startup> + </servlet> + + <servlet> + <servlet-name>HttpXmlEchoService</servlet-name> + <display-name>HttpXmlEchoService</display-name> + <servlet-class>dev.httpservice.HttpXmlEchoService</servlet-class> + </servlet> + + <servlet> + <servlet-name>AxisServlet</servlet-name> + <display-name>Apache-Axis Servlet</display-name> + <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> + </servlet> + + <servlet> + <servlet-name>AdminServlet</servlet-name> + <display-name>Axis Admin Servlet</display-name> + <servlet-class> + org.apache.axis.transport.http.AdminServlet + </servlet-class> + <load-on-startup>100</load-on-startup> + </servlet> + + <!--- Add RDS servlets --> + <servlet> + <servlet-name>RDSDispatchServlet</servlet-name> + <display-name>RDSDispatchServlet</display-name> + <servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class> + <init-param> + <param-name>useAppserverSecurity</param-name> + <param-value>false</param-value> + </init-param> + <!-- Must be loaded after MessageBrokerServlet --> + <load-on-startup>10</load-on-startup> + </servlet> + + <!-- Flex task Servlet --> + <servlet> + <servlet-name>QAAntTaskCompilerServlet</servlet-name> + <display-name>QAAntTaskCompilerServlet</display-name> + <servlet-class>qa.utils.mxml.MXMLCServlet</servlet-class> + <init-param> + <param-name>ant-debug</param-name> + <param-value>false</param-value> + </init-param> + <!-- use either absolute or relative path to the FLEX_HOME --> + <init-param> + <param-name>FLEX_HOME</param-name> + <param-value>../../..</param-value> + </init-param> + </servlet> + + <servlet-mapping id="RDS_DISPATCH_MAPPING"> + <servlet-name>RDSDispatchServlet</servlet-name> + <url-pattern>/CFIDE/main/ide.cfm</url-pattern> + </servlet-mapping> + <!-- End Add RDS servlets --> + + <servlet-mapping> + <servlet-name>AdminServlet</servlet-name> + <url-pattern>/servlet/AdminServlet</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/axis/services/*</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/axis/servlet/AxisServlet</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>*.jws</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>HttpXmlEchoService</servlet-name> + <url-pattern>/httpxmlechoservice</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>MessageBrokerServlet</servlet-name> + <url-pattern>/messagebroker/*</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>QAAntTaskCompilerServlet</servlet-name> + <url-pattern>*.mxml</url-pattern> + </servlet-mapping> + + <!-- for WebSphere deployment, please uncomment --> + <!-- + <resource-ref> + <description>Flex Messaging WorkManager</description> + <res-ref-name>wm/MessagingWorkManager</res-ref-name> + <res-type>com.ibm.websphere.asynchbeans.WorkManager</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + --> + + <mime-mapping> + <extension>wsdl</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <mime-mapping> + <extension>xsd</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <mime-mapping> + <extension>xml</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <mime-mapping> + <extension>swf</extension> + <mime-type>application/x-shockwave-flash</mime-type> + </mime-mapping> + +</web-app> http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/WEB-INF/web.xml.spring ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/WEB-INF/web.xml.spring b/attic/qa/apps/qa-regress/WEB-INF/web.xml.spring new file mode 100644 index 0000000..508c7cf --- /dev/null +++ b/attic/qa/apps/qa-regress/WEB-INF/web.xml.spring @@ -0,0 +1,194 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +--> + +<!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>Flex QA Web Application</display-name> + <description>Flex Presentation Server qa web application</description> + + <context-param> + <param-name>brokerURI</param-name> + <param-value>/WEB-INF/activemq.xml</param-value> + </context-param> + + <context-param> + <param-name>flex.class.path</param-name> + <param-value>/WEB-INF/flex/jars</param-value> + </context-param> + + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value> + /WEB-INF/spring/*-config.xml + </param-value> + </context-param> + + <filter> + <filter-name>springSecurityFilterChain</filter-name> + <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> + </filter> + + <filter-mapping> + <filter-name>springSecurityFilterChain</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> + + <!-- Http Flex Session attribute and binding listener support --> + <listener> + <listener-class>flex.messaging.HttpFlexSession</listener-class> + </listener> + + <!-- Active MQ Spring Context Listener--> + <listener> + <listener-class>org.apache.activemq.web.SpringBrokerContextListener</listener-class> + </listener> + + + <!-- MessageBroker Servlet --> + <servlet> + <servlet-name>flex</servlet-name> + <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> + <load-on-startup>1</load-on-startup> + </servlet> + + <servlet> + <servlet-name>HttpXmlEchoService</servlet-name> + <display-name>HttpXmlEchoService</display-name> + <servlet-class>dev.httpservice.HttpXmlEchoService</servlet-class> + </servlet> + + <servlet> + <servlet-name>AxisServlet</servlet-name> + <display-name>Apache-Axis Servlet</display-name> + <servlet-class> + org.apache.axis.transport.http.AxisServlet + </servlet-class> + </servlet> + + <servlet> + <servlet-name>AdminServlet</servlet-name> + <display-name>Axis Admin Servlet</display-name> + <servlet-class> + org.apache.axis.transport.http.AdminServlet + </servlet-class> + <load-on-startup>100</load-on-startup> + </servlet> + + <!--- Add RDS servlets --> + <servlet> + <servlet-name>RDSDispatchServlet</servlet-name> + <display-name>RDSDispatchServlet</display-name> + <servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class> + <init-param> + <param-name>useAppserverSecurity</param-name> + <param-value>false</param-value> + </init-param> + <!-- Must be loaded after MessageBrokerServlet --> + <load-on-startup>10</load-on-startup> + </servlet> + + <!-- Flex task Servlet --> + <servlet> + <servlet-name>QAAntTaskCompilerServlet</servlet-name> + <display-name>QAAntTaskCompilerServlet</display-name> + <servlet-class>qa.utils.mxml.MXMLCServlet</servlet-class> + <init-param> + <param-name>ant-debug</param-name> + <param-value>false</param-value> + </init-param> + <!-- use either absolute or relative path to the FLEX_HOME --> + <init-param> + <param-name>FLEX_HOME</param-name> + <param-value>../../..</param-value> + </init-param> + </servlet> + + <servlet-mapping id="RDS_DISPATCH_MAPPING"> + <servlet-name>RDSDispatchServlet</servlet-name> + <url-pattern>/CFIDE/main/ide.cfm</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/axis/servlet/AxisServlet</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>*.jws</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/axis/services/*</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>flex</servlet-name> + <url-pattern>/messagebroker/*</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>HttpXmlEchoService</servlet-name> + <url-pattern>/httpxmlechoservice</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AdminServlet</servlet-name> + <url-pattern>/servlet/AdminServlet</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>QAAntTaskCompilerServlet</servlet-name> + <url-pattern>*.mxml</url-pattern> + </servlet-mapping> + + <!-- for WebSphere deployment, please uncomment --> + <!-- + <resource-ref> + <description>Flex Messaging WorkManager</description> + <res-ref-name>wm/MessagingWorkManager</res-ref-name> + <res-type>com.ibm.websphere.asynchbeans.WorkManager</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + --> + + <mime-mapping> + <extension>wsdl</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <mime-mapping> + <extension>xsd</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <mime-mapping> + <extension>xml</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + +</web-app> http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/history/history.css ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/history/history.css b/attic/qa/apps/qa-regress/history/history.css new file mode 100644 index 0000000..b19cfed --- /dev/null +++ b/attic/qa/apps/qa-regress/history/history.css @@ -0,0 +1,24 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +/* This CSS stylesheet defines styles used by required elements in a flex application page that supports browser history */ + +#ie_historyFrame { width: 0px; height: 0px; display:none } +#firefox_anchorDiv { width: 0px; height: 0px; display:none } +#safari_formDiv { width: 0px; height: 0px; display:none } +#safari_rememberDiv { width: 0px; height: 0px; display:none } http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/history/history.js ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/history/history.js b/attic/qa/apps/qa-regress/history/history.js new file mode 100644 index 0000000..4db119c --- /dev/null +++ b/attic/qa/apps/qa-regress/history/history.js @@ -0,0 +1,696 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +BrowserHistoryUtils = { + addEvent: function(elm, evType, fn, useCapture) { + useCapture = useCapture || false; + if (elm.addEventListener) { + elm.addEventListener(evType, fn, useCapture); + return true; + } + else if (elm.attachEvent) { + var r = elm.attachEvent('on' + evType, fn); + return r; + } + else { + elm['on' + evType] = fn; + } + } +} + +BrowserHistory = (function() { + // type of browser + var browser = { + ie: false, + ie8: false, + firefox: false, + safari: false, + opera: false, + version: -1 + }; + + // Default app state URL to use when no fragment ID present + var defaultHash = ''; + + // Last-known app state URL + var currentHref = document.location.href; + + // Initial URL (used only by IE) + var initialHref = document.location.href; + + // Initial URL (used only by IE) + var initialHash = document.location.hash; + + // History frame source URL prefix (used only by IE) + var historyFrameSourcePrefix = 'history/historyFrame.html?'; + + // History maintenance (used only by Safari) + var currentHistoryLength = -1; + + // Flag to denote the existence of onhashchange + var browserHasHashChange = false; + + var historyHash = []; + + var initialState = createState(initialHref, initialHref + '#' + initialHash, initialHash); + + var backStack = []; + var forwardStack = []; + + var currentObjectId = null; + + //UserAgent detection + var useragent = navigator.userAgent.toLowerCase(); + + if (useragent.indexOf("opera") != -1) { + browser.opera = true; + } else if (useragent.indexOf("msie") != -1) { + browser.ie = true; + browser.version = parseFloat(useragent.substring(useragent.indexOf('msie') + 4)); + if (browser.version == 8) + { + browser.ie = false; + browser.ie8 = true; + } + } else if (useragent.indexOf("safari") != -1) { + browser.safari = true; + browser.version = parseFloat(useragent.substring(useragent.indexOf('safari') + 7)); + } else if (useragent.indexOf("gecko") != -1) { + browser.firefox = true; + } + + if (browser.ie == true && browser.version == 7) { + window["_ie_firstload"] = false; + } + + function hashChangeHandler() + { + currentHref = document.location.href; + var flexAppUrl = getHash(); + //ADR: to fix multiple + if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) { + var pl = getPlayers(); + for (var i = 0; i < pl.length; i++) { + pl[i].browserURLChange(flexAppUrl); + } + } else { + getPlayer().browserURLChange(flexAppUrl); + } + } + + // Accessor functions for obtaining specific elements of the page. + function getHistoryFrame() + { + return document.getElementById('ie_historyFrame'); + } + + function getFormElement() + { + return document.getElementById('safari_formDiv'); + } + + function getRememberElement() + { + return document.getElementById("safari_remember_field"); + } + + // Get the Flash player object for performing ExternalInterface callbacks. + // Updated for changes to SWFObject2. + function getPlayer(id) { + var i; + + if (id && document.getElementById(id)) { + var r = document.getElementById(id); + if (typeof r.SetVariable != "undefined") { + return r; + } + else { + var o = r.getElementsByTagName("object"); + var e = r.getElementsByTagName("embed"); + for (i = 0; i < o.length; i++) { + if (typeof o[i].browserURLChange != "undefined") + return o[i]; + } + for (i = 0; i < e.length; i++) { + if (typeof e[i].browserURLChange != "undefined") + return e[i]; + } + } + } + else { + var o = document.getElementsByTagName("object"); + var e = document.getElementsByTagName("embed"); + for (i = 0; i < e.length; i++) { + if (typeof e[i].browserURLChange != "undefined") + { + return e[i]; + } + } + for (i = 0; i < o.length; i++) { + if (typeof o[i].browserURLChange != "undefined") + { + return o[i]; + } + } + } + return undefined; + } + + function getPlayers() { + var i; + var players = []; + if (players.length == 0) { + var tmp = document.getElementsByTagName('object'); + for (i = 0; i < tmp.length; i++) + { + if (typeof tmp[i].browserURLChange != "undefined") + players.push(tmp[i]); + } + } + if (players.length == 0 || players[0].object == null) { + var tmp = document.getElementsByTagName('embed'); + for (i = 0; i < tmp.length; i++) + { + if (typeof tmp[i].browserURLChange != "undefined") + players.push(tmp[i]); + } + } + return players; + } + + function getIframeHash() { + var doc = getHistoryFrame().contentWindow.document; + var hash = String(doc.location.search); + if (hash.length == 1 && hash.charAt(0) == "?") { + hash = ""; + } + else if (hash.length >= 2 && hash.charAt(0) == "?") { + hash = hash.substring(1); + } + return hash; + } + + /* Get the current location hash excluding the '#' symbol. */ + function getHash() { + // It would be nice if we could use document.location.hash here, + // but it's faulty sometimes. + var idx = document.location.href.indexOf('#'); + return (idx >= 0) ? document.location.href.substr(idx+1) : ''; + } + + /* Get the current location hash excluding the '#' symbol. */ + function setHash(hash) { + // It would be nice if we could use document.location.hash here, + // but it's faulty sometimes. + if (hash == '') hash = '#' + document.location.hash = hash; + } + + function createState(baseUrl, newUrl, flexAppUrl) { + return { 'baseUrl': baseUrl, 'newUrl': newUrl, 'flexAppUrl': flexAppUrl, 'title': null }; + } + + /* Add a history entry to the browser. + * baseUrl: the portion of the location prior to the '#' + * newUrl: the entire new URL, including '#' and following fragment + * flexAppUrl: the portion of the location following the '#' only + */ + function addHistoryEntry(baseUrl, newUrl, flexAppUrl) { + + //delete all the history entries + forwardStack = []; + + if (browser.ie) { + //Check to see if we are being asked to do a navigate for the first + //history entry, and if so ignore, because it's coming from the creation + //of the history iframe + if (flexAppUrl == defaultHash && document.location.href == initialHref && window['_ie_firstload']) { + currentHref = initialHref; + return; + } + if ((!flexAppUrl || flexAppUrl == defaultHash) && window['_ie_firstload']) { + newUrl = baseUrl + '#' + defaultHash; + flexAppUrl = defaultHash; + } else { + // for IE, tell the history frame to go somewhere without a '#' + // in order to get this entry into the browser history. + getHistoryFrame().src = historyFrameSourcePrefix + flexAppUrl; + } + setHash(flexAppUrl); + } else { + + //ADR + if (backStack.length == 0 && initialState.flexAppUrl == flexAppUrl) { + initialState = createState(baseUrl, newUrl, flexAppUrl); + } else if(backStack.length > 0 && backStack[backStack.length - 1].flexAppUrl == flexAppUrl) { + backStack[backStack.length - 1] = createState(baseUrl, newUrl, flexAppUrl); + } + + if (browser.safari && !browserHasHashChange) { + // for Safari, submit a form whose action points to the desired URL + if (browser.version <= 419.3) { + var file = window.location.pathname.toString(); + file = file.substring(file.lastIndexOf("/")+1); + getFormElement().innerHTML = '<form name="historyForm" action="'+file+'#' + flexAppUrl + '" method="GET"></form>'; + //get the current elements and add them to the form + var qs = window.location.search.substring(1); + var qs_arr = qs.split("&"); + for (var i = 0; i < qs_arr.length; i++) { + var tmp = qs_arr[i].split("="); + var elem = document.createElement("input"); + elem.type = "hidden"; + elem.name = tmp[0]; + elem.value = tmp[1]; + document.forms.historyForm.appendChild(elem); + } + document.forms.historyForm.submit(); + } else { + top.location.hash = flexAppUrl; + } + // We also have to maintain the history by hand for Safari + historyHash[history.length] = flexAppUrl; + _storeStates(); + } else { + // Otherwise, just tell the browser to go there + setHash(flexAppUrl); + } + } + backStack.push(createState(baseUrl, newUrl, flexAppUrl)); + } + + function _storeStates() { + if (browser.safari) { + getRememberElement().value = historyHash.join(","); + } + } + + function handleBackButton() { + //The "current" page is always at the top of the history stack. + var current = backStack.pop(); + if (!current) { return; } + var last = backStack[backStack.length - 1]; + if (!last && backStack.length == 0){ + last = initialState; + } + forwardStack.push(current); + } + + function handleForwardButton() { + //summary: private method. Do not call this directly. + + var last = forwardStack.pop(); + if (!last) { return; } + backStack.push(last); + } + + function handleArbitraryUrl() { + //delete all the history entries + forwardStack = []; + } + + /* Called periodically to poll to see if we need to detect navigation that has occurred */ + function checkForUrlChange() { + + if (browser.ie) { + if (currentHref != document.location.href && currentHref + '#' != document.location.href) { + //This occurs when the user has navigated to a specific URL + //within the app, and didn't use browser back/forward + //IE seems to have a bug where it stops updating the URL it + //shows the end-user at this point, but programatically it + //appears to be correct. Do a full app reload to get around + //this issue. + if (browser.version < 7) { + currentHref = document.location.href; + document.location.reload(); + } else { + if (getHash() != getIframeHash()) { + // this.iframe.src = this.blankURL + hash; + var sourceToSet = historyFrameSourcePrefix + getHash(); + getHistoryFrame().src = sourceToSet; + currentHref = document.location.href; + } + } + } + } + + if (browser.safari && !browserHasHashChange) { + // For Safari, we have to check to see if history.length changed. + if (currentHistoryLength >= 0 && history.length != currentHistoryLength) { + //alert("did change: " + history.length + ", " + historyHash.length + "|" + historyHash[history.length] + "|>" + historyHash.join("|")); + var flexAppUrl = getHash(); + if (browser.version < 528.16 /* Anything earlier than Safari 4.0 */) + { + // If it did change and we're running Safari 3.x or earlier, + // then we have to look the old state up in our hand-maintained + // array since document.location.hash won't have changed, + // then call back into BrowserManager. + currentHistoryLength = history.length; + flexAppUrl = historyHash[currentHistoryLength]; + } + + //ADR: to fix multiple + if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) { + var pl = getPlayers(); + for (var i = 0; i < pl.length; i++) { + pl[i].browserURLChange(flexAppUrl); + } + } else { + getPlayer().browserURLChange(flexAppUrl); + } + _storeStates(); + } + } + if (browser.firefox && !browserHasHashChange) { + if (currentHref != document.location.href) { + var bsl = backStack.length; + + var urlActions = { + back: false, + forward: false, + set: false + } + + if ((window.location.hash == initialHash || window.location.href == initialHref) && (bsl == 1)) { + urlActions.back = true; + // FIXME: could this ever be a forward button? + // we can't clear it because we still need to check for forwards. Ugg. + // clearInterval(this.locationTimer); + handleBackButton(); + } + + // first check to see if we could have gone forward. We always halt on + // a no-hash item. + if (forwardStack.length > 0) { + if (forwardStack[forwardStack.length-1].flexAppUrl == getHash()) { + urlActions.forward = true; + handleForwardButton(); + } + } + + // ok, that didn't work, try someplace back in the history stack + if ((bsl >= 2) && (backStack[bsl - 2])) { + if (backStack[bsl - 2].flexAppUrl == getHash()) { + urlActions.back = true; + handleBackButton(); + } + } + + if (!urlActions.back && !urlActions.forward) { + var foundInStacks = { + back: -1, + forward: -1 + } + + for (var i = 0; i < backStack.length; i++) { + if (backStack[i].flexAppUrl == getHash() && i != (bsl - 2)) { + arbitraryUrl = true; + foundInStacks.back = i; + } + } + for (var i = 0; i < forwardStack.length; i++) { + if (forwardStack[i].flexAppUrl == getHash() && i != (bsl - 2)) { + arbitraryUrl = true; + foundInStacks.forward = i; + } + } + handleArbitraryUrl(); + } + + // Firefox changed; do a callback into BrowserManager to tell it. + currentHref = document.location.href; + var flexAppUrl = getHash(); + //ADR: to fix multiple + if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) { + var pl = getPlayers(); + for (var i = 0; i < pl.length; i++) { + pl[i].browserURLChange(flexAppUrl); + } + } else { + getPlayer().browserURLChange(flexAppUrl); + } + } + } + } + + var _initialize = function () { + + browserHasHashChange = ("onhashchange" in document.body); + + if (browser.ie) + { + var scripts = document.getElementsByTagName('script'); + for (var i = 0, s; s = scripts[i]; i++) { + if (s.src.indexOf("history.js") > -1) { + var iframe_location = (new String(s.src)).replace("history.js", "historyFrame.html"); + } + } + historyFrameSourcePrefix = iframe_location + "?"; + var src = historyFrameSourcePrefix; + + var iframe = document.createElement("iframe"); + iframe.id = 'ie_historyFrame'; + iframe.name = 'ie_historyFrame'; + iframe.src = 'javascript:false;'; + + try { + document.body.appendChild(iframe); + } catch(e) { + setTimeout(function() { + document.body.appendChild(iframe); + }, 0); + } + } + + if (browser.safari && !browserHasHashChange) + { + var rememberDiv = document.createElement("div"); + rememberDiv.id = 'safari_rememberDiv'; + document.body.appendChild(rememberDiv); + rememberDiv.innerHTML = '<input type="text" id="safari_remember_field" style="width: 500px;">'; + + var formDiv = document.createElement("div"); + formDiv.id = 'safari_formDiv'; + document.body.appendChild(formDiv); + + var reloader_content = document.createElement('div'); + reloader_content.id = 'safarireloader'; + var scripts = document.getElementsByTagName('script'); + for (var i = 0, s; s = scripts[i]; i++) { + if (s.src.indexOf("history.js") > -1) { + html = (new String(s.src)).replace(".js", ".html"); + } + } + reloader_content.innerHTML = '<iframe id="safarireloader-iframe" src="about:blank" frameborder="no" scrolling="no"></iframe>'; + document.body.appendChild(reloader_content); + reloader_content.style.position = 'absolute'; + reloader_content.style.left = reloader_content.style.top = '-9999px'; + iframe = reloader_content.getElementsByTagName('iframe')[0]; + + if (document.getElementById("safari_remember_field").value != "" ) { + historyHash = document.getElementById("safari_remember_field").value.split(","); + } + } + + if (browserHasHashChange) + document.body.onhashchange = hashChangeHandler; + } + + return { + historyHash: historyHash, + backStack: function() { return backStack; }, + forwardStack: function() { return forwardStack }, + getPlayer: getPlayer, + initialize: function(src) { + _initialize(src); + }, + setURL: function(url) { + document.location.href = url; + }, + getURL: function() { + return document.location.href; + }, + getTitle: function() { + return document.title; + }, + setTitle: function(title) { + try { + backStack[backStack.length - 1].title = title; + } catch(e) { } + //if on safari, set the title to be the empty string. + if (browser.safari) { + if (title == "") { + try { + var tmp = window.location.href.toString(); + title = tmp.substring((tmp.lastIndexOf("/")+1), tmp.lastIndexOf("#")); + } catch(e) { + title = ""; + } + } + } + document.title = title; + }, + setDefaultURL: function(def) + { + defaultHash = def; + def = getHash(); + //trailing ? is important else an extra frame gets added to the history + //when navigating back to the first page. Alternatively could check + //in history frame navigation to compare # and ?. + if (browser.ie) + { + window['_ie_firstload'] = true; + var sourceToSet = historyFrameSourcePrefix + def; + var func = function() { + getHistoryFrame().src = sourceToSet; + window.location.replace("#" + def); + setInterval(checkForUrlChange, 50); + } + try { + func(); + } catch(e) { + window.setTimeout(function() { func(); }, 0); + } + } + + if (browser.safari) + { + currentHistoryLength = history.length; + if (historyHash.length == 0) { + historyHash[currentHistoryLength] = def; + var newloc = "#" + def; + window.location.replace(newloc); + } else { + //alert(historyHash[historyHash.length-1]); + } + setInterval(checkForUrlChange, 50); + } + + + if (browser.firefox || browser.opera) + { + var reg = new RegExp("#" + def + "$"); + if (window.location.toString().match(reg)) { + } else { + var newloc ="#" + def; + window.location.replace(newloc); + } + setInterval(checkForUrlChange, 50); + } + + }, + + /* Set the current browser URL; called from inside BrowserManager to propagate + * the application state out to the container. + */ + setBrowserURL: function(flexAppUrl, objectId) { + if (browser.ie && typeof objectId != "undefined") { + currentObjectId = objectId; + } + //fromIframe = fromIframe || false; + //fromFlex = fromFlex || false; + //alert("setBrowserURL: " + flexAppUrl); + //flexAppUrl = (flexAppUrl == "") ? defaultHash : flexAppUrl ; + + var pos = document.location.href.indexOf('#'); + var baseUrl = pos != -1 ? document.location.href.substr(0, pos) : document.location.href; + var newUrl = baseUrl + '#' + flexAppUrl; + + if (document.location.href != newUrl && document.location.href + '#' != newUrl) { + currentHref = newUrl; + addHistoryEntry(baseUrl, newUrl, flexAppUrl); + currentHistoryLength = history.length; + } + }, + + browserURLChange: function(flexAppUrl) { + var objectId = null; + if (browser.ie && currentObjectId != null) { + objectId = currentObjectId; + } + + if (typeof BrowserHistory_multiple != "undefined" && BrowserHistory_multiple == true) { + var pl = getPlayers(); + for (var i = 0; i < pl.length; i++) { + try { + pl[i].browserURLChange(flexAppUrl); + } catch(e) { } + } + } else { + try { + getPlayer(objectId).browserURLChange(flexAppUrl); + } catch(e) { } + } + + currentObjectId = null; + }, + getUserAgent: function() { + return navigator.userAgent; + }, + getPlatform: function() { + return navigator.platform; + } + + } + +})(); + +// Initialization + +// Automated unit testing and other diagnostics + +function setURL(url) +{ + document.location.href = url; +} + +function backButton() +{ + history.back(); +} + +function forwardButton() +{ + history.forward(); +} + +function goForwardOrBackInHistory(step) +{ + history.go(step); +} + +//BrowserHistoryUtils.addEvent(window, "load", function() { BrowserHistory.initialize(); }); +(function(i) { + var u =navigator.userAgent;var e=/*@cc_on!@*/false; + var st = setTimeout; + if(/webkit/i.test(u)){ + st(function(){ + var dr=document.readyState; + if(dr=="loaded"||dr=="complete"){i()} + else{st(arguments.callee,10);}},10); + } else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u))){ + document.addEventListener("DOMContentLoaded",i,false); + } else if(e){ + (function(){ + var t=document.createElement('doc:rdy'); + try{t.doScroll('left'); + i();t=null; + }catch(e){st(arguments.callee,0);}})(); + } else{ + window.onload=i; + } +})( function() {BrowserHistory.initialize();} ); http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/history/historyFrame.html ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/history/historyFrame.html b/attic/qa/apps/qa-regress/history/historyFrame.html new file mode 100644 index 0000000..c8af338 --- /dev/null +++ b/attic/qa/apps/qa-regress/history/historyFrame.html @@ -0,0 +1,45 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html> + <head> + <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> + <META HTTP-EQUIV="Expires" CONTENT="-1"> + </head> + <body> + <script> + function processUrl() + { + + var pos = url.indexOf("?"); + url = pos != -1 ? url.substr(pos + 1) : ""; + if (!parent._ie_firstload) { + parent.BrowserHistory.setBrowserURL(url); + try { + parent.BrowserHistory.browserURLChange(url); + } catch(e) { } + } else { + parent._ie_firstload = false; + } + } + + var url = document.location.href; + processUrl(); + document.write(encodeURIComponent(url)); + </script> + Hidden frame for Browser History support. + </body> +</html> http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/apps/qa-regress/history/swfobject.js ---------------------------------------------------------------------- diff --git a/attic/qa/apps/qa-regress/history/swfobject.js b/attic/qa/apps/qa-regress/history/swfobject.js new file mode 100644 index 0000000..8eafe9d --- /dev/null +++ b/attic/qa/apps/qa-regress/history/swfobject.js @@ -0,0 +1,4 @@ +/* SWFObject v2.2 <http://code.google.com/p/swfobject/> + is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> +*/ +var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a- zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].append Child(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callb ackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win ||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.re placeChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27C DB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIC omponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}e lse{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode. replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}(); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/classes/tools/ant/MergeXML.class ---------------------------------------------------------------------- diff --git a/attic/qa/classes/tools/ant/MergeXML.class b/attic/qa/classes/tools/ant/MergeXML.class new file mode 100644 index 0000000..1ecd050 Binary files /dev/null and b/attic/qa/classes/tools/ant/MergeXML.class differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/classes/utils/NamedNode.class ---------------------------------------------------------------------- diff --git a/attic/qa/classes/utils/NamedNode.class b/attic/qa/classes/utils/NamedNode.class new file mode 100644 index 0000000..2cc09b3 Binary files /dev/null and b/attic/qa/classes/utils/NamedNode.class differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/classes/utils/XMLMerge.class ---------------------------------------------------------------------- diff --git a/attic/qa/classes/utils/XMLMerge.class b/attic/qa/classes/utils/XMLMerge.class new file mode 100644 index 0000000..5c87f0a Binary files /dev/null and b/attic/qa/classes/utils/XMLMerge.class differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/lib/axis.jar ---------------------------------------------------------------------- diff --git a/attic/qa/lib/axis.jar b/attic/qa/lib/axis.jar new file mode 100644 index 0000000..20b09a5 Binary files /dev/null and b/attic/qa/lib/axis.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/lib/commons-discovery-0.2.jar ---------------------------------------------------------------------- diff --git a/attic/qa/lib/commons-discovery-0.2.jar b/attic/qa/lib/commons-discovery-0.2.jar new file mode 100644 index 0000000..b885548 Binary files /dev/null and b/attic/qa/lib/commons-discovery-0.2.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/lib/commons-httpclient-3.1.jar ---------------------------------------------------------------------- diff --git a/attic/qa/lib/commons-httpclient-3.1.jar b/attic/qa/lib/commons-httpclient-3.1.jar new file mode 100644 index 0000000..7c59774 Binary files /dev/null and b/attic/qa/lib/commons-httpclient-3.1.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/lib/jaxrpc.jar ---------------------------------------------------------------------- diff --git a/attic/qa/lib/jaxrpc.jar b/attic/qa/lib/jaxrpc.jar new file mode 100644 index 0000000..a2c13d9 Binary files /dev/null and b/attic/qa/lib/jaxrpc.jar differ http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/5be16a28/attic/qa/lib/saaj.jar ---------------------------------------------------------------------- diff --git a/attic/qa/lib/saaj.jar b/attic/qa/lib/saaj.jar new file mode 100644 index 0000000..4ea696e Binary files /dev/null and b/attic/qa/lib/saaj.jar differ
