You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2011/04/19 23:45:01 UTC

svn commit: r1095221 [3/3] - in /mina/vysper/trunk: server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/ server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ server/core/src/test/java/org/apache/vysper/xmpp/address...

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/StringPrepViolationException.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/StringPrepViolationException.java?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/StringPrepViolationException.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/addressing/stringprep/StringPrepViolationException.java Tue Apr 19 21:45:00 2011
@@ -1,39 +1,39 @@
-/*
- *  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 org.apache.vysper.xmpp.addressing.stringprep;
-
-import org.apache.vysper.xmpp.addressing.EntityFormatException;
-
-/**
- * @author Gerolf Seitz (gseitz@apache.org)
- *
- */
-public class StringPrepViolationException extends EntityFormatException {
-
-    private static final long serialVersionUID = 1L;
-
-    public StringPrepViolationException() {
-    }
-
-    public StringPrepViolationException(String message) {
-        super(message);
-    }
-
-}
+/*
+ *  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 org.apache.vysper.xmpp.addressing.stringprep;
+
+import org.apache.vysper.xmpp.addressing.EntityFormatException;
+
+/**
+ * @author Gerolf Seitz (gseitz@apache.org)
+ *
+ */
+public class StringPrepViolationException extends EntityFormatException {
+
+    private static final long serialVersionUID = 1L;
+
+    public StringPrepViolationException() {
+    }
+
+    public StringPrepViolationException(String message) {
+        super(message);
+    }
+
+}

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceState.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceState.java?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceState.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceState.java Tue Apr 19 21:45:00 2011
@@ -1,80 +1,80 @@
-/*
- *  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 org.apache.vysper.xmpp.state.resourcebinding;
-
-/**
- * This enumeration represents the status of a bound resource.
- *
- * see http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3921bis-04.html#roster-login
- *
- * @author The Apache MINA Project (dev@mina.apache.org)
- *
- */
-public enum ResourceState {
-    /**
-     * A resource is connected if resource binding was successful.
-     */
-    CONNECTED,
-    /**
-     * A conntected resource has requested the
-     * entity's roster without sending initial presence first
-     */
-    CONNECTED_INTERESTED,
-    /**
-    * A connected resource is considered "available" after successfully sending
-      * its initial presence, it has not requested the roster yet
-      */
-    AVAILABLE,
-    /**
-     * An available resource is considered "interested" after requesting the
-     * entity's roster.
-     */
-    AVAILABLE_INTERESTED,
-    /**
-      * A resource is no longer "available"
-      */
-    UNAVAILABLE;
-
-    public static boolean isInterested(ResourceState resourceState) {
-        return resourceState == CONNECTED_INTERESTED || resourceState == AVAILABLE_INTERESTED;
-    }
-
-    public static boolean isAvailable(ResourceState resourceState) {
-        return resourceState == AVAILABLE || resourceState == AVAILABLE_INTERESTED;
-    }
-
-    /**
-     * depending on the inState, moves the state to AVAILABLE, or directly keeps/promotes to INTERESTED
-     * @param inState the current state you want to change
-     * @return new state
-     */
-    public static ResourceState makeAvailable(ResourceState inState) {
-        if (inState == null || !isInterested(inState))
-            return AVAILABLE;
-        return AVAILABLE_INTERESTED;
-    }
-
-    public static ResourceState makeInterested(ResourceState inState) {
-        if (inState == AVAILABLE)
-            return AVAILABLE_INTERESTED;
-        return CONNECTED_INTERESTED;
-    }
-}
+/*
+ *  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 org.apache.vysper.xmpp.state.resourcebinding;
+
+/**
+ * This enumeration represents the status of a bound resource.
+ *
+ * see http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3921bis-04.html#roster-login
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ *
+ */
+public enum ResourceState {
+    /**
+     * A resource is connected if resource binding was successful.
+     */
+    CONNECTED,
+    /**
+     * A conntected resource has requested the
+     * entity's roster without sending initial presence first
+     */
+    CONNECTED_INTERESTED,
+    /**
+    * A connected resource is considered "available" after successfully sending
+      * its initial presence, it has not requested the roster yet
+      */
+    AVAILABLE,
+    /**
+     * An available resource is considered "interested" after requesting the
+     * entity's roster.
+     */
+    AVAILABLE_INTERESTED,
+    /**
+      * A resource is no longer "available"
+      */
+    UNAVAILABLE;
+
+    public static boolean isInterested(ResourceState resourceState) {
+        return resourceState == CONNECTED_INTERESTED || resourceState == AVAILABLE_INTERESTED;
+    }
+
+    public static boolean isAvailable(ResourceState resourceState) {
+        return resourceState == AVAILABLE || resourceState == AVAILABLE_INTERESTED;
+    }
+
+    /**
+     * depending on the inState, moves the state to AVAILABLE, or directly keeps/promotes to INTERESTED
+     * @param inState the current state you want to change
+     * @return new state
+     */
+    public static ResourceState makeAvailable(ResourceState inState) {
+        if (inState == null || !isInterested(inState))
+            return AVAILABLE;
+        return AVAILABLE_INTERESTED;
+    }
+
+    public static ResourceState makeInterested(ResourceState inState) {
+        if (inState == AVAILABLE)
+            return AVAILABLE_INTERESTED;
+        return CONNECTED_INTERESTED;
+    }
+}

Modified: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityConformanceTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityConformanceTestCase.java?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityConformanceTestCase.java (original)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityConformanceTestCase.java Tue Apr 19 21:45:00 2011
@@ -1,80 +1,80 @@
-/*
- *  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 org.apache.vysper.xmpp.addressing;
-
-import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-import org.apache.vysper.xmpp.addressing.stringprep.StringPrepViolationException;
-
-public class EntityConformanceTestCase extends TestCase {
-
-    public void testCheckRFC3920Conformance() {
-        String error = buildLargeString(1024);
-        String okButOnTheEdge = buildLargeString(1023);
-        runAllChecks(error, "x");
-        runAllChecks(error, okButOnTheEdge);
-    }
-
-    private void runAllChecks(String error, String ok) {
-
-        assertFalse(doCheck(error, ok, ok));
-        assertFalse(doCheck(ok, error, ok));
-        assertFalse(doCheck(ok, ok, error));
-        assertFalse(doCheck(ok, null, ok));
-        assertFalse(doCheck(ok, "", ok));
-
-        assertTrue(doCheck(ok, ok, ok));
-        assertTrue(doCheck(null, ok, null));
-        assertTrue(doCheck(ok, ok, null));
-        assertTrue(doCheck(null, ok, ok));
-        assertTrue(doCheck("", ok, ""));
-        assertTrue(doCheck(ok, ok, ""));
-        assertTrue(doCheck("", ok, ok));
-    }
-
-    private boolean doCheck(String node, String domain, String resource) {
-        return EntityConformance.checkRFC3920Conformance(new EntityImpl(node, domain, resource));
-    }
-
-    private String buildLargeString(int length) {
-        char[] chars = new char[length];
-        Arrays.fill(chars, 'x');
-        return new String(chars);
-    }
-
-    public void testEquals() {
-        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl(null, "vysper.org", ""));
-        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl("", "vysper.org", null));
-        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl("", "vysper.org", ""));
-    }
-
-    public void testPreppedInConstructor() throws EntityFormatException {
-        // a colon may not occur in the node part of the JID
-        try {
-            final EntityImpl testJID = new EntityImpl("contains:colon", "vysper.org", "somebody");
-            fail("expected RuntimeException.StringPrepViolationException");
-        } catch (RuntimeException rte) {
-            assertTrue(rte.getCause() instanceof StringPrepViolationException);
-            // test succeeded!
-        }
-    }
-}
+/*
+ *  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 org.apache.vysper.xmpp.addressing;
+
+import java.util.Arrays;
+
+import junit.framework.TestCase;
+
+import org.apache.vysper.xmpp.addressing.stringprep.StringPrepViolationException;
+
+public class EntityConformanceTestCase extends TestCase {
+
+    public void testCheckRFC3920Conformance() {
+        String error = buildLargeString(1024);
+        String okButOnTheEdge = buildLargeString(1023);
+        runAllChecks(error, "x");
+        runAllChecks(error, okButOnTheEdge);
+    }
+
+    private void runAllChecks(String error, String ok) {
+
+        assertFalse(doCheck(error, ok, ok));
+        assertFalse(doCheck(ok, error, ok));
+        assertFalse(doCheck(ok, ok, error));
+        assertFalse(doCheck(ok, null, ok));
+        assertFalse(doCheck(ok, "", ok));
+
+        assertTrue(doCheck(ok, ok, ok));
+        assertTrue(doCheck(null, ok, null));
+        assertTrue(doCheck(ok, ok, null));
+        assertTrue(doCheck(null, ok, ok));
+        assertTrue(doCheck("", ok, ""));
+        assertTrue(doCheck(ok, ok, ""));
+        assertTrue(doCheck("", ok, ok));
+    }
+
+    private boolean doCheck(String node, String domain, String resource) {
+        return EntityConformance.checkRFC3920Conformance(new EntityImpl(node, domain, resource));
+    }
+
+    private String buildLargeString(int length) {
+        char[] chars = new char[length];
+        Arrays.fill(chars, 'x');
+        return new String(chars);
+    }
+
+    public void testEquals() {
+        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl(null, "vysper.org", ""));
+        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl("", "vysper.org", null));
+        assertEquals(new EntityImpl(null, "vysper.org", null), new EntityImpl("", "vysper.org", ""));
+    }
+
+    public void testPreppedInConstructor() throws EntityFormatException {
+        // a colon may not occur in the node part of the JID
+        try {
+            final EntityImpl testJID = new EntityImpl("contains:colon", "vysper.org", "somebody");
+            fail("expected RuntimeException.StringPrepViolationException");
+        } catch (RuntimeException rte) {
+            assertTrue(rte.getCause() instanceof StringPrepViolationException);
+            // test succeeded!
+        }
+    }
+}

Modified: mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java (original)
+++ mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/addressing/EntityUtilsTestCase.java Tue Apr 19 21:45:00 2011
@@ -1,64 +1,64 @@
-/*
- *  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 org.apache.vysper.xmpp.addressing;
-
-import junit.framework.TestCase;
-
-public class EntityUtilsTestCase extends TestCase {
-
-    private Entity server = EntityImpl.parseUnchecked("vysper.org");
-    
-    public void testIsComponent() {
-        assertAddressingServerComponent("foo.vysper.org");
-        assertAddressingServerComponent("bar@foo.vysper.org");
-        assertAddressingServerComponent("bar@foo.vysper.org/xyz");
-        assertAddressingServerComponent("bar.foo.vysper.org");
-        assertNotAddressingServerComponent("vysper.org");
-        assertNotAddressingServerComponent("foovysper.org");
-        assertNotAddressingServerComponent("foo.org");
-    }
-
-    public void testIsInternal() {
-        assertAddressingServer("vysper.org");
-        assertNotAddressingServer("foo.vysper.org");
-        assertAddressingServer("bar@vysper.org");
-        assertAddressingServer("bar@vysper.org/xyz");
-        assertNotAddressingServer("foovysper.org");
-        assertNotAddressingServer("foo.org");
-    }
-
-    
-    private void assertAddressingServerComponent(String entity) {
-        assertTrue(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
-    }
-
-    private void assertNotAddressingServerComponent(String entity) {
-        assertFalse(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
-    }
-
-    private void assertAddressingServer(String entity) {
-        assertTrue(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
-    }
-
-    private void assertNotAddressingServer(String entity) {
-        assertFalse(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
-    }
-
-}
+/*
+ *  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 org.apache.vysper.xmpp.addressing;
+
+import junit.framework.TestCase;
+
+public class EntityUtilsTestCase extends TestCase {
+
+    private Entity server = EntityImpl.parseUnchecked("vysper.org");
+    
+    public void testIsComponent() {
+        assertAddressingServerComponent("foo.vysper.org");
+        assertAddressingServerComponent("bar@foo.vysper.org");
+        assertAddressingServerComponent("bar@foo.vysper.org/xyz");
+        assertAddressingServerComponent("bar.foo.vysper.org");
+        assertNotAddressingServerComponent("vysper.org");
+        assertNotAddressingServerComponent("foovysper.org");
+        assertNotAddressingServerComponent("foo.org");
+    }
+
+    public void testIsInternal() {
+        assertAddressingServer("vysper.org");
+        assertNotAddressingServer("foo.vysper.org");
+        assertAddressingServer("bar@vysper.org");
+        assertAddressingServer("bar@vysper.org/xyz");
+        assertNotAddressingServer("foovysper.org");
+        assertNotAddressingServer("foo.org");
+    }
+
+    
+    private void assertAddressingServerComponent(String entity) {
+        assertTrue(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
+    }
+
+    private void assertNotAddressingServerComponent(String entity) {
+        assertFalse(EntityUtils.isAddressingServerComponent(EntityImpl.parseUnchecked(entity), server));
+    }
+
+    private void assertAddressingServer(String entity) {
+        assertTrue(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
+    }
+
+    private void assertNotAddressingServer(String entity) {
+        assertFalse(EntityUtils.isAddressingServer(EntityImpl.parseUnchecked(entity), server));
+    }
+
+}

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/checkplayer.js
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/checkplayer.js?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/checkplayer.js (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/checkplayer.js Tue Apr 19 21:45:00 2011
@@ -1,12 +1,12 @@
-/*	CheckPlayer 1.0.2 <http://checkplayer.flensed.com/>
-	Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-
-	====================================================================================================
-	Portions of this code were extracted and/or derived from:
-
-	SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
-	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-*/
+/*	CheckPlayer 1.0.2 <http://checkplayer.flensed.com/>
+	Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+
+	====================================================================================================
+	Portions of this code were extracted and/or derived from:
+
+	SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
+	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+*/
 (function(R){var E=R,V=R.document,N="undefined",G=true,X=false,W="",H="object",O="function",T="string",M="div",D="onunload",J="none",U=null,P=null,I=null,L=null,K="flensed.js",F="checkplayer.js",B="swfobject.js",C=R.setTimeout,A=R.clearTimeout,S=R.setInterval,Q=R.clearInterval;if(typeof R.flensed===N){R.flensed={}}if(typeof R.flensed.checkplayer!==N){return }P=R.flensed;C(function(){var Y=X,i=V.getElementsByTagName("script"),d=i.length;try{P.base_path.toLowerCase();Y=G}catch(b){P.base_path=""}function g(o,n,p){for(var m=0;m<d;m++){if(typeof i[m].src!==N){if(i[m].src.indexOf(o)>=0){break}}}var l=V.createElement("script");l.setAttribute("src",P.base_path+o);if(typeof n!==N){l.setAttribute("type",n)}if(typeof p!==N){l.setAttribute("language",p)}V.getElementsByTagName("head")[0].appendChild(l)}if((typeof i!==N)&&(i!==null)){if(!Y){var j=0;for(var c=0;c<d;c++){if(typeof i[c].src!==N){if(((j=i[c].src.indexOf(K))>=0)||((j=i[c].src.indexOf(F))>=0)){P.base_path=i[c].src.substr(0,j);b
 reak}}}}}try{R.swfobject.getObjectById("a")}catch(h){g(B,"text/javascript")}try{P.ua.pv.join(".")}catch(f){g(K,"text/javascript")}function Z(){A(a);try{E.detachEvent(D,arguments.callee)}catch(k){}}try{E.attachEvent(D,Z)}catch(e){}var a=C(function(){Z();try{R.swfobject.getObjectById("a");P.ua.pv.join(".")}catch(k){throw new R.Error("CheckPlayer dependencies failed to load.")}},20000)},0);P.checkplayer=function(x,AI,o,AB){if(typeof I._ins!==N){if(I._ins.ready()){setTimeout(function(){AI(I._ins)},0)}return I._ins}var a="6.0.65",z=[],i=null,f=X,g=null,AK=null,s=W,d=X,l=null,b=[],r={},AA=[],e=null,AG=null,AF=null,m=null,h=X,AH=null,k=X,t=X,p=X,AE=null;var Z=function(){if((typeof x!==N)&&(x!==null)&&(x!==X)){AG=x+W}else{AG="0.0.0"}if(typeof AI===O){AF=AI}if(typeof o!==N){h=!(!o)}if(typeof AB===O){m=AB}function AM(){A(g);try{E.detachEvent(D,AM)}catch(AP){}}try{E.attachEvent(D,AM)}catch(AN){}(function AO(){try{P.bindEvent(E,D,y)}catch(AP){g=C(arguments.callee,25);return }AM();AH=P.u
 a.pv.join(".");g=C(AD,1)})()}();function AD(){try{e=V.getElementsByTagName("body")[0]}catch(AN){}if((typeof e===N)||(e===null)){g=C(AD,25);return }try{R.swfobject.getObjectById("a");L=R.swfobject}catch(AM){g=C(AD,25);return }t=L.hasFlashPlayerVersion(a);k=L.hasFlashPlayerVersion(AG);AJ();if(typeof AF===O){AF(j)}d=G;if(k){u()}else{if(h&&!f){v()}}}function y(){if(typeof E.detachEvent!==N){E.detachEvent(D,y)}I._ins=null;if((typeof l!==N)&&(l!==null)){try{l.updateSWFCallback=null;AC=null}catch(AP){}l=null}try{for(var AO in j){if(j[AO]!==Object.prototype[AO]){try{j[AO]=null}catch(AN){}}}}catch(AM){}j=null;e=null;Y();AA=null;AF=null;m=null;try{for(var AS in I){if(I[AS]!==Object.prototype[AS]){try{I[AS]=null}catch(AR){}}}}catch(AQ){}I=null;P.checkplayer=null;P=null;R=null}function AL(AN,AO,AM){AA[AA.length]={func:AN,funcName:AO,args:AM}}function u(){if(!d){i=C(u,25);return }var AO=0;try{AO=AA.length}catch(AP){}for(var AN=0;AN<AO;AN++){try{AA[AN].func.apply(j,AA[AN].args);AA[AN]=X}c
 atch(AM){k=X;AJ();if(typeof AF===O){AF(j)}else{throw new R.Error("checkplayer::"+AA[AN].funcName+"() call failed.")}}}AA=null}function Y(){A(g);g=null;A(i);i=null;for(var AN in r){if(r[AN]!==Object.prototype[AN]){Q(r[AN]);r[AN]=X}}for(var AM in z){if(z[AM]!==Object.prototype[AM]){A(z[AM]);z[AM]=X}}}function AJ(){try{j.playerVersionDetected=AH;j.checkPassed=k;j.updateable=t;j.updateStatus=p;j.updateControlsContainer=AE}catch(AM){}}function n(AS,AN){var AP=AN?"visible":"hidden";var AR=P.getObjectById(AS);try{if(AR!==null&&(typeof AR.style!==N)&&(AR.style!==null)){AR.style.visibility=AP}else{try{P.createCSS("#"+AS,"visibility:"+AP)}catch(AQ){}}}catch(AO){try{P.createCSS("#"+AS,"visibility:"+AP)}catch(AM){}}}function v(){var AR=e;if((typeof AR===N)||(AR===null)){z[z.length]=C(v,25);return }try{L.getObjectById("a")}catch(AQ){z[z.length]=C(v,25);return }if(!f){f=G;Y();if(t){s="CheckPlayerUpdate";AK=s+"SWF";P.createCSS("#"+s,"width:221px;height:145px;position:absolute;left:5px;top:
 5px;border:none;background-color:#000000;display:block;");P.createCSS("#"+AK,"display:inline;position:absolute;left:1px;top:1px;");AE=V.createElement(M);AE.id=s;AR.appendChild(AE);n(AE.id,X);AJ();var AT=null;try{AT=E.top.location.toString()}catch(AM){AT=E.location.toString()}var AO={swfId:AK,MMredirectURL:AT.replace(/&/g,"%26"),MMplayerType:(P.ua.ie&&P.ua.win?"ActiveX":"PlugIn"),MMdoctitle:V.title.slice(0,47)+" - Flash Player Installation"};var AS={allowScriptAccess:"always"};var AP={id:AK,name:AK};try{q(P.base_path+"updateplayer.swf",{appendToId:s},"219","143",AO,AS,AP,{swfTimeout:3000,swfCB:c},G)}catch(AN){w();return }}else{w()}}}function w(AM){if(typeof AM===N){AM="Flash Player not detected or not updateable."}p=I.UPDATE_FAILED;AJ();if(typeof m===O){m(j)}else{throw new R.Error("checkplayer::UpdatePlayer(): "+AM)}}function c(AM){if(AM.status===I.SWF_LOADED){A(r["continueUpdate_"+AK]);r["continueUpdate_"+AK]=X;l=AM.srcElem;l.updateSWFCallback=AC;p=I.UPDATE_INIT;AJ();if(type
 of m===O){m(j)}n(AE.id,G)}else{if(AM.status===I.SWF_FAILED||AM.status===I.SWF_TIMEOUT){w()}}}function AC(AN){try{if(AN===0){p=I.UPDATE_SUCCESSFUL;AE.style.display=J;try{E.open(W,"_self",W);E.close();R.self.opener=E;R.self.close()}catch(AO){}}else{if(AN===1){p=I.UPDATE_CANCELED;AE.style.display=J}else{if(AN===2){AE.style.display=J;w("The Flash Player update failed.");return }else{if(AN===3){AE.style.display=J;w("The Flash Player update timed out.");return }}}}}catch(AM){}AJ();if(typeof m===O){m(j)}}function q(Af,AS,AU,AN,AP,AR,AW,Ad,Ab){if(AS!==null&&(typeof AS===T||typeof AS.replaceId===T)){n(((typeof AS===T)?AS:AS.replaceId),X)}if(!d&&!Ab){AL(q,"DoSWF",arguments);return }if(k||Ab){AU+=W;AN+=W;var AZ=(typeof AW===H)?AW:{};AZ.data=Af;AZ.width=AU;AZ.height=AN;var AY=(typeof AR===H)?AR:{};if(typeof AP===H){for(var Ac in AP){if(AP[Ac]!==Object.prototype[Ac]){if(typeof AY.flashvars!==N){AY.flashvars+="&"+Ac+"="+AP[Ac]}else{AY.flashvars=Ac+"="+AP[Ac]}}}}var Ae=null;if(typeof AW.id
 !==N){Ae=AW.id}else{if(AS!==null&&(typeof AS===T||typeof AS.replaceId===T)){Ae=((typeof AS===T)?AS:AS.replaceId)}else{Ae="swf_"+b.length}}var Ag=null;if(AS===null||AS===X||typeof AS.appendToId===T){var AO=null;if(AS!==null&&AS!==X&&typeof AS.appendToId===T){AO=P.getObjectById(AS.appendToId)}else{AO=e}var AT=V.createElement(M);Ag=(AT.id=Ae);AO.appendChild(AT)}else{Ag=((typeof AS.replaceId===T)?AS.replaceId:AS)}var AX=function(){},Aa=0,AM=W,AV=null;if(typeof Ad!==N&&Ad!==null){if(typeof Ad===H){if(typeof Ad.swfCB!==N&&Ad.swfCB!==null){AX=Ad.swfCB}if(typeof Ad.swfTimeout!==N&&(R.parseInt(Ad.swfTimeout,10)>0)){Aa=Ad.swfTimeout}if(typeof Ad.swfEICheck!==N&&Ad.swfEICheck!==null&&Ad.swfEICheck!==W){AM=Ad.swfEICheck}}else{if(typeof Ad===O){AX=Ad}}}try{AV=L.createSWF(AZ,AY,Ag)}catch(AQ){}if(AV!==null){b[b.length]=Ae;if(typeof AX===O){AX({status:I.SWF_INIT,srcId:Ae,srcElem:AV});r[Ae]=S(function(){var Ai=P.getObjectById(Ae);if((typeof Ai!==N)&&(Ai!==null)&&(Ai.nodeName==="OBJECT"||Ai.n
 odeName==="EMBED")){var Ah=0;try{Ah=Ai.PercentLoaded()}catch(Aj){}if(Ah>0){if(Aa>0){A(r["DoSWFtimeout_"+Ae]);r["DoSWFtimeout_"+Ae]=X}if(Ah<100){C(function(){AX({status:I.SWF_LOADING,srcId:Ae,srcElem:Ai})},1)}else{Q(r[Ae]);r[Ae]=X;C(function(){AX({status:I.SWF_LOADED,srcId:Ae,srcElem:Ai})},1);if(AM!==W){var Ak=X;r[Ae]=S(function(){if(!Ak&&typeof Ai[AM]===O){Ak=G;try{Ai[AM]();Q(r[Ae]);r[Ae]=X;AX({status:I.SWF_EI_READY,srcId:Ae,srcElem:Ai})}catch(Al){}Ak=X}},25)}}}}},50);if(Aa>0){r["DoSWFtimeout_"+Ae]=C(function(){var Ai=P.getObjectById(Ae);if((typeof Ai!==N)&&(Ai!==null)&&(Ai.nodeName==="OBJECT"||Ai.nodeName==="EMBED")){var Ah=0;try{Ah=Ai.PercentLoaded()}catch(Aj){}if(Ah<=0){Q(r[Ae]);r[Ae]=X;if(P.ua.ie&&P.ua.win&&Ai.readyState!==4){Ai.id="removeSWF_"+Ai.id;Ai.style.display=J;r[Ai.id]=S(function(){if(Ai.readyState===4){Q(r[Ai.id]);r[Ai.id]=X;L.removeSWF(Ai.id)}},500)}else{L.removeSWF(Ai.id)}r[Ae]=X;r["DoSWFtimeout_"+Ae]=X;AX({status:I.SWF_TIMEOUT,srcId:Ae,srcElem:Ai})}}},Aa)}}}
 else{if(typeof AX===O){AX({status:I.SWF_FAILED,srcId:Ae,srcElem:null})}else{throw new R.Error("checkplayer::DoSWF(): SWF could not be loaded.")}}}else{if(typeof AX===O){AX({status:I.SWF_FAILED,srcId:Ae,srcElem:null})}else{throw new R.Error("checkplayer::DoSWF(): Minimum Flash Version not detected.")}}}var j={playerVersionDetected:AH,versionChecked:AG,checkPassed:k,UpdatePlayer:v,DoSWF:function(AR,AS,AP,AQ,AN,AM,AO,AT){q(AR,AS,AP,AQ,AN,AM,AO,AT,X)},ready:function(){return d},updateable:t,updateStatus:p,updateControlsContainer:AE};I._ins=j;return j};I=P.checkplayer;I.UPDATE_INIT=1;I.UPDATE_SUCCESSFUL=2;I.UPDATE_CANCELED=3;I.UPDATE_FAILED=4;I.SWF_INIT=5;I.SWF_LOADING=6;I.SWF_LOADED=7;I.SWF_FAILED=8;I.SWF_TIMEOUT=9;I.SWF_EI_READY=10;I.module_ready=function(){}})(window);
\ No newline at end of file

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flCookie.js
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flCookie.js?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flCookie.js (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flCookie.js Tue Apr 19 21:45:00 2011
@@ -1,7 +1,7 @@
-/*	flCookie 0.1 <http://flcookie.flensed.com/>
-	Copyright (c) 2009 Kyle Simpson, Getify Solutions, Inc.
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-
-	====================================================================================================
-*/
+/*	flCookie 0.1 <http://flcookie.flensed.com/>
+	Copyright (c) 2009 Kyle Simpson, Getify Solutions, Inc.
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+
+	====================================================================================================
+*/
 (function(r){var x=r,n=r.document,v=true,o=false,b="",w="undefined",l="object",p="function",m="string",t="div",f="onunload",z=null,y=0,q=null,j=null,u=null,a="text/javascript",i="flCookie.js",k="flensed.js",d="checkplayer.js",g="flCookie.swf",h=i,e=r.parseInt,s=r.setTimeout,c=r.clearTimeout;if(typeof r.flensed===w){r.flensed={}}if(typeof r.flensed.flCookie!==w){return}q=r.flensed;s(function(){var A=o,L=n.getElementsByTagName("script"),P=n.getElementsByTagName("head")[0],F=L.length;try{q.base_path.toLowerCase();A=v}catch(D){q.base_path=b}function J(T,S){for(var R=0;R<F;R++){if(typeof L[R].src!==w){if(L[R].src.indexOf(T)>=0){break}}}var Q=n.createElement("script");Q.setAttribute("src",q.base_path+T);if(typeof S!==w){Q.setAttribute("type",S)}P.appendChild(Q)}if((typeof L!==w)&&(L!==null)){if(!A){var M=0;for(var E=0;E<F;E++){if(typeof L[E].src!==w){if(((M=L[E].src.indexOf(k))>=0)||((M=L[E].src.indexOf(i))>=0)){q.base_path=L[E].src.substr(0,M);break}}}}}try{q.checkplayer.module_r
 eady()}catch(K){J(d,a)}J(k,a);var N=null;(function O(){try{q.ua.pv.join(".")}catch(Q){N=s(arguments.callee,25);return}q.bindEvent(x,f,function(){try{r.flensed.unbindEvent(x,f,arguments.callee);for(var T in _flcookie){if(_flcookie.hasOwnProperty(T)){try{_flcookie[T]=null}catch(S){}}}q.flCookie=_flcookie=q=u=j=null}catch(R){}})})();function I(){c(N);try{x.detachEvent(f,I)}catch(Q){}}if(N!==null){try{x.attachEvent(f,I)}catch(H){}}var C=null;function B(){c(C);try{x.detachEvent(f,B)}catch(Q){}}try{x.attachEvent(f,B)}catch(G){}C=s(function(){B();try{q.checkplayer.module_ready()}catch(Q){throw new r.Error("flCookie dependencies failed to load.")}},20000)},0);q.flCookie=function(B,af,S,ab){if(typeof B===m){if(B.length>0&&B.charAt(B.length-1)!=="/"){B+="/"}}else{B=b}if(typeof af!==m){af=b}if(typeof S!==p){S=function(){}}var R=++y,N,G=null,L,P="flCookieHideSwf",K=o,A=o,J=o,V=b,D,I=n.getElementsByTagName("body"),W=o,Y=null,F="flCookie_swf";var aa=function(){V=F+"_"+R;function ag(){c(L)
 ;try{x.detachEvent(f,ag)}catch(aj){}}try{x.attachEvent(f,ag)}catch(ah){}(function ai(){try{q.bindEvent(x,f,O)}catch(aj){L=s(arguments.callee,25);return}ag();L=s(X,1)})()}();function X(){if(Y===null){G=I[0]}else{G=q.getObjectById(Y)}try{G.nodeName.toLowerCase();q.checkplayer.module_ready();j=q.checkplayer}catch(ah){L=s(X,25);return}q.bindEvent(x,f,O);j=q.checkplayer;if((u===null)&&(typeof j._ins===w)){try{u=new j(_flcookie.MIN_PLAYER_VERSION,T,o,Z)}catch(ag){U(_flcookie.DEPENDENCY_ERROR,"flCookie: checkplayer Init Failed","The initialization of the 'checkplayer' library failed to complete.");return}}else{u=j._ins;ad()}}function ad(){if(K===null&&Y===null){q.createCSS("."+P,"left:-1px;top:0px;width:1px;height:1px;position:absolute;");K=v}var ak=n.createElement(t);ak.id=V;ak.className=P;G.appendChild(ak);G=null;var ah={},al={allowScriptAccess:"always"},ai={id:V,name:V,styleclass:P},aj={swfCB:M,swfEICheck:"setId"};try{u.DoSWF(B+g,V,"1","1",ah,al,ai,aj)}catch(ag){U(_flcookie.DEPE
 NDENCY_ERROR,"flCookie: checkplayer Call Failed","A call to the 'checkplayer' library failed to complete.");return}}function T(ag){if(ag.checkPassed){ad()}else{if(!W){U(_flcookie.PLAYER_VERSION_ERROR,"flCookie: Insufficient Flash Player Version","The Flash Player was either not detected, or the detected version ("+ag.playerVersionDetected+") was not at least the minimum version ("+_flcookie.MIN_PLAYER_VERSION+") needed by the 'flCookie' library.")}else{u.UpdatePlayer()}}}function Z(ag){if(ag.updateStatus===j.UPDATE_CANCELED){U(_flcookie.PLAYER_VERSION_ERROR,"flCookie: Flash Player Update Canceled","The Flash Player was not updated.")}else{if(ag.updateStatus===j.UPDATE_FAILED){U(_flcookie.PLAYER_VERSION_ERROR,"flCookie: Flash Player Update Failed","The Flash Player was either not detected or could not be updated.")}}}function M(ag){if(ag.status!==j.SWF_EI_READY){return}ae();D=q.getObjectById(V);D.setId(V);D.doOnError=U;D.doOnReady=Q;D.initCookie(af)}function ac(ag){A=v;s(func
 tion(){try{S(N)}catch(ah){U(_flcookie.HANDLER_ERROR,"flCookie::readyCallback(): Error","An error occurred in the handler function. ("+ah.message+")");return}},0)}function O(){try{r.flensed.unbindEvent(x,f,O)}catch(aj){}try{for(var ai in N){if(N.hasOwnProperty(ai)){try{N[ai]=null}catch(ah){}}}}catch(am){}N=null;ae();if((typeof D!==w)&&(D!==null)){try{D.doOnError=null;doOnError=null}catch(al){}try{D.doOnReady=null;doOnReady=null}catch(ak){}D=null;try{r.swfobject.removeSWF(V)}catch(ag){}}S=null;ab=null}function Q(){if(!A&&!J){ac()}}function U(){ae();J=v;var aj;try{aj=new q.error(arguments[0],arguments[1],arguments[2],N)}catch(ak){function ah(){this.number=0;this.name="flCookie Error: Unknown";this.description="Unknown error from 'flCookie' library.";this.message=this.description;this.srcElement=N;var ao=this.number,an=this.name,aq=this.description;function ap(){return ao+", "+an+", "+aq}this.toString=ap}aj=new ah()}var al=o;try{if(typeof ab===p){ab(aj);al=v}}catch(ag){var ai=aj
 .toString();function am(){this.number=_flcookie.HANDLER_ERROR;this.name="flCookie::errorCallback(): Error";this.description="An error occured in the handler function. ("+ag.message+")\nPrevious:["+ai+"]";this.message=this.description;this.srcElement=N;var ao=this.number,an=this.name,aq=this.description;function ap(){return ao+", "+an+", "+aq}this.toString=ap}aj=new am()}if(!al){SETTIMEOUT(function(){q.throwUnhandledError(aj.toString())},1)}}function ae(){c(L);L=null}function E(ah){if(!J){if(typeof ah!==m||ah.length<1){return null}var ag=new Date().getTime(),ak,ai;try{ak=D.getValue(ah)}catch(aj){U(_flcookie.CALL_ERROR,"flCookie::getValue(): Failed","The getValue() call failed to complete.");return null}if(ak!==null){ak=ak.match(/^([^\;]+);(.*)/m);if(ak.length!==3||(ak[1]!=="."&&ag>=e(ak[1]))){H(ah);return null}return ak[2]}else{return null}}else{return null}}function C(ah,aj,ag){if(!J){if(typeof ah!==m||ah.length<1||typeof aj!==m||aj.length<1){return null}if(typeof ag!==w){if
 (typeof ag!==m){ag=b+ag}if(ag!=="."&&ag.match(/[^0-9]/g)){ag=Date.parse(ag)}else{if(ag===b){ag="."}}}else{ag="."}try{return D.setValue(ah,ag+";"+aj)}catch(ai){U(_flcookie.IO_ERROR,"flCookie::setValue(): Failed","The setValue() call failed to complete.");return o}}else{return o}}function H(ag){if(!J){if(typeof ag!==m||ag.length<1){return o}try{return D.deleteValue(ag)}catch(ah){U(_flcookie.IO_ERROR,"flCookie::deleteValue(): Failed","The deleteValue() call failed to complete.");return o}}else{return o}}N={instanceId:V,ready:function(){return A},getValue:E,setValue:C,deleteValue:H,Destroy:O};return N};_flcookie=q.flCookie;_flcookie.HANDLER_ERROR=10;_flcookie.CALL_ERROR=11;_flcookie.DEPENDENCY_ERROR=13;_flcookie.PLAYER_VERSION_ERROR=14;_flcookie.SECURITY_ERROR=15;_flcookie.IO_ERROR=16;_flcookie.MIN_PLAYER_VERSION="9";_flcookie.module_ready=function(){}})(window);
\ No newline at end of file

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.js
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.js?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.js (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.js Tue Apr 19 21:45:00 2011
@@ -1,2 +1,2 @@
-/*	flXHR 1.0.5 <http://flxhr.flensed.com/> | Copyright (c) 2008-2010 Kyle Simpson, Getify Solutions, Inc. | This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> */
+/*	flXHR 1.0.5 <http://flxhr.flensed.com/> | Copyright (c) 2008-2010 Kyle Simpson, Getify Solutions, Inc. | This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> */
 (function(c){var E=c,h=c.document,z="undefined",a=true,L=false,g="",o="object",k="function",N="string",l="div",e="onunload",H=null,y=null,K=null,q=null,x=0,i=[],m=null,r=null,G="flXHR.js",n="flensed.js",P="flXHR.vbs",j="checkplayer.js",A="flXHR.swf",u=c.parseInt,w=c.setTimeout,f=c.clearTimeout,s=c.setInterval,v=c.clearInterval,O="instanceId",J="readyState",D="onreadystatechange",M="ontimeout",C="onerror",d="binaryResponseBody",F="xmlResponseText",I="loadPolicyURL",b="noCacheHeader",p="sendTimeout",B="appendToId",t="swfIdPrefix";if(typeof c.flensed===z){c.flensed={}}if(typeof c.flensed.flXHR!==z){return}y=c.flensed;w(function(){var Q=L,ab=h.getElementsByTagName("script"),V=ab.length;try{y.base_path.toLowerCase();Q=a}catch(T){y.base_path=g}function Z(ai,ah,aj){for(var ag=0;ag<V;ag++){if(typeof ab[ag].src!==z){if(ab[ag].src.indexOf(ai)>=0){break}}}var af=h.createElement("script");af.setAttribute("src",y.base_path+ai);if(typeof ah!==z){af.setAttribute("type",ah)}if(typeof aj!==z
 ){af.setAttribute("language",aj)}h.getElementsByTagName("head")[0].appendChild(af)}if((typeof ab!==z)&&(ab!==null)){if(!Q){var ac=0;for(var U=0;U<V;U++){if(typeof ab[U].src!==z){if(((ac=ab[U].src.indexOf(n))>=0)||((ac=ab[U].src.indexOf(G))>=0)){y.base_path=ab[U].src.substr(0,ac);break}}}}}try{y.checkplayer.module_ready()}catch(aa){Z(j,"text/javascript")}var ad=null;(function ae(){try{y.ua.pv.join(".")}catch(af){ad=w(arguments.callee,25);return}if(y.ua.win&&y.ua.ie){Z(P,"text/vbscript","vbscript")}y.binaryToString=function(aj,ai){ai=(((y.ua.win&&y.ua.ie)&&typeof ai!==z)?(!(!ai)):!(y.ua.win&&y.ua.ie));if(!ai){try{return flXHR_vb_BinaryToString(aj)}catch(al){}}var am=g,ah=[];try{for(var ak=0;ak<aj.length;ak++){ah[ah.length]=String.fromCharCode(aj[ak])}am=ah.join(g)}catch(ag){}return am};y.bindEvent(E,e,function(){try{c.flensed.unbindEvent(E,e,arguments.callee);for(var ai in r){if(r[ai]!==Object.prototype[ai]){try{r[ai]=null}catch(ah){}}}y.flXHR=null;r=null;y=null;q=null;K=null}
 catch(ag){}})})();function Y(){f(ad);try{E.detachEvent(e,Y)}catch(af){}}if(ad!==null){try{E.attachEvent(e,Y)}catch(X){}}var S=null;function R(){f(S);try{E.detachEvent(e,R)}catch(af){}}try{E.attachEvent(e,R)}catch(W){}S=w(function(){R();try{y.checkplayer.module_ready()}catch(af){throw new c.Error("flXHR dependencies failed to load.")}},20000)},0);y.flXHR=function(aR){var ab=L;if(aR!==null&&typeof aR===o){if(typeof aR.instancePooling!==z){ab=!(!aR.instancePooling);if(ab){var aG=function(){for(var a0=0;a0<i.length;a0++){var a1=i[a0];if(a1[J]===4){a1.Reset();a1.Configure(aR);return a1}}return null}();if(aG!==null){return aG}}}}var aW=++x,ai=[],af=null,ah=null,X=null,Y=null,aM=-1,aF=0,aa=null,ac=null,ao=null,aE=null,aw=null,aV=null,ak=null,Q=null,aL=null,Z=a,aB=L,aY="flXHR_"+aW,au=a,aC=L,aA=a,aJ=L,S="flXHR_swf",ae="flXHRhideSwf",V=null,aH=-1,T=g,aK=null,aD=null,aO=null;var U=function(){if(typeof aR===o&&aR!==null){if((typeof aR[O]!==z)&&(aR[O]!==null)&&(aR[O]!==g)){aY=aR[O]}if((t
 ypeof aR[t]!==z)&&(aR[t]!==null)&&(aR[t]!==g)){S=aR[t]}if((typeof aR[B]!==z)&&(aR[B]!==null)&&(aR[B]!==g)){V=aR[B]}if((typeof aR[I]!==z)&&(aR[I]!==null)&&(aR[I]!==g)){T=aR[I]}if(typeof aR[b]!==z){au=!(!aR[b])}if(typeof aR[d]!==z){aC=!(!aR[d])}if(typeof aR[F]!==z){aA=!(!aR[F])}if(typeof aR.autoUpdatePlayer!==z){aJ=!(!aR.autoUpdatePlayer)}if((typeof aR[p]!==z)&&((H=u(aR[p],10))>0)){aH=H}if((typeof aR[D]!==z)&&(aR[D]!==null)){aK=aR[D]}if((typeof aR[C]!==z)&&(aR[C]!==null)){aD=aR[C]}if((typeof aR[M]!==z)&&(aR[M]!==null)){aO=aR[M]}}Y=S+"_"+aW;function a0(){f(af);try{E.detachEvent(e,a0)}catch(a3){}}try{E.attachEvent(e,a0)}catch(a1){}(function a2(){try{y.bindEvent(E,e,aI)}catch(a3){af=w(arguments.callee,25);return}a0();af=w(aT,1)})()}();function aT(){if(V===null){Q=h.getElementsByTagName("body")[0]}else{Q=y.getObjectById(V)}try{Q.nodeName.toLowerCase();y.checkplayer.module_ready();K=y.checkplayer}catch(a1){af=w(aT,25);return}if((q===null)&&(typeof K._ins===z)){try{q=new K(r.MIN_PLA
 YER_VERSION,aU,L,aq)}catch(a0){aP(r.DEPENDENCY_ERROR,"flXHR: checkplayer Init Failed","The initialization of the 'checkplayer' library failed to complete.");return}}else{q=K._ins;ag()}}function ag(){if(q===null||!q.checkPassed){af=w(ag,25);return}if(m===null&&V===null){y.createCSS("."+ae,"left:-1px;top:0px;width:1px;height:1px;position:absolute;");m=a}var a4=h.createElement(l);a4.id=Y;a4.className=ae;Q.appendChild(a4);Q=null;var a1={},a5={allowScriptAccess:"always"},a2={id:Y,name:Y,styleclass:ae},a3={swfCB:aS,swfEICheck:"reset"};try{q.DoSWF(y.base_path+A,Y,"1","1",a1,a5,a2,a3)}catch(a0){aP(r.DEPENDENCY_ERROR,"flXHR: checkplayer Call Failed","A call to the 'checkplayer' library failed to complete.");return}}function aS(a0){if(a0.status!==K.SWF_EI_READY){return}R();aV=y.getObjectById(Y);aV.setId(Y);if(T!==g){aV.loadPolicy(T)}aV.autoNoCacheHeader(au);aV.returnBinaryResponseBody(aC);aV.doOnReadyStateChange=al;aV.doOnError=aP;aV.sendProcessed=ap;aV.chunkResponse=ay;aM=0;ax();aX()
 ;if(typeof aK===k){try{aK(ak)}catch(a1){aP(r.HANDLER_ERROR,"flXHR::onreadystatechange(): Error","An error occurred in the handler function. ("+a1.message+")");return}}at()}function aI(){try{c.flensed.unbindEvent(E,e,aI)}catch(a3){}try{for(var a4=0;a4<i.length;a4++){if(i[a4]===ak){i[a4]=L}}}catch(bb){}try{for(var a6 in ak){if(ak[a6]!==Object.prototype[a6]){try{ak[a6]=null}catch(ba){}}}}catch(a9){}ak=null;R();if((typeof aV!==z)&&(aV!==null)){try{aV.abort()}catch(a8){}try{aV.doOnReadyStateChange=null;al=null}catch(a7){}try{aV.doOnError=null;doOnError=null}catch(a5){}try{aV.sendProcessed=null;ap=null}catch(a2){}try{aV.chunkResponse=null;ay=null}catch(a1){}aV=null;try{c.swfobject.removeSWF(Y)}catch(a0){}}aQ();aK=null;aD=null;aO=null;ao=null;aa=null;aL=null;Q=null}function ay(){if(aC&&typeof arguments[0]!==z){aL=((aL!==null)?aL:[]);aL=aL.concat(arguments[0])}else{if(typeof arguments[0]===N){aL=((aL!==null)?aL:g);aL+=arguments[0]}}}function al(){if(typeof arguments[0]!==z){aM=argum
 ents[0]}if(aM===4){R();if(aC&&aL!==null){try{ac=y.binaryToString(aL,a);try{aa=flXHR_vb_StringToBinary(ac)}catch(a2){aa=aL}}catch(a1){}}else{ac=aL}aL=null;if(ac!==g){if(aA){try{ao=y.parseXMLString(ac)}catch(a0){ao={}}}}}if(typeof arguments[1]!==z){aE=arguments[1]}if(typeof arguments[2]!==z){aw=arguments[2]}ad(aM)}function ad(a0){aF=a0;ax();aX();ak[J]=Math.max(0,a0);if(typeof aK===k){try{aK(ak)}catch(a1){aP(r.HANDLER_ERROR,"flXHR::onreadystatechange(): Error","An error occurred in the handler function. ("+a1.message+")");return}}}function aP(){R();aQ();aB=a;var a3;try{a3=new y.error(arguments[0],arguments[1],arguments[2],ak)}catch(a4){function a1(){this.number=0;this.name="flXHR Error: Unknown";this.description="Unknown error from 'flXHR' library.";this.message=this.description;this.srcElement=ak;var a8=this.number,a7=this.name,ba=this.description;function a9(){return a8+", "+a7+", "+ba}this.toString=a9}a3=new a1()}var a5=L;try{if(typeof aD===k){aD(a3);a5=a}}catch(a0){var a2=a
 3.toString();function a6(){this.number=r.HANDLER_ERROR;this.name="flXHR::onerror(): Error";this.description="An error occured in the handler function. ("+a0.message+")\nPrevious:["+a2+"]";this.message=this.description;this.srcElement=ak;var a8=this.number,a7=this.name,ba=this.description;function a9(){return a8+", "+a7+", "+ba}this.toString=a9}a3=new a6()}if(!a5){w(function(){y.throwUnhandledError(a3.toString())},1)}}function W(){am();aB=a;if(typeof aO===k){try{aO(ak)}catch(a0){aP(r.HANDLER_ERROR,"flXHR::ontimeout(): Error","An error occurred in the handler function. ("+a0.message+")");return}}else{aP(r.TIMEOUT_ERROR,"flXHR: Operation Timed out","The requested operation timed out.")}}function R(){f(af);af=null;f(X);X=null;f(ah);ah=null}function aZ(a1,a2,a0){ai[ai.length]={func:a1,funcName:a2,args:a0};Z=L}function aQ(){if(!Z){Z=a;var a1=ai.length;for(var a0=0;a0<a1;a0++){try{ai[a0]=L}catch(a2){}}ai=[]}}function at(){if(aM<0){ah=w(at,25);return}if(!Z){for(var a0=0;a0<ai.length
 ;a0++){try{if(ai[a0]!==L){ai[a0].func.apply(ak,ai[a0].args);ai[a0]=L}}catch(a1){aP(r.HANDLER_ERROR,"flXHR::"+ai[a0].funcName+"(): Error","An error occurred in the "+ai[a0].funcName+"() function.");return}}Z=a}}function aX(){try{ak[O]=aY;ak[J]=aF;ak.status=aE;ak.statusText=aw;ak.responseText=ac;ak.responseXML=ao;ak.responseBody=aa;ak[D]=aK;ak[C]=aD;ak[M]=aO;ak[I]=T;ak[b]=au;ak[d]=aC;ak[F]=aA}catch(a0){}}function ax(){try{aY=ak[O];if(ak.timeout!==null&&(H=u(ak.timeout,10))>0){aH=H}aK=ak[D];aD=ak[C];aO=ak[M];if(ak[I]!==null){if((ak[I]!==T)&&(aM>=0)){aV.loadPolicy(ak[I])}T=ak[I]}if(ak[b]!==null){if((ak[b]!==au)&&(aM>=0)){aV.autoNoCacheHeader(ak[b])}au=ak[b]}if(ak[d]!==null){if((ak[d]!==aC)&&(aM>=0)){aV.returnBinaryResponseBody(ak[d])}aC=ak[d]}if(aA!==null){aA=!(!ak[F])}}catch(a0){}}function aN(){am();try{aV.reset()}catch(a0){}aE=null;aw=null;ac=null;ao=null;aa=null;aL=null;aB=L;aX();T=g;ax()}function aU(a0){if(a0.checkPassed){ag()}else{if(!aJ){aP(r.PLAYER_VERSION_ERROR,"flXHR: I
 nsufficient Flash Player Version","The Flash Player was either not detected, or the detected version ("+a0.playerVersionDetected+") was not at least the minimum version ("+r.MIN_PLAYER_VERSION+") needed by the 'flXHR' library.")}else{q.UpdatePlayer()}}}function aq(a0){if(a0.updateStatus===K.UPDATE_CANCELED){aP(r.PLAYER_VERSION_ERROR,"flXHR: Flash Player Update Canceled","The Flash Player was not updated.")}else{if(a0.updateStatus===K.UPDATE_FAILED){aP(r.PLAYER_VERSION_ERROR,"flXHR: Flash Player Update Failed","The Flash Player was either not detected or could not be updated.")}}}function ap(){if(aH!==null&&aH>0){X=w(W,aH)}}function am(){R();aQ();ax();aM=0;aF=0;try{aV.abort()}catch(a0){aP(r.CALL_ERROR,"flXHR::abort(): Failed","The abort() call failed to complete.")}aX()}function av(){ax();if(typeof arguments[0]===z||typeof arguments[1]===z){aP(r.CALL_ERROR,"flXHR::open(): Failed","The open() call requires 'method' and 'url' parameters.")}else{if(aM>0||aB){aN()}if(aF===0){al(1
 )}else{aM=1}var a7=arguments[0],a6=arguments[1],a5=(typeof arguments[2]!==z)?arguments[2]:a,ba=(typeof arguments[3]!==z)?arguments[3]:g,a9=(typeof arguments[4]!==z)?arguments[4]:g;try{aV.autoNoCacheHeader(au);aV.open(a7,a6,a5,ba,a9)}catch(a8){aP(r.CALL_ERROR,"flXHR::open(): Failed","The open() call failed to complete.")}}}function az(){ax();if(aM<=1&&!aB){var a1=(typeof arguments[0]!==z)?arguments[0]:g;if(aF===1){al(2)}else{aM=2}try{aV.autoNoCacheHeader(au);aV.send(a1)}catch(a2){aP(r.CALL_ERROR,"flXHR::send(): Failed","The send() call failed to complete.")}}else{aP(r.CALL_ERROR,"flXHR::send(): Failed","The send() call cannot be made at this time.")}}function aj(){ax();if(typeof arguments[0]===z||typeof arguments[1]===z){aP(r.CALL_ERROR,"flXHR::setRequestHeader(): Failed","The setRequestHeader() call requires 'name' and 'value' parameters.")}else{if(!aB){var a3=(typeof arguments[0]!==z)?arguments[0]:g,a2=(typeof arguments[1]!==z)?arguments[1]:g;try{aV.setRequestHeader(a3,a2)}
 catch(a4){aP(r.CALL_ERROR,"flXHR::setRequestHeader(): Failed","The setRequestHeader() call failed to complete.")}}}}function an(){ax();return g}function ar(){ax();return[]}ak={readyState:aF,responseBody:aa,responseText:ac,responseXML:ao,status:aE,statusText:aw,timeout:aH,open:function(){ax();if(ak[J]===0){ad(1)}if(!Z||aM<0){aZ(av,"open",arguments);return}av.apply({},arguments)},send:function(){ax();if(ak[J]===1){ad(2)}if(!Z||aM<0){aZ(az,"send",arguments);return}az.apply({},arguments)},abort:am,setRequestHeader:function(){ax();if(!Z||aM<0){aZ(aj,"setRequestHeader",arguments);return}aj.apply({},arguments)},getResponseHeader:an,getAllResponseHeaders:ar,onreadystatechange:aK,ontimeout:aO,instanceId:aY,loadPolicyURL:T,noCacheHeader:au,binaryResponseBody:aC,xmlResponseText:aA,onerror:aD,Configure:function(a0){if(typeof a0===o&&a0!==null){if((typeof a0[O]!==z)&&(a0[O]!==null)&&(a0[O]!==g)){aY=a0[O]}if(typeof a0[b]!==z){au=!(!a0[b]);if(aM>=0){aV.autoNoCacheHeader(au)}}if(typeof a0[d
 ]!==z){aC=!(!a0[d]);if(aM>=0){aV.returnBinaryResponseBody(aC)}}if(typeof a0[F]!==z){aA=!(!a0[F])}if((typeof a0[D]!==z)&&(a0[D]!==null)){aK=a0[D]}if((typeof a0[C]!==z)&&(a0[C]!==null)){aD=a0[C]}if((typeof a0[M]!==z)&&(a0[M]!==null)){aO=a0[M]}if((typeof a0[p]!==z)&&((H=u(a0[p],10))>0)){aH=H}if((typeof a0[I]!==z)&&(a0[I]!==null)&&(a0[I]!==g)&&(a0[I]!==T)){T=a0[I];if(aM>=0){aV.loadPolicy(T)}}aX()}},Reset:aN,Destroy:aI};if(ab){i[i.length]=ak}return ak};r=y.flXHR;r.HANDLER_ERROR=10;r.CALL_ERROR=11;r.TIMEOUT_ERROR=12;r.DEPENDENCY_ERROR=13;r.PLAYER_VERSION_ERROR=14;r.SECURITY_ERROR=15;r.COMMUNICATION_ERROR=16;r.MIN_PLAYER_VERSION="9.0.124";r.module_ready=function(){}})(window);
\ No newline at end of file

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.vbs
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.vbs?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.vbs (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flXHR.vbs Tue Apr 19 21:45:00 2011
@@ -1,44 +1,44 @@
-'	flXHR 1.0.5 (VB Binary Helpers) <http://flxhr.flensed.com/>
-'	Copyright (c) 2008-2010 Kyle Simpson, Getify Solutions, Inc.
-'	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-'
-'	====================================================================================================
-
-Function flXHR_vb_BinaryToString(obj)
-  Dim I,S
-  Dim J
-  For I = 1 to LenB(obj)
-    J = AscB(MidB(obj,I,1))
-    If J = 0 Then
-      S = S & ""
-    Else
-      S = S & Chr(J)
-    End If
-  Next
-  flXHR_vb_BinaryToString = S
-End Function
-
-Function flXHR_vb_SizeOfBytes(obj)
-  Dim I
-  I = LenB(obj)
-  flXHR_vb_SizeOfBytes = I
-End Function
-
-Function flXHR_vb_StringToBinary(str)
-    dim binobj
-    dim ahex(),oparser,oelem
-    redim ahex(len(str)-1)
-    for i=0 to len(str)-1
-        ahex(i)=right("00" & hex(asc(mid(str,i+1,1))),2)
-    next
-    set oparser=createobject("msxml2.domdocument")
-    with oparser
-        set oelem=.createElement("x")
-        oelem.datatype="bin.hex"
-        oelem.text=join(ahex,"")
-        binobj=oelem.nodetypedvalue
-    end with
-    set oelem=nothing
-    set oparser=nothing
-    flXHR_vb_StringToBinary=binobj
-End Function
+'	flXHR 1.0.5 (VB Binary Helpers) <http://flxhr.flensed.com/>
+'	Copyright (c) 2008-2010 Kyle Simpson, Getify Solutions, Inc.
+'	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+'
+'	====================================================================================================
+
+Function flXHR_vb_BinaryToString(obj)
+  Dim I,S
+  Dim J
+  For I = 1 to LenB(obj)
+    J = AscB(MidB(obj,I,1))
+    If J = 0 Then
+      S = S & ""
+    Else
+      S = S & Chr(J)
+    End If
+  Next
+  flXHR_vb_BinaryToString = S
+End Function
+
+Function flXHR_vb_SizeOfBytes(obj)
+  Dim I
+  I = LenB(obj)
+  flXHR_vb_SizeOfBytes = I
+End Function
+
+Function flXHR_vb_StringToBinary(str)
+    dim binobj
+    dim ahex(),oparser,oelem
+    redim ahex(len(str)-1)
+    for i=0 to len(str)-1
+        ahex(i)=right("00" & hex(asc(mid(str,i+1,1))),2)
+    next
+    set oparser=createobject("msxml2.domdocument")
+    with oparser
+        set oelem=.createElement("x")
+        oelem.datatype="bin.hex"
+        oelem.text=join(ahex,"")
+        binobj=oelem.nodetypedvalue
+    end with
+    set oelem=nothing
+    set oparser=nothing
+    flXHR_vb_StringToBinary=binobj
+End Function

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flensed.js
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flensed.js?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flensed.js (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/flensed.js Tue Apr 19 21:45:00 2011
@@ -1,12 +1,12 @@
-/*	flensedCore 1.0 <http://www.flensed.com/>
-	Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-
-	====================================================================================================
-	Portions of this code were extracted and/or derived from:
-
-	SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
-	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-*/
-(function(B){var H=B,L=B.document,N="undefined",M=true,C=false,E="",F="object",D="string",G=null,J=null,I=null,K=B.parseInt,A=B.setTimeout;if(typeof B.flensed===N){B.flensed={}}else{if(typeof B.flensed.ua!==N){return}}G=B.flensed;A(function(){var P="flensed.js",U=C,R=L.getElementsByTagName("script"),T=R.length;try{G.base_path.toLowerCase();U=M}catch(S){G.base_path=E}if((typeof R!==N)&&(R!==null)){if(!U){var O=0;for(var Q=0;Q<T;Q++){if(typeof R[Q].src!==N){if((O=R[Q].src.indexOf(P))>=0){G.base_path=R[Q].src.substr(0,O);break}}}}}},0);G.parseXMLString=function(P){var O=null;if(H.ActiveXObject){O=new B.ActiveXObject("Microsoft.XMLDOM");O.async=C;O.loadXML(P)}else{var Q=new B.DOMParser();O=Q.parseFromString(P,"text/xml")}return O};G.getObjectById=function(O){try{if(L.layers){return L.layers[O]}else{if(L.all){return L.all[O]}else{if(L.getElementById){return L.getElementById(O)}}}}catch(P){}return null};G.createCSS=function(T,P,U,S){if(G.ua.ie&&G.ua.mac){return}var R=L.getElements
 ByTagName("head")[0];if(!R){return}var O=(U&&typeof U===D)?U:"screen";if(S){J=null;I=null}if(!J||I!==O){var Q=L.createElement("style");Q.setAttribute("type","text/css");Q.setAttribute("media",O);J=R.appendChild(Q);if(G.ua.ie&&G.ua.win&&typeof L.styleSheets!==N&&L.styleSheets.length>0){J=L.styleSheets[L.styleSheets.length-1]}I=O}if(G.ua.ie&&G.ua.win){if(J&&typeof J.addRule===F){J.addRule(T,P)}}else{if(J&&typeof L.createTextNode!==N){J.appendChild(L.createTextNode(T+" {"+P+"}"))}}};G.bindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.addEventListener!==N){R.addEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.attachEvent!==N){R.attachEvent(O,Q)}}}catch(P){}};G.unbindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.removeEventListener!==N){R.removeEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.detachEvent!==N){R.detachEvent(O,Q)}}}catch(P){}};G.throwUnhandledError=function(O){throw new B.Error(O)};G.error=function(R,P,Q,O){return{number:R,name:P,des
 cription:Q,message:Q,srcElement:O,toString:function(){return R+", "+P+", "+Q}}};G.ua=function(){var U="Shockwave Flash",O="ShockwaveFlash.ShockwaveFlash",Y="application/x-shockwave-flash",P=B.navigator,V=typeof L.getElementById!==N&&typeof L.getElementsByTagName!==N&&typeof L.createElement!==N,f=[0,0,0],X=null;if(typeof P.plugins!==N&&typeof P.plugins[U]===F){X=P.plugins[U].description;if(X&&!(typeof P.mimeTypes!==N&&P.mimeTypes[Y]&&!P.mimeTypes[Y].enabledPlugin)){X=X.replace(/^.*\s+(\S+\s+\S+$)/,"$1");f[0]=K(X.replace(/^(.*)\..*$/,"$1"),10);f[1]=K(X.replace(/^.*\.(.*)\s.*$/,"$1"),10);f[2]=/r/.test(X)?K(X.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof H.ActiveXObject!==N){try{var Z=new B.ActiveXObject(O);if(Z){X=Z.GetVariable("$version");if(X){X=X.split(" ")[1].split(",");f=[K(X[0],10),K(X[1],10),K(X[2],10)]}}}catch(T){}}}var e=P.userAgent.toLowerCase(),S=P.platform.toLowerCase(),c=/webkit/.test(e)?parseFloat(e.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):C,Q=C,R=0,b=S?/win
 /.test(S):/win/.test(e),W=S?/mac/.test(S):/mac/.test(e);/*@cc_on Q=M;try{R=K(e.match(/msie (\d+)/)[1],10);}catch(e2){}@if(@_win32)b=M;@elif(@_mac)W=M;@end @*/return{w3cdom:V,pv:f,webkit:c,ie:Q,ieVer:R,win:b,mac:W}}()})(window);
+/*	flensedCore 1.0 <http://www.flensed.com/>
+	Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+
+	====================================================================================================
+	Portions of this code were extracted and/or derived from:
+
+	SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
+	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+*/
+(function(B){var H=B,L=B.document,N="undefined",M=true,C=false,E="",F="object",D="string",G=null,J=null,I=null,K=B.parseInt,A=B.setTimeout;if(typeof B.flensed===N){B.flensed={}}else{if(typeof B.flensed.ua!==N){return}}G=B.flensed;A(function(){var P="flensed.js",U=C,R=L.getElementsByTagName("script"),T=R.length;try{G.base_path.toLowerCase();U=M}catch(S){G.base_path=E}if((typeof R!==N)&&(R!==null)){if(!U){var O=0;for(var Q=0;Q<T;Q++){if(typeof R[Q].src!==N){if((O=R[Q].src.indexOf(P))>=0){G.base_path=R[Q].src.substr(0,O);break}}}}}},0);G.parseXMLString=function(P){var O=null;if(H.ActiveXObject){O=new B.ActiveXObject("Microsoft.XMLDOM");O.async=C;O.loadXML(P)}else{var Q=new B.DOMParser();O=Q.parseFromString(P,"text/xml")}return O};G.getObjectById=function(O){try{if(L.layers){return L.layers[O]}else{if(L.all){return L.all[O]}else{if(L.getElementById){return L.getElementById(O)}}}}catch(P){}return null};G.createCSS=function(T,P,U,S){if(G.ua.ie&&G.ua.mac){return}var R=L.getElements
 ByTagName("head")[0];if(!R){return}var O=(U&&typeof U===D)?U:"screen";if(S){J=null;I=null}if(!J||I!==O){var Q=L.createElement("style");Q.setAttribute("type","text/css");Q.setAttribute("media",O);J=R.appendChild(Q);if(G.ua.ie&&G.ua.win&&typeof L.styleSheets!==N&&L.styleSheets.length>0){J=L.styleSheets[L.styleSheets.length-1]}I=O}if(G.ua.ie&&G.ua.win){if(J&&typeof J.addRule===F){J.addRule(T,P)}}else{if(J&&typeof L.createTextNode!==N){J.appendChild(L.createTextNode(T+" {"+P+"}"))}}};G.bindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.addEventListener!==N){R.addEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.attachEvent!==N){R.attachEvent(O,Q)}}}catch(P){}};G.unbindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.removeEventListener!==N){R.removeEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.detachEvent!==N){R.detachEvent(O,Q)}}}catch(P){}};G.throwUnhandledError=function(O){throw new B.Error(O)};G.error=function(R,P,Q,O){return{number:R,name:P,des
 cription:Q,message:Q,srcElement:O,toString:function(){return R+", "+P+", "+Q}}};G.ua=function(){var U="Shockwave Flash",O="ShockwaveFlash.ShockwaveFlash",Y="application/x-shockwave-flash",P=B.navigator,V=typeof L.getElementById!==N&&typeof L.getElementsByTagName!==N&&typeof L.createElement!==N,f=[0,0,0],X=null;if(typeof P.plugins!==N&&typeof P.plugins[U]===F){X=P.plugins[U].description;if(X&&!(typeof P.mimeTypes!==N&&P.mimeTypes[Y]&&!P.mimeTypes[Y].enabledPlugin)){X=X.replace(/^.*\s+(\S+\s+\S+$)/,"$1");f[0]=K(X.replace(/^(.*)\..*$/,"$1"),10);f[1]=K(X.replace(/^.*\.(.*)\s.*$/,"$1"),10);f[2]=/r/.test(X)?K(X.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof H.ActiveXObject!==N){try{var Z=new B.ActiveXObject(O);if(Z){X=Z.GetVariable("$version");if(X){X=X.split(" ")[1].split(",");f=[K(X[0],10),K(X[1],10),K(X[2],10)]}}}catch(T){}}}var e=P.userAgent.toLowerCase(),S=P.platform.toLowerCase(),c=/webkit/.test(e)?parseFloat(e.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):C,Q=C,R=0,b=S?/win
 /.test(S):/win/.test(e),W=S?/mac/.test(S):/mac/.test(e);/*@cc_on Q=M;try{R=K(e.match(/msie (\d+)/)[1],10);}catch(e2){}@if(@_win32)b=M;@elif(@_mac)W=M;@end @*/return{w3cdom:V,pv:f,webkit:c,ie:Q,ieVer:R,win:b,mac:W}}()})(window);

Modified: mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/swfobject.js
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/swfobject.js?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/swfobject.js (original)
+++ mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/examples/resources/flxhr/swfobject.js Tue Apr 19 21:45:00 2011
@@ -1,5 +1,5 @@
-/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
-	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
-	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
-*/
+/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
+	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+*/
 var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(
 !AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.i
 e&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagNa
 me(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="n
 one";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+="
  "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toL
 owerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","t
 ext/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom
 ){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){i
 f(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
\ No newline at end of file

Modified: mina/vysper/trunk/speccompliance/src/main/java/org/apache/vysper/compliance/SpecCompliant.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/speccompliance/src/main/java/org/apache/vysper/compliance/SpecCompliant.java?rev=1095221&r1=1095220&r2=1095221&view=diff
==============================================================================
--- mina/vysper/trunk/speccompliance/src/main/java/org/apache/vysper/compliance/SpecCompliant.java (original)
+++ mina/vysper/trunk/speccompliance/src/main/java/org/apache/vysper/compliance/SpecCompliant.java Tue Apr 19 21:45:00 2011
@@ -1,86 +1,86 @@
-/*
- *  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 org.apache.vysper.compliance;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * This annotation is used to mark methods, types or packages that implement a
- * specific RFC or a section of an RFC. Use the <code>status</code> parameter
- * to specify the compliance level.
- * 
- * @author The Apache MINA Project (dev@mina.apache.org)
- * 
- */
-@Documented
-@Target( { ElementType.METHOD, ElementType.TYPE, ElementType.FIELD })
-@Retention(RetentionPolicy.SOURCE)
-public @interface SpecCompliant {
-    public enum ComplianceStatus {
-        NOT_STARTED, IN_PROGRESS, FINISHED
-    }
-
-    public enum ComplianceCoverage {
-        UNKNOWN, UNSUPPORTED, // the spec is not supported
-        PARTIAL, // spec is partially covered 
-        COMPLETE
-        // spec is completely covered
-    }
-
-    /**
-     * References a RFC or XEP specification document.
-     * 
-     * @return the RFC or XEP 
-     */
-    String spec();
-
-    /**
-     * References the section in the specificiation document the target implements.
-     * 
-     * @return the section/appendix number or an empty {@link String} in case
-     *         the entire RFC is implemented by the target
-     */
-    String section() default "";
-
-    /**
-     * Specifies the status of the RFC compliance.
-     * 
-     * @return the compliance status
-     */
-    ComplianceStatus status() default ComplianceStatus.IN_PROGRESS;
-
-    /**
-     * Specifies the level of coverage for the referenced spec/section. If known, the referenced spec extract
-     * can be covered fully or partially. In the latter case, other code might reference other parts of the the
-     * same extract. 
-     * @return coverage level
-     */
-    ComplianceCoverage coverage() default ComplianceCoverage.UNKNOWN;
-
-    /**
-     * short text being more specific on coverage and other implementational aspects 
-     */
-    String comment() default "";
-}
+/*
+ *  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 org.apache.vysper.compliance;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * This annotation is used to mark methods, types or packages that implement a
+ * specific RFC or a section of an RFC. Use the <code>status</code> parameter
+ * to specify the compliance level.
+ * 
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * 
+ */
+@Documented
+@Target( { ElementType.METHOD, ElementType.TYPE, ElementType.FIELD })
+@Retention(RetentionPolicy.SOURCE)
+public @interface SpecCompliant {
+    public enum ComplianceStatus {
+        NOT_STARTED, IN_PROGRESS, FINISHED
+    }
+
+    public enum ComplianceCoverage {
+        UNKNOWN, UNSUPPORTED, // the spec is not supported
+        PARTIAL, // spec is partially covered 
+        COMPLETE
+        // spec is completely covered
+    }
+
+    /**
+     * References a RFC or XEP specification document.
+     * 
+     * @return the RFC or XEP 
+     */
+    String spec();
+
+    /**
+     * References the section in the specificiation document the target implements.
+     * 
+     * @return the section/appendix number or an empty {@link String} in case
+     *         the entire RFC is implemented by the target
+     */
+    String section() default "";
+
+    /**
+     * Specifies the status of the RFC compliance.
+     * 
+     * @return the compliance status
+     */
+    ComplianceStatus status() default ComplianceStatus.IN_PROGRESS;
+
+    /**
+     * Specifies the level of coverage for the referenced spec/section. If known, the referenced spec extract
+     * can be covered fully or partially. In the latter case, other code might reference other parts of the the
+     * same extract. 
+     * @return coverage level
+     */
+    ComplianceCoverage coverage() default ComplianceCoverage.UNKNOWN;
+
+    /**
+     * short text being more specific on coverage and other implementational aspects 
+     */
+    String comment() default "";
+}