From af27811a75e394e6beaaeb96fe5e3a7ce99b7905 Mon Sep 17 00:00:00 2001
From: "Hiram R. Chirino"
Date: Tue, 8 Apr 2008 16:28:08 +0000
Subject: [PATCH] Merged in the rest of djencks's release changes from the 4.1
branch
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@645991 13f79535-47bb-0310-9956-ffa450edef68
---
KEYS | 110 +
LICENSE | 807 ++++++
LICENSE.txt | 203 --
NOTICE | 44 +
NOTICE.txt | 4 -
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-core/pom.xml | 11 +-
.../discovery/rendezvous/JmDNSFactory.java | 3 +-
.../rendezvous/RendezvousDiscoveryAgent.java | 8 +-
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-jmdns_1.0/pom.xml | 30 +
.../org/apache/activemq/jmdns/DNSCache.java | 257 ++
.../apache/activemq/jmdns/DNSConstants.java | 125 +
.../org/apache/activemq/jmdns/DNSEntry.java | 148 +
.../apache/activemq/jmdns/DNSIncoming.java | 466 +++
.../apache/activemq/jmdns/DNSListener.java | 24 +
.../apache/activemq/jmdns/DNSOutgoing.java | 381 +++
.../apache/activemq/jmdns/DNSQuestion.java | 44 +
.../org/apache/activemq/jmdns/DNSRecord.java | 673 +++++
.../org/apache/activemq/jmdns/DNSState.java | 111 +
.../org/apache/activemq/jmdns/HostInfo.java | 138 +
.../java/org/apache/activemq/jmdns/JmDNS.java | 2559 +++++++++++++++++
.../apache/activemq/jmdns/ServiceEvent.java | 99 +
.../apache/activemq/jmdns/ServiceInfo.java | 659 +++++
.../activemq/jmdns/ServiceListener.java | 42 +
.../activemq/jmdns/ServiceTypeListener.java | 24 +
.../src/main/resources/META-INF/NOTICE | 17 +
.../src/main/resources/META-INF/README.txt | 117 +
activemq-openwire-generator/pom.xml | 11 +
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-ra/pom.xml | 6 +-
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-rar/pom.xml | 14 +-
.../src/main/rar/META-INF/LICENSE | 51 +-
.../src/main/rar/META-INF/LICENSE.txt | 203 --
.../main/rar/META-INF/{NOTICE.txt => NOTICE} | 16 +-
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../maven-activemq-memtest-plugin/pom.xml | 103 +-
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../src/main/resources/META-INF/NOTICE.txt | 12 -
.../maven-activemq-plugin/pom.xml | 82 +-
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-web-console/pom.xml | 7 +-
.../webapp/META-INF/{LICENSE.txt => LICENSE} | 1097 +++----
.../src/main/webapp/META-INF/NOTICE | 59 +-
.../src/main/webapp/META-INF/LICENSE | 337 +--
.../src/main/webapp/META-INF/LICENSE.txt | 1221 --------
.../src/main/webapp/META-INF/NOTICE | 40 +-
.../main/appended-resources/META-INF/LICENSE | 57 +
.../main/appended-resources/META-INF/NOTICE | 27 +
.../src/main/resources/META-INF/LICENSE.txt | 595 ----
.../src/main/resources/META-INF/NOTICE.txt | 12 -
activemq-xmpp/pom.xml | 50 +-
.../main/appended-resources/META-INF/LICENSE | 64 +
.../main/appended-resources/META-INF/NOTICE | 12 +
.../src/main/resources/META-INF/NOTICE.txt | 22 -
assembly/pom.xml | 20 +-
assembly/src/main/descriptors/unix-bin.xml | 2 +-
assembly/src/main/descriptors/windows-bin.xml | 2 +-
.../src/main/resources/META-INF/LICENSE.txt | 203 --
.../src/main/resources/META-INF/NOTICE.txt | 12 -
assembly/src/release/LICENSE.txt | 959 +-----
assembly/src/release/NOTICE.txt | 53 +-
pom.xml | 26 +-
77 files changed, 8165 insertions(+), 6273 deletions(-)
create mode 100755 LICENSE
delete mode 100755 LICENSE.txt
create mode 100644 NOTICE
delete mode 100644 NOTICE.txt
delete mode 100755 activemq-console/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-console/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-core/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-core/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-jaas/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-jaas/src/main/resources/META-INF/NOTICE.txt
create mode 100644 activemq-jmdns_1.0/pom.xml
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSCache.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSConstants.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSEntry.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSIncoming.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSListener.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSOutgoing.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSQuestion.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSRecord.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSState.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/HostInfo.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/JmDNS.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceEvent.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceInfo.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceListener.java
create mode 100644 activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceTypeListener.java
create mode 100644 activemq-jmdns_1.0/src/main/resources/META-INF/NOTICE
create mode 100644 activemq-jmdns_1.0/src/main/resources/META-INF/README.txt
delete mode 100755 activemq-openwire-generator/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-openwire-generator/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-optional/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-optional/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-perftest/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-perftest/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-ra/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-ra/src/main/resources/META-INF/NOTICE.txt
rename activemq-xmpp/src/main/resources/META-INF/LICENSE.txt => activemq-rar/src/main/rar/META-INF/LICENSE (83%)
mode change 100755 => 100644
delete mode 100644 activemq-rar/src/main/rar/META-INF/LICENSE.txt
rename activemq-rar/src/main/rar/META-INF/{NOTICE.txt => NOTICE} (72%)
delete mode 100755 activemq-soaktest/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-soaktest/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 activemq-systest/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-systest/src/main/resources/META-INF/NOTICE.txt
delete mode 100644 activemq-tooling/maven-activemq-memtest-plugin/src/main/resources/META-INF/NOTICE.txt
delete mode 100644 activemq-tooling/maven-activemq-perf-plugin/src/main/resources/META-INF/NOTICE.txt
delete mode 100644 activemq-tooling/maven-activemq-plugin/src/main/resources/META-INF/NOTICE.txt
rename activemq-web-console/src/main/webapp/META-INF/{LICENSE.txt => LICENSE} (67%)
rename activemq-web-demo/src/main/webapp/META-INF/NOTICE.txt => activemq-web-console/src/main/webapp/META-INF/NOTICE (54%)
rename activemq-web-console/LICENSE.txt => activemq-web-demo/src/main/webapp/META-INF/LICENSE (59%)
mode change 100755 => 100644
delete mode 100644 activemq-web-demo/src/main/webapp/META-INF/LICENSE.txt
rename activemq-web-console/src/main/webapp/META-INF/NOTICE.txt => activemq-web-demo/src/main/webapp/META-INF/NOTICE (61%)
create mode 100644 activemq-web/src/main/appended-resources/META-INF/LICENSE
create mode 100644 activemq-web/src/main/appended-resources/META-INF/NOTICE
delete mode 100755 activemq-web/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 activemq-web/src/main/resources/META-INF/NOTICE.txt
create mode 100644 activemq-xmpp/src/main/appended-resources/META-INF/LICENSE
create mode 100644 activemq-xmpp/src/main/appended-resources/META-INF/NOTICE
delete mode 100644 activemq-xmpp/src/main/resources/META-INF/NOTICE.txt
delete mode 100755 assembly/src/main/resources/META-INF/LICENSE.txt
delete mode 100644 assembly/src/main/resources/META-INF/NOTICE.txt
diff --git a/KEYS b/KEYS
index cbc3ae093c..0116a5466a 100644
--- a/KEYS
+++ b/KEYS
@@ -28,3 +28,113 @@ D4i7/aD1r8qJhohGBBgRAgAGBQJD7KUuAAoJEJ/yWYD1un5Pth0An0QEUs5cxpl8
zL5kZCj7c8MN8YZDAKDR9LTb6woveul50+uGtUl2fIH1uA==
=RBPl
-----END PGP PUBLIC KEY BLOCK-----
+
+pub 1024D/56F3E01B 2007-08-01
+ Key fingerprint = A48F ADE5 4FA5 6B93 FE66 EC17 A05E BEE6 56F3 E01B
+uid David Jencks (geronimo)
+sig 3 56F3E01B 2007-08-01 David Jencks (geronimo)
+sub 2048g/4E525FE0 2007-08-01
+sig 56F3E01B 2007-08-01 David Jencks (geronimo)
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.7 (Darwin)
+
+mQGiBEawPygRBADKQe8iEQdS45n4jbSopR4XfDOLEVcxHHZBHrdj357vAZvSdgYI
+U738HNAX5INMHub1+pv/B2DpUkfmnnfRENGBeSYWtl6XsKZYRjodR2muI33daUYj
+lRqvxrY0ZSgmSbKlcQHAP8jMAtmPi+EG8tDcufLXSELtoLT6KTMJ183vgwCgxXgM
+xUYSo5JTdoKl426Ix9MzMjcEAKBlHorZ39y8kt+YtCaqoJdmTAqXb1YF/lSX08++
+knpPmxyjFaCZZGXaFLhRN9ru5+pTvebwjERm+/m+bObXWtWhovS3NOquykpKNJr8
+gDvo/B8ony4IlDwozDlsaa+yNx7TpkoAZ43wVh15L6Jn2j+LD4C91yFUC9EB4E5Z
+gQMuBACMD+Pf6TsT26ObkKG8aaNvk9nmPCbIhVSERWB8A/4+yloJEeskbU2HPOZL
+/74Ap5c9KWxMgajDqK/OJ7AS3ioM3emk7nAiWQ4GJfjA9eQq5DwK7zmDIBXH90wR
+sFW6YXXoJe0YdFnp0iUUg+77K+Jndmew0S0orfjUI+PPIYl4GbQwRGF2aWQgSmVu
+Y2tzIChnZXJvbmltbykgPGRhdmlkX2plbmNrc0B5YWhvby5jb20+iGAEExECACAF
+AkawPygCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCgXr7mVvPgG3GRAJ9R
+HPXrbn4pG4/1T0L0x6OaKMOlAgCfXVpywuj+t4AmBBUMtDYLCX5nFxi5Ag0ERrA/
+KBAIAJjFzBHoHeZxj22hxzdwVS0uI3GGizrANwL6HAf+EaVLvwOFmNiUjeg757z3
+XsM/mLVABc6TueB4PPjVJTYlSrBvgsAbIYtcC0BPyZ0hDRDJPj5sj2kgq8mxZjWY
+D8ZrEzxqVmQ94uL5uHfsVdMPubtaJvDRHMr8vagETlNgMQsUvHtILEwRQagOwtUi
+Un/PnItw99DJTVADvS/N+1Yk0Wxf+/BCuafECgSl3w1/vsA23yLAAEdBLhERpWql
+BRteCug1vkA8BQtstdW0GwXZ6k0jXTkG27sCtImQklvWWFYFQtRSWutLdvQRdjkj
+jJucEgEh1nxmj6tbGkwizmd1+9MAAwYH/iQ8GcbnFJc5KdLBd1BkmGglcFeGDHC7
+0BDZdpXuCKQqSe9IG/i2DMdg6b2T+dsyejdBVzAe7mmVp2yXwZ21e2+YllfrD2kO
+0YgCkAEf+WMN2ABv+VHSN+XfUjiNHvWDXUvbq4Ul5xlQ3Nj8d5NdiXEabd6QuVD7
+DduGMZPmreosqdjLODRuifRdC5RXyGzoM4CghibNIHtDqDAsFxaOgON8nP7yooo8
+D3AnYprsWRTKV88YlULxpnPXwNZuMnsIiwstZinLdCUs9laZx+UC/FaD3CMV720x
+ZDfHJ2hMS+MqGU8A7Cpu4qXEDfB4Py9D1DJe/v3mML/TX94gklTw2ZGISQQYEQIA
+CQUCRrA/KAIbDAAKCRCgXr7mVvPgGxy3AKCwWsjL+86/X9NhVkCATFmxRR97EQCe
+N7cG7JasIe/XD/3vwMpY6s1HQ9+ZAaIERGuO4BEEAKof0LWrTOJcizRIQPWm/HaF
+OEIkuk8AuLoC4O2bPO7x1cxPdeUKNvy9gGvsmxJUBFic3dTUhJAB3QW5FFUzXjLc
+GIjTV0fnsQBHJNdFUTEE8r+EBlvsgOYxDsuMYgeRNlLji6Th3H5dGd02+ze7vq6P
+E2VZNUvs/h2ZqHmKM6lrAKDX9aZpCuE/DUUep5c6DKSGtdimlQQAjNl/K60zbL8V
+cnq2hznzfdCrgItzocwGoxGs/6l8kI9POUqChDRAtXjhgPWfpkLz6nYf7hd3GUgh
+TmlZ7y0ivzMXraa6rmmFgBL7yRGiqSoCtOGSnsKyR76JkrTCcWHSXrmYTxDJ2Lou
+wtGEDqbPcnK+LYQoO/LzLwV3HGKJFNwEAKXFRwmd74QIazMNtgZVppJWSQepK+ay
+l01AF9Gs9dk/ZSdq8fxWmPFpnifNTUarW2HxmCft15fFuuQaVhJPbDiNuXtbNUfo
+5gS912pg8slG/633eDa7lRJ8IpCBFDQUMbKC6PQYGt8SOzWKoUFuHlI9WaGTsjwE
+zXqPEeNea5BYtDZEYXZpZCBNLiBKb2huc29uIChEYXZlIEpvaG5zb24pIDxzbm9v
+cGRhdmVAYXBhY2hlLm9yZz6IXgQTEQIAHgUCRGuO4AIbAwYLCQgHAwIDFQIDAxYC
+AQIeAQIXgAAKCRDS475zRW3+qT4cAJ4szy1AZSHZiuj2cIzGpCNkF56TqACfWtoI
+PBSi4LwRhekMmM+EtKE8IJi5Ag0ERGuPARAIANRyV+xiYHZ4U0Emquc0Q8EXaAKs
+YJ9ZxRjUr7XRyLYFfSSPzPJSEZeCMLk88+FvjBEVffkHSZHSCiQnd6JZ22N41SfL
+tj5f1B1NBE2+4oB81K2sqMzMX/RD6DdgL2Qff6Tp1Y2+zlZzjl+RJRSFuADyOX1X
+e+f6Ika/fR+gpiYqwWwIQKH82omD1kGdZZhwP7/eELOpN525NJlVeGTOUQbhVS87
+EG+U1o+cCk4RfoupNQw9HeLXvS50MmMldMLEParcJofJ7g/2YKxKfg3qyTbc9HsR
+kwaktxah/3D6nKy1RNZyK5Kjn7Ql+F+8j+M503ZFCVgotUa/0oRgteR2IlMAAwYI
+AJZCNAAoylWbJPaDd9CxRY13GDv/a/p3kgf1pTrkqtBFnMhnrExvb/aEwxFYa+be
+VXZiU+tPknNYTn14xG2CXw7CWy/Ua5P0Y/SgioBmyciPVcsx/9WzPpeHrDLRrcB/
+4lbp7yR9nIvP9EZ9EZcwvhD2jwPxtqnPkpbM7mpyVdz4ghkYyw3TuA0NsUcTE8YA
+foYvDMISbtU6Cjh/njEdNH3MxA0NAQXC8bGCzGehiEOD9iXQoJ1rjdAUPNOP8nry
+YLjqXHMMNcv7tLMPaJHd3UDRpUzrKtyeNQ47ywDwfNL6w1jLv+vZbaTZPIRs9WrW
+vNUfgJUVh+OmVCGgfIL9noOISQQYEQIACQUCRGuPAQIbDAAKCRDS475zRW3+qYLc
+AJ9cedvS6uxGo16+cqYaN9V4lhRn1ACeMjIZjW/rhCjwaKL9PITjPSt2k2GZAaIE
+Q55JXxEEAMvNaI5I+tdfXeKsJdPjaXpwWPhyorbUrTbJlYZAp+sUu06uuvtfM3/c
+rRqYUpPgK6sEPHffKTZA+Vku7+F7U/vJoQJEvrtR6jK5zkom25n9PopoiefFhXM3
+Rp0dy6GzDY15RccGBZM6YSVgkshizGbYvknzp2MB/M46VKOGim1rAKD8FiC1vZaI
+WfoWYu7kBzbS575OdwP/Z0nTDgLl0iTrRZK+qAzRO5o3a7eW+8RYoLD3gv0/5WcN
+IfrvYd4UuMOcRzRJv3mRSEXWEIATMRJfPyDxoHO8CYclem5fX3CmJsI5zA4WiTt4
+Cig45Uoy44CDl3dCsZyEQQVqBnhU58uAdm+yIkto6BVFJid5UXUgjvFFONKvpAUD
+/1Yv8HauQLLd3yycusPm5ryTlubEAgdVn3N1tMVt3bhOxtvA65KOgmB/teKHs08+
+xlJxDgIVFK+15ABJ1UiWIe/Yl38USFVRL9OGrWmqqgG7pgZFQr4EvMmpavK9ivsL
+GneKBVWu7kvCI9zJP5WtRRbJTRXtdIEnaRQXXhG1bMz3tCREYXZpZCBKb2huc29u
+IDxzbm9vcGRhdmVAYXBhY2hlLm9yZz6IRQQQEQIABgUCRYWJ+QAKCRATLknU5B7c
+fmAHAJiCBzQ/q1vgg2gPwC2e+zI24wemAJ9HBRpfjI4eIIlyaz7tUCN4aO/804hG
+BBARAgAGBQJEe8ToAAoJEAEFZrzkE2OSCKkAn0GIpUl/zmjn6l1f9p5qNOXzG0wQ
+AJ4nQco6HKNaEn/g0kl3fQvNhWQpRIhGBBARAgAGBQJFLyxiAAoJEFuWgBDgT5qJ
+8LwAn3EBUDHcxfXNL0OXuY8hTntwZ+y+AJ9/Klov0NSFpbtbKhoZahoUmz705ohG
+BBARAgAGBQJFMJiLAAoJEA3wdF2rgh+8JioAmwW7sg/VB45nI0CJK0WCVBzcqJ2B
+AJ9nt04X9kH49HkwTVFTWhR2odn3TYhGBBARAgAGBQJFNCP6AAoJEF5FJs6Zkq38
+bUAAoIprJiO1GTFLq+EoClM/KAn28jWzAKDhTNUkiQmS7E7azLWFNP/O1tKvSohG
+BBARAgAGBQJFNDBAAAoJEJksQ/1feJipsnQAni8HC3R8n1Y9D02c98ck7lk1MKmi
+AJ4uWT/LCSwq0noWLWdZD8TEZRs8c4hGBBARAgAGBQJFNPrmAAoJEKvI7jm7VQdG
+44kAnRpcqEI8zUHTYDHUTlAqG6uduJikAJ9IKY2pcr1FSGfpauCsU+t60eh26ohG
+BBARAgAGBQJFNk9JAAoJEIs6YB8IyXXlfUYAoKTSEl6R7Ha2cOojX6mHXL/koznf
+AJ9yvgWwHm5gwT0MvvV06oED6yO+WohGBBARAgAGBQJFPYQAAAoJEMkduNqbz84v
+dSUAnR4auNDXzNGpxblGdbL0eA7zu6OFAKDzt8q4QBYs6gZZgWyi2q6sDNxfx4hG
+BBARAgAGBQJFPrULAAoJEGvijq6/0DB8EpkAnith6mCJPuiTbDD80VDXzV6FMW8u
+AJ9XWz0caY7KPOJnxQNMtLsi5QEilohGBBARAgAGBQJFQIT2AAoJEJd7/dDYcuJw
+6ZcAoLK6IWR2Fx7ZiXMvv6yk9Knuu40HAKCBN/fkJD+IZJQ1S8sGqDKiFfR7dIhG
+BBARAgAGBQJFQqiiAAoJEBJBvIcsXk7Ac/YAn28oplMOif3sCioeYTTYKtT/+Y3W
+AJwIVqixX+cXLntknf69mTVXzstc7YhGBBARAgAGBQJFRtwWAAoJEPx3dBEynYDS
+cskAn0Ri7cS1WXxZ+5GYerBMe5RQrWYbAJ94EAnW/ycxEyJzHmEiMKzPTIAMhIhG
+BBARAgAGBQJFgnGgAAoJEEriyIdmXgdgeVkAoJiNYq0f/th5vBNjfoRLPOi65QK+
+AJ4mU4zkcMwLLeAx/YVTrRERUbDi1oheBBMRAgAeBQJDnklfAhsDBgsJCAcDAgMV
+AgMDFgIBAh4BAheAAAoJEP2e2fEXqlsly8kAmwSJ+1IUOo67g5V8g7ijyF05pIP9
+AJ9iUF3BBlY+i0+T+KxsyMMT86bxpIheBBMRAgAeBQJDnklfAhsDBgsJCAcDAgMV
+AgMDFgIBAh4BAheAAAoJEP2e2fEXqlsly8kAoPF9yjw8EYKnOhdl5Q9yedcrIvMh
+AKD3VaxwH2fBy9ecR5JDnzWu9AM2zrkCDQRDnknHEAgA6sRNVHsmMPA72smxPYxp
+whOwYEgjT5IwRS+RdTE/fpBwVAUs50ww4b754mKsBjGl8zwHSAnjXIsfDC7YHEOJ
+Mgc4Dv9w3tpNNdi1TBPvEQfK0D7+8RbEtp1ssI3IM3EAjGt1fZ/EFO2IziIG3k+1
+5JWU8tSlmUrzgWemJ+ogTR1eRDndsI2pHT2yf4KbTCtB/xh12HVTVOCi3M5Lx3cp
+gF+0WMV3wgzIEi59xmosJSCwC8bkETMSqtikEPt2hwk+cWYIQZ9/u9JB2Xrvqs+7
+vDDZT9DrGUDtJNkAZ+fjU+V7jeVIfowsfVo6nQAVxrKcQ4PapplKWpqG9bFl8q4I
+zwADBQf/X5Bkepht9M3dfaGSs7RwbwJrVeOjmuoLJr59wsQu3yLzCPyBYETQzBFd
+FRKs4tQiv8NKeE8bLfBZNa23+RdS0HtNUT/sbiMDUOH/CeMVTptmYlFQDWicvBh9
+fgswD4bE3prafIJmYcM2j0E0r17FCDjVojmllQslEz2FdS/UKHQOFynwr8wapH4B
+LJfKuxQek3vdCbmsBseKsTpn9rKJ0VbAmzGQtazstt0w1ag8I33Z63bMAwLf4+KI
+FXGtW0yf0uk3V2WNKo9SMhR6Qi0XC8CFSxtMIWMf4hscvzQpp4FNtRwS7A2Z69BL
+ZFcn94uoUEO2GAbXiedjxRckC6O1YohJBBgRAgAJBQJDnknHAhsMAAoJEP2e2fEX
+qlslx8MAoKM+DrO1U9eaph/nvzTxkUPjwOEfAKDWM5WWzi6UoysRPcQ7rlJCW58n
+qQ==
+=lxT7
+-----END PGP PUBLIC KEY BLOCK-----
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100755
index 0000000000..1e45cff017
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,807 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
+
+-- activemq-xmpp
+=========================================================================
+== For the Jabber Software Foundation XSDs ==
+=========================================================================
+Attribution 2.5
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+ 2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+ 3. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+ 4. "Original Author" means the individual or entity who created the Work.
+ 5. "Work" means the copyrightable work of authorship offered under the terms of this License.
+ 6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+ 2. to create and reproduce Derivative Works;
+ 3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+ 4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+ 5.
+
+ For the avoidance of doubt, where the work is a musical composition:
+ 1. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+ 2. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+ 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
+ 2. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
+
+-- activemq-web
+=========================================================================
+== For the behaviour.js library ==
+=========================================================================
+
+Copyright (c) 2005, Ben Nolan
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the Ben Nolan nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=========================================================================
+== For the prototype.js library ==
+=========================================================================
+
+Copyright (c) 2005 Sam Stephenson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--activemq-web-demo
+=========================================================================
+== For the scriptaculous.js library ==
+=========================================================================
+
+// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+=========================================================================
+== For the style.css library ==
+== For the common.js library ==
+=========================================================================
+
+
License
+
+
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+
+
1. Definitions
+
+
+
+
+"Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+
+
+"Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+
+"Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+
+
+"Original Author" means the individual or entity who created the Work.
+
+
+
+"Work" means the copyrightable work of authorship offered under the terms of this License.
+
+
+
+"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+
+
+
+
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+
+
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+
+
+
+
+to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+
+
+to create and reproduce Derivative Works;
+
+
+
+to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+
+
+
+to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+
+
+
For the avoidance of doubt, where the work is a musical composition:
+
+
+
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+
+
+
+
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+
+
+
+You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
+
+
+
+
+If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+
+
+
+
+
+
+
+
+
5. Representations, Warranties and Disclaimer
+
+
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+
+
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
7. Termination
+
+
+
+
+This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+
+
+Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+
+
+
8. Miscellaneous
+
+
+
+
+Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+
+
+Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+
+
+If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+
+
+No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+
+
+
+This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+
+
+--activemq-web-console
+
+
+ =========================================================================
+ == For the MochiKit library ==
+ =========================================================================
+
+ MochiKit is dual-licensed software. It is available under the terms of the
+ MIT License, or the Academic Free License version 2.1. The full text of
+ each license is included below.
+
+ MIT License
+ ===========
+
+ Copyright (c) 2005 Bob Ippolito. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Academic Free License v. 2.1
+ ============================
+
+ Copyright (c) 2005 Bob Ippolito. All rights reserved.
+
+ This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Academic Free License version 2.1
+
+ 1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+ 2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
+
+ 3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+ 4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+ 5) This section intentionally omitted.
+
+ 6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+ 7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+ 8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
+
+ 9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
+
+ 10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+ 11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ค 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+ 12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+ 13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
+
+ 14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+ 15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+ This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+
+ =========================================================================
+ == For the Plotkit library ==
+ =========================================================================
+
+ Copyright (c) 2006, Alastair Tse
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the Alastair Tse nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ =========================================================================
+ == For the iecanvas.htc library ==
+ =========================================================================
+
+ |-----------------------------------------------------------------------------|
+ | Copyright (c) 2005 Emil A Eklund |
+ |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
+ | This program is free software; you can redistribute it and/or modify it |
+ | under the terms of the MIT License. |
+ |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
+ | Permission is hereby granted, free of charge, to any person obtaining a |
+ | copy of this software and associated documentation files (the "Software"), |
+ | to deal in the Software without restriction, including without limitation |
+ | the rights to use, copy, modify, merge, publish, distribute, sublicense, |
+ | and/or sell copies of the Software, and to permit persons to whom the |
+ | Software is furnished to do so, subject to the following conditions: |
+ | The above copyright notice and this permission notice shall be included in |
+ | all copies or substantial portions of the Software. |
+ |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
+ | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
+ | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
+ | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
+ | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
+ | DEALINGS IN THE SOFTWARE. |
+ |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
+
+ =========================================================================
+ == For the standardista-table-sorting.js library ==
+ == For the css.js library ==
+ =========================================================================
+
+ /**
+ * Copyright (c) 2006 Neil Crosby
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ **/
+
+ =========================================================================
+ == For the style.css library ==
+ == For the common.js library ==
+ =========================================================================
+
+
License
+
+
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+
+
1. Definitions
+
+
+
+
+ "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+
+
+ "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+
+ "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+
+
+ "Original Author" means the individual or entity who created the Work.
+
+
+
+ "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+
+
+ "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+
+
+
+
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+
+
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+
+
+
+
+ to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+
+
+ to create and reproduce Derivative Works;
+
+
+
+ to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+
+
+
+ to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+
+
+
For the avoidance of doubt, where the work is a musical composition:
+
+
+
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+
+
+
+
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+
+
+
+ You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
+
+
+
+
+ If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+
+
+
+
+
+
+
+
+
5. Representations, Warranties and Disclaimer
+
+
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+
+
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
7. Termination
+
+
+
+
+ This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+
+
+ Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+
+
+
8. Miscellaneous
+
+
+
+
+ Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+
+
+ Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+
+
+ If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+
+
+ No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+
+
+
+ This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000000..67418977f1
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,44 @@
+Apache ActiveMQ Copyright 2006-2008 Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+-------------
+Jabber xsds in activemq-xmpp
+ This software was generated using XSDs from the Jabber Software Foundation
+
+ http://www.xmpp.org/schemas/
+
+ Copyright (c) 1999-2006 The Jabber Software Foundation
+ http://www.xmpp.org/about/copyright.shtml
+
+ These XSD files are licensed under the Creative Commons License 2.5
+ http://creativecommons.org/licenses/by/2.5/
+
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2006 Mort Bay Consulting Pty Ltd
+==============================================================
+
+This product includes some software developed at The Apache Software
+Foundation (http://www.apache.org/).
+
+The javax.servlet package used by Jetty is copyright
+Sun Microsystems, Inc and Apache Software Foundation. It is
+distributed under the Common Development and Distribution License.
+You can obtain a copy of the license at
+https://glassfish.dev.java.net/public/CDDLv1.0.html.
+
+The UnixCrypt.java code ~Implements the one way cryptography used by
+Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
+modified April 2001 by Iris Van den Broeke, Daniel Deville.
+
+The default JSP implementation is provided by the Glassfish JSP engine
+from project Glassfish http://glassfish.dev.java.net. Copyright 2005
+Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
+
+Some portions of the code are Copyright:
+ 2006 Tim Vernum
+ 1999 Jason Gilbert.
+
+The jboss integration module contains some LGPL code.
diff --git a/NOTICE.txt b/NOTICE.txt
deleted file mode 100644
index 2287f46cef..0000000000
--- a/NOTICE.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Apache ActiveMQ Copyright 2006-2008 Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/activemq-console/src/main/resources/META-INF/LICENSE.txt b/activemq-console/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-console/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-console/src/main/resources/META-INF/NOTICE.txt b/activemq-console/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-console/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-core/pom.xml b/activemq-core/pom.xml
index edb3b73ec7..0632d946fd 100755
--- a/activemq-core/pom.xml
+++ b/activemq-core/pom.xml
@@ -36,7 +36,6 @@
com.thoughtworks.xstream*;resolution:=optional,
- javax.jmdns*;resolution:=optional,
org.apache.activeio*;resolution:=optional,
org.apache.camel*;resolution:=optional,
org.apache.commons.pool*;resolution:=optional,
@@ -138,11 +137,6 @@
derbytrue
-
- activemq
- jmdns
- true
- xalanxalan
@@ -216,6 +210,11 @@
org.springframeworkspring-testtest
+
+
+ org.apache.activemq
+ activemq-jmdns_1.0
+ true
diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/JmDNSFactory.java b/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/JmDNSFactory.java
index f189a77496..07be01ff6d 100644
--- a/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/JmDNSFactory.java
+++ b/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/JmDNSFactory.java
@@ -21,8 +21,7 @@ import java.net.InetAddress;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.jmdns.JmDNS;
+import org.apache.activemq.jmdns.JmDNS;
public final class JmDNSFactory {
diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java b/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
index 21c6442109..459ecc573b 100755
--- a/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
+++ b/activemq-core/src/main/java/org/apache/activemq/transport/discovery/rendezvous/RendezvousDiscoveryAgent.java
@@ -24,10 +24,10 @@ import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
-import javax.jmdns.JmDNS;
-import javax.jmdns.ServiceEvent;
-import javax.jmdns.ServiceInfo;
-import javax.jmdns.ServiceListener;
+import org.apache.activemq.jmdns.JmDNS;
+import org.apache.activemq.jmdns.ServiceEvent;
+import org.apache.activemq.jmdns.ServiceInfo;
+import org.apache.activemq.jmdns.ServiceListener;
import org.apache.activemq.command.DiscoveryEvent;
import org.apache.activemq.transport.discovery.DiscoveryAgent;
diff --git a/activemq-core/src/main/resources/META-INF/LICENSE.txt b/activemq-core/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-core/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-core/src/main/resources/META-INF/NOTICE.txt b/activemq-core/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-core/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-jaas/src/main/resources/META-INF/LICENSE.txt b/activemq-jaas/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-jaas/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-jaas/src/main/resources/META-INF/NOTICE.txt b/activemq-jaas/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-jaas/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-jmdns_1.0/pom.xml b/activemq-jmdns_1.0/pom.xml
new file mode 100644
index 0000000000..b99628c645
--- /dev/null
+++ b/activemq-jmdns_1.0/pom.xml
@@ -0,0 +1,30 @@
+
+
+
+ activemq-parent
+ org.apache.activemq
+ 5.1-SNAPSHOT
+
+ 4.0.0
+ activemq-jmdns_1.0
+ ActiveMQ :: jmdns 1.0
+
+
+ The activemq-jmdns_1.0 source is derived from http://repo1.maven.org/maven2/jmdns/jmdns/1.0/jmdns-1.0-sources.jar
+
+ Changes to apache activemq version:
+ - renamed package javax.jmdns to org.apache.activemq.jmdns
+ - removed classes with lgpl source headers, leaving only the org.apache.activemq.jmdns package.
+
+
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSCache.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSCache.java
new file mode 100644
index 0000000000..a7b9138ead
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSCache.java
@@ -0,0 +1,257 @@
+//Copyright 2003-2005 Arthur van Hoff Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.logging.Logger;
+
+/**
+ * A table of DNS entries. This is a hash table which
+ * can handle multiple entries with the same name.
+ *
+ * Storing multiple entries with the same name is implemented using a
+ * linked list of CacheNode's.
+ *
+ * The current implementation of the API of DNSCache does expose the
+ * cache nodes to clients. Clients must explicitly deal with the nodes
+ * when iterating over entries in the cache. Here's how to iterate over
+ * all entries in the cache:
+ *
+ * for (Iterator i=dnscache.iterator(); i.hasNext(); ) {
+ * for (DNSCache.CacheNode n = (DNSCache.CacheNode) i.next(); n != null; n.next()) {
+ * DNSEntry entry = n.getValue();
+ * ...do something with entry...
+ * }
+ * }
+ *
+ *
+ * And here's how to iterate over all entries having a given name:
+ *
+ * for (DNSCache.CacheNode n = (DNSCache.CacheNode) dnscache.find(name); n != null; n.next()) {
+ * DNSEntry entry = n.getValue();
+ * ...do something with entry...
+ * }
+ *
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Werner Randelshofer, Rick Blair
+ */
+class DNSCache
+{
+ private static Logger logger = Logger.getLogger(DNSCache.class.toString());
+ // Implementation note:
+ // We might completely hide the existence of CacheNode's in a future version
+ // of DNSCache. But this will require to implement two (inner) classes for
+ // the iterators that will be returned by method iterator() and
+ // method find(name).
+ // Since DNSCache is not a public class, it does not seem worth the effort
+ // to clean its API up that much.
+
+ // [PJYF Oct 15 2004] This should implements Collections that would be amuch cleaner implementation
+
+ /**
+ * The number of DNSEntry's in the cache.
+ */
+ private int size;
+
+ /**
+ * The hashtable used internally to store the entries of the cache.
+ * Keys are instances of String. The String contains an unqualified service
+ * name.
+ * Values are linked lists of CacheNode instances.
+ */
+ private HashMap hashtable;
+
+ /**
+ * Cache nodes are used to implement storage of multiple DNSEntry's of the
+ * same name in the cache.
+ */
+ public static class CacheNode
+ {
+ private static Logger logger = Logger.getLogger(CacheNode.class.toString());
+ private DNSEntry value;
+ private CacheNode next;
+
+ public CacheNode(DNSEntry value)
+ {
+ this.value = value;
+ }
+
+ public CacheNode next()
+ {
+ return next;
+ }
+
+ public DNSEntry getValue()
+ {
+ return value;
+ }
+ }
+
+
+ /**
+ * Create a table with a given initial size.
+ */
+ public DNSCache(final int size)
+ {
+ hashtable = new HashMap(size);
+ }
+
+ /**
+ * Clears the cache.
+ */
+ public synchronized void clear()
+ {
+ hashtable.clear();
+ size = 0;
+ }
+
+ /**
+ * Adds an entry to the table.
+ */
+ public synchronized void add(final DNSEntry entry)
+ {
+ //logger.log("DNSCache.add("+entry.getName()+")");
+ CacheNode newValue = new CacheNode(entry);
+ CacheNode node = (CacheNode) hashtable.get(entry.getName());
+ if (node == null)
+ {
+ hashtable.put(entry.getName(), newValue);
+ }
+ else
+ {
+ newValue.next = node.next;
+ node.next = newValue;
+ }
+ size++;
+ }
+
+ /**
+ * Remove a specific entry from the table. Returns true if the
+ * entry was found.
+ */
+ public synchronized boolean remove(DNSEntry entry)
+ {
+ CacheNode node = (CacheNode) hashtable.get(entry.getName());
+ if (node != null)
+ {
+ if (node.value == entry)
+ {
+ if (node.next == null)
+ {
+ hashtable.remove(entry.getName());
+ }
+ else
+ {
+ hashtable.put(entry.getName(), node.next);
+ }
+ size--;
+ return true;
+ }
+
+ CacheNode previous = node;
+ node = node.next;
+ while (node != null)
+ {
+ if (node.value == entry)
+ {
+ previous.next = node.next;
+ size--;
+ return true;
+ }
+ previous = node;
+ node = node.next;
+ }
+ ;
+ }
+ return false;
+ }
+
+ /**
+ * Get a matching DNS entry from the table (using equals).
+ * Returns the entry that was found.
+ */
+ public synchronized DNSEntry get(DNSEntry entry)
+ {
+ for (CacheNode node = find(entry.getName()); node != null; node = node.next)
+ {
+ if (node.value.equals(entry))
+ {
+ return node.value;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get a matching DNS entry from the table.
+ */
+ public synchronized DNSEntry get(String name, int type, int clazz)
+ {
+ for (CacheNode node = find(name); node != null; node = node.next)
+ {
+ if (node.value.type == type && node.value.clazz == clazz)
+ {
+ return node.value;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Iterates over all cache nodes.
+ * The iterator returns instances of DNSCache.CacheNode.
+ * Each instance returned is the first node of a linked list.
+ * To retrieve all entries, one must iterate over this linked list. See
+ * code snippets in the header of the class.
+ */
+ public Iterator iterator()
+ {
+ return Collections.unmodifiableCollection(hashtable.values()).iterator();
+ }
+
+ /**
+ * Iterate only over items with matching name.
+ * Returns an instance of DNSCache.CacheNode or null.
+ * If an instance is returned, it is the first node of a linked list.
+ * To retrieve all entries, one must iterate over this linked list.
+ */
+ public synchronized CacheNode find(String name)
+ {
+ return (CacheNode) hashtable.get(name);
+ }
+
+ /**
+ * List all entries for debugging.
+ */
+ public synchronized void print()
+ {
+ for (Iterator i = iterator(); i.hasNext();)
+ {
+ for (CacheNode n = (CacheNode) i.next(); n != null; n = n.next)
+ {
+ System.out.println(n.value);
+ }
+ }
+ }
+
+ public synchronized String toString()
+ {
+ StringBuffer aLog = new StringBuffer();
+ aLog.append("\t---- cache ----");
+ for (Iterator i = iterator(); i.hasNext();)
+ {
+ for (CacheNode n = (CacheNode) i.next(); n != null; n = n.next)
+ {
+ aLog.append("\n\t\t" + n.value);
+ }
+ }
+ return aLog.toString();
+ }
+
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSConstants.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSConstants.java
new file mode 100644
index 0000000000..2b8b502285
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSConstants.java
@@ -0,0 +1,125 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+/**
+ * DNS constants.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Jeff Sonstein, Werner Randelshofer, Pierre Frisch, Rick Blair
+ */
+final class DNSConstants
+{
+
+ // changed to final class - jeffs
+ final static String MDNS_GROUP = "224.0.0.251";
+ final static String MDNS_GROUP_IPV6 = "FF02::FB";
+ final static int MDNS_PORT = 5353;
+ final static int DNS_PORT = 53;
+ final static int DNS_TTL = 60 * 60; // default one hour TTL
+ // final static int DNS_TTL = 120 * 60; // two hour TTL (draft-cheshire-dnsext-multicastdns.txt ch 13)
+
+ final static int MAX_MSG_TYPICAL = 1460;
+ final static int MAX_MSG_ABSOLUTE = 8972;
+
+ final static int FLAGS_QR_MASK = 0x8000; // Query response mask
+ final static int FLAGS_QR_QUERY = 0x0000; // Query
+ final static int FLAGS_QR_RESPONSE = 0x8000; // Response
+
+ final static int FLAGS_AA = 0x0400; // Authorative answer
+ final static int FLAGS_TC = 0x0200; // Truncated
+ final static int FLAGS_RD = 0x0100; // Recursion desired
+ final static int FLAGS_RA = 0x8000; // Recursion available
+
+ final static int FLAGS_Z = 0x0040; // Zero
+ final static int FLAGS_AD = 0x0020; // Authentic data
+ final static int FLAGS_CD = 0x0010; // Checking disabled
+
+ final static int CLASS_IN = 1; // Final Static Internet
+ final static int CLASS_CS = 2; // CSNET
+ final static int CLASS_CH = 3; // CHAOS
+ final static int CLASS_HS = 4; // Hesiod
+ final static int CLASS_NONE = 254; // Used in DNS UPDATE [RFC 2136]
+ final static int CLASS_ANY = 255; // Not a DNS class, but a DNS query class, meaning "all classes"
+ final static int CLASS_MASK = 0x7FFF; // Multicast DNS uses the bottom 15 bits to identify the record class...
+ final static int CLASS_UNIQUE = 0x8000; // ... and the top bit indicates that all other cached records are now invalid
+
+ final static int TYPE_IGNORE = 0; // This is a hack to stop further processing
+ final static int TYPE_A = 1; // Address
+ final static int TYPE_NS = 2; // Name Server
+ final static int TYPE_MD = 3; // Mail Destination
+ final static int TYPE_MF = 4; // Mail Forwarder
+ final static int TYPE_CNAME = 5; // Canonical Name
+ final static int TYPE_SOA = 6; // Start of Authority
+ final static int TYPE_MB = 7; // Mailbox
+ final static int TYPE_MG = 8; // Mail Group
+ final static int TYPE_MR = 9; // Mail Rename
+ final static int TYPE_NULL = 10; // NULL RR
+ final static int TYPE_WKS = 11; // Well-known-service
+ final static int TYPE_PTR = 12; // Domain Name pofinal static inter
+ final static int TYPE_HINFO = 13; // Host information
+ final static int TYPE_MINFO = 14; // Mailbox information
+ final static int TYPE_MX = 15; // Mail exchanger
+ final static int TYPE_TXT = 16; // Arbitrary text string
+ final static int TYPE_RP = 17; // for Responsible Person [RFC1183]
+ final static int TYPE_AFSDB = 18; // for AFS Data Base location [RFC1183]
+ final static int TYPE_X25 = 19; // for X.25 PSDN address [RFC1183]
+ final static int TYPE_ISDN = 20; // for ISDN address [RFC1183]
+ final static int TYPE_RT = 21; // for Route Through [RFC1183]
+ final static int TYPE_NSAP = 22; // for NSAP address, NSAP style A record [RFC1706]
+ final static int TYPE_NSAP_PTR = 23; //
+ final static int TYPE_SIG = 24; // for security signature [RFC2931]
+ final static int TYPE_KEY = 25; // for security key [RFC2535]
+ final static int TYPE_PX = 26; // X.400 mail mapping information [RFC2163]
+ final static int TYPE_GPOS = 27; // Geographical Position [RFC1712]
+ final static int TYPE_AAAA = 28; // IP6 Address [Thomson]
+ final static int TYPE_LOC = 29; // Location Information [Vixie]
+ final static int TYPE_NXT = 30; // Next Domain - OBSOLETE [RFC2535, RFC3755]
+ final static int TYPE_EID = 31; // Endpoint Identifier [Patton]
+ final static int TYPE_NIMLOC = 32; // Nimrod Locator [Patton]
+ final static int TYPE_SRV = 33; // Server Selection [RFC2782]
+ final static int TYPE_ATMA = 34; // ATM Address [Dobrowski]
+ final static int TYPE_NAPTR = 35; // Naming Authority Pointer [RFC2168, RFC2915]
+ final static int TYPE_KX = 36; // Key Exchanger [RFC2230]
+ final static int TYPE_CERT = 37; // CERT [RFC2538]
+ final static int TYPE_A6 = 38; // A6 [RFC2874]
+ final static int TYPE_DNAME = 39; // DNAME [RFC2672]
+ final static int TYPE_SINK = 40; // SINK [Eastlake]
+ final static int TYPE_OPT = 41; // OPT [RFC2671]
+ final static int TYPE_APL = 42; // APL [RFC3123]
+ final static int TYPE_DS = 43; // Delegation Signer [RFC3658]
+ final static int TYPE_SSHFP = 44; // SSH Key Fingerprint [RFC-ietf-secsh-dns-05.txt]
+ final static int TYPE_RRSIG = 46; // RRSIG [RFC3755]
+ final static int TYPE_NSEC = 47; // NSEC [RFC3755]
+ final static int TYPE_DNSKEY = 48; // DNSKEY [RFC3755]
+ final static int TYPE_UINFO = 100; // [IANA-Reserved]
+ final static int TYPE_UID = 101; // [IANA-Reserved]
+ final static int TYPE_GID = 102; // [IANA-Reserved]
+ final static int TYPE_UNSPEC = 103; // [IANA-Reserved]
+ final static int TYPE_TKEY = 249; // Transaction Key [RFC2930]
+ final static int TYPE_TSIG = 250; // Transaction Signature [RFC2845]
+ final static int TYPE_IXFR = 251; // Incremental transfer [RFC1995]
+ final static int TYPE_AXFR = 252; // Transfer of an entire zone [RFC1035]
+ final static int TYPE_MAILA = 253; // Mailbox-related records (MB, MG or MR) [RFC1035]
+ final static int TYPE_MAILB = 254; // Mail agent RRs (Obsolete - see MX) [RFC1035]
+ final static int TYPE_ANY = 255; // Request for all records [RFC1035]
+
+ //Time Intervals for various functions
+
+ final static int SHARED_QUERY_TIME = 20; //milliseconds before send shared query
+ final static int QUERY_WAIT_INTERVAL = 225; //milliseconds between query loops.
+ final static int PROBE_WAIT_INTERVAL = 250; //milliseconds between probe loops.
+ final static int RESPONSE_MIN_WAIT_INTERVAL = 20; //minimal wait interval for response.
+ final static int RESPONSE_MAX_WAIT_INTERVAL = 115; //maximal wait interval for response
+ final static int PROBE_CONFLICT_INTERVAL = 1000; //milliseconds to wait after conflict.
+ final static int PROBE_THROTTLE_COUNT = 10; //After x tries go 1 time a sec. on probes.
+ final static int PROBE_THROTTLE_COUNT_INTERVAL = 5000; //We only increment the throttle count, if
+ // the previous increment is inside this interval.
+ final static int ANNOUNCE_WAIT_INTERVAL = 1000; //milliseconds between Announce loops.
+ final static int RECORD_REAPER_INTERVAL = 10000; //milliseconds between cache cleanups.
+ final static int KNOWN_ANSWER_TTL = 120;
+ final static int ANNOUNCED_RENEWAL_TTL_INTERVAL = DNS_TTL * 500; // 50% of the TTL in milliseconds
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSEntry.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSEntry.java
new file mode 100644
index 0000000000..8792317661
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSEntry.java
@@ -0,0 +1,148 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.util.logging.Logger;
+
+/**
+ * DNS entry with a name, type, and class. This is the base
+ * class for questions and records.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Pierre Frisch, Rick Blair
+ */
+class DNSEntry
+{
+ private static Logger logger = Logger.getLogger(DNSEntry.class.toString());
+ String key;
+ String name;
+ int type;
+ int clazz;
+ boolean unique;
+
+ /**
+ * Create an entry.
+ */
+ DNSEntry(String name, int type, int clazz)
+ {
+ this.key = name.toLowerCase();
+ this.name = name;
+ this.type = type;
+ this.clazz = clazz & DNSConstants.CLASS_MASK;
+ this.unique = (clazz & DNSConstants.CLASS_UNIQUE) != 0;
+ }
+
+ /**
+ * Check if two entries have exactly the same name, type, and class.
+ */
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof DNSEntry)
+ {
+ DNSEntry other = (DNSEntry) obj;
+ return name.equals(other.name) && type == other.type && clazz == other.clazz;
+ }
+ return false;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public int getType()
+ {
+ return type;
+ }
+
+ /**
+ * Overriden, to return a value which is consistent with the value returned
+ * by equals(Object).
+ */
+ public int hashCode()
+ {
+ return name.hashCode() + type + clazz;
+ }
+
+ /**
+ * Get a string given a clazz.
+ */
+ static String getClazz(int clazz)
+ {
+ switch (clazz & DNSConstants.CLASS_MASK)
+ {
+ case DNSConstants.CLASS_IN:
+ return "in";
+ case DNSConstants.CLASS_CS:
+ return "cs";
+ case DNSConstants.CLASS_CH:
+ return "ch";
+ case DNSConstants.CLASS_HS:
+ return "hs";
+ case DNSConstants.CLASS_NONE:
+ return "none";
+ case DNSConstants.CLASS_ANY:
+ return "any";
+ default:
+ return "?";
+ }
+ }
+
+ /**
+ * Get a string given a type.
+ */
+ static String getType(int type)
+ {
+ switch (type)
+ {
+ case DNSConstants.TYPE_A:
+ return "a";
+ case DNSConstants.TYPE_AAAA:
+ return "aaaa";
+ case DNSConstants.TYPE_NS:
+ return "ns";
+ case DNSConstants.TYPE_MD:
+ return "md";
+ case DNSConstants.TYPE_MF:
+ return "mf";
+ case DNSConstants.TYPE_CNAME:
+ return "cname";
+ case DNSConstants.TYPE_SOA:
+ return "soa";
+ case DNSConstants.TYPE_MB:
+ return "mb";
+ case DNSConstants.TYPE_MG:
+ return "mg";
+ case DNSConstants.TYPE_MR:
+ return "mr";
+ case DNSConstants.TYPE_NULL:
+ return "null";
+ case DNSConstants.TYPE_WKS:
+ return "wks";
+ case DNSConstants.TYPE_PTR:
+ return "ptr";
+ case DNSConstants.TYPE_HINFO:
+ return "hinfo";
+ case DNSConstants.TYPE_MINFO:
+ return "minfo";
+ case DNSConstants.TYPE_MX:
+ return "mx";
+ case DNSConstants.TYPE_TXT:
+ return "txt";
+ case DNSConstants.TYPE_SRV:
+ return "srv";
+ case DNSConstants.TYPE_ANY:
+ return "any";
+ default:
+ return "?";
+ }
+ }
+
+ public String toString(String hdr, String other)
+ {
+ return hdr + "[" + getType(type) + "," + getClazz(clazz) + (unique ? "-unique," : ",") + name + ((other != null) ? "," + other + "]" : "]");
+ }
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSIncoming.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSIncoming.java
new file mode 100644
index 0000000000..da4bc0d09b
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSIncoming.java
@@ -0,0 +1,466 @@
+///Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+
+package org.apache.activemq.jmdns;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Parse an incoming DNS message into its components.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Werner Randelshofer, Pierre Frisch
+ */
+final class DNSIncoming
+{
+ private static Logger logger = Logger.getLogger(DNSIncoming.class.toString());
+ // Implementation note: This vector should be immutable.
+ // If a client of DNSIncoming changes the contents of this vector,
+ // we get undesired results. To fix this, we have to migrate to
+ // the Collections API of Java 1.2. i.e we replace Vector by List.
+ // final static Vector EMPTY = new Vector();
+
+ private DatagramPacket packet;
+ private int off;
+ private int len;
+ private byte data[];
+
+ int id;
+ private int flags;
+ private int numQuestions;
+ int numAnswers;
+ private int numAuthorities;
+ private int numAdditionals;
+ private long receivedTime;
+
+ List questions;
+ List answers;
+
+ /**
+ * Parse a message from a datagram packet.
+ */
+ DNSIncoming(DatagramPacket packet) throws IOException
+ {
+ this.packet = packet;
+ this.data = packet.getData();
+ this.len = packet.getLength();
+ this.off = packet.getOffset();
+ this.questions = Collections.EMPTY_LIST;
+ this.answers = Collections.EMPTY_LIST;
+ this.receivedTime = System.currentTimeMillis();
+
+ try
+ {
+ id = readUnsignedShort();
+ flags = readUnsignedShort();
+ numQuestions = readUnsignedShort();
+ numAnswers = readUnsignedShort();
+ numAuthorities = readUnsignedShort();
+ numAdditionals = readUnsignedShort();
+
+ // parse questions
+ if (numQuestions > 0)
+ {
+ questions = Collections.synchronizedList(new ArrayList(numQuestions));
+ for (int i = 0; i < numQuestions; i++)
+ {
+ DNSQuestion question = new DNSQuestion(readName(), readUnsignedShort(), readUnsignedShort());
+ questions.add(question);
+ }
+ }
+
+ // parse answers
+ int n = numAnswers + numAuthorities + numAdditionals;
+ if (n > 0)
+ {
+ answers = Collections.synchronizedList(new ArrayList(n));
+ for (int i = 0; i < n; i++)
+ {
+ String domain = readName();
+ int type = readUnsignedShort();
+ int clazz = readUnsignedShort();
+ int ttl = readInt();
+ int len = readUnsignedShort();
+ int end = off + len;
+ DNSRecord rec = null;
+
+ switch (type)
+ {
+ case DNSConstants.TYPE_A: // IPv4
+ case DNSConstants.TYPE_AAAA: // IPv6 FIXME [PJYF Oct 14 2004] This has not been tested
+ rec = new DNSRecord.Address(domain, type, clazz, ttl, readBytes(off, len));
+ break;
+ case DNSConstants.TYPE_CNAME:
+ case DNSConstants.TYPE_PTR:
+ rec = new DNSRecord.Pointer(domain, type, clazz, ttl, readName());
+ break;
+ case DNSConstants.TYPE_TXT:
+ rec = new DNSRecord.Text(domain, type, clazz, ttl, readBytes(off, len));
+ break;
+ case DNSConstants.TYPE_SRV:
+ rec = new DNSRecord.Service(domain, type, clazz, ttl,
+ readUnsignedShort(), readUnsignedShort(), readUnsignedShort(), readName());
+ break;
+ case DNSConstants.TYPE_HINFO:
+ // Maybe we should do something with those
+ break;
+ default :
+ logger.finer("DNSIncoming() unknown type:" + type);
+ break;
+ }
+
+ if (rec != null)
+ {
+ // Add a record, if we were able to create one.
+ answers.add(rec);
+ }
+ else
+ {
+ // Addjust the numbers for the skipped record
+ if (answers.size() < numAnswers)
+ {
+ numAnswers--;
+ }
+ else
+ {
+ if (answers.size() < numAnswers + numAuthorities)
+ {
+ numAuthorities--;
+ }
+ else
+ {
+ if (answers.size() < numAnswers + numAuthorities + numAdditionals)
+ {
+ numAdditionals--;
+ }
+ }
+ }
+ }
+ off = end;
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ logger.log(Level.WARNING, "DNSIncoming() dump " + print(true) + "\n exception ", e);
+ throw e;
+ }
+ }
+
+ /**
+ * Check if the message is a query.
+ */
+ boolean isQuery()
+ {
+ return (flags & DNSConstants.FLAGS_QR_MASK) == DNSConstants.FLAGS_QR_QUERY;
+ }
+
+ /**
+ * Check if the message is truncated.
+ */
+ boolean isTruncated()
+ {
+ return (flags & DNSConstants.FLAGS_TC) != 0;
+ }
+
+ /**
+ * Check if the message is a response.
+ */
+ boolean isResponse()
+ {
+ return (flags & DNSConstants.FLAGS_QR_MASK) == DNSConstants.FLAGS_QR_RESPONSE;
+ }
+
+ private int get(int off) throws IOException
+ {
+ if ((off < 0) || (off >= len))
+ {
+ throw new IOException("parser error: offset=" + off);
+ }
+ return data[off] & 0xFF;
+ }
+
+ private int readUnsignedShort() throws IOException
+ {
+ return (get(off++) << 8) + get(off++);
+ }
+
+ private int readInt() throws IOException
+ {
+ return (readUnsignedShort() << 16) + readUnsignedShort();
+ }
+
+ private byte[] readBytes(int off, int len) throws IOException
+ {
+ byte bytes[] = new byte[len];
+ System.arraycopy(data, off, bytes, 0, len);
+ return bytes;
+ }
+
+ private void readUTF(StringBuffer buf, int off, int len) throws IOException
+ {
+ for (int end = off + len; off < end;)
+ {
+ int ch = get(off++);
+ switch (ch >> 4)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ // 0xxxxxxx
+ break;
+ case 12:
+ case 13:
+ // 110x xxxx 10xx xxxx
+ ch = ((ch & 0x1F) << 6) | (get(off++) & 0x3F);
+ break;
+ case 14:
+ // 1110 xxxx 10xx xxxx 10xx xxxx
+ ch = ((ch & 0x0f) << 12) | ((get(off++) & 0x3F) << 6) | (get(off++) & 0x3F);
+ break;
+ default:
+ // 10xx xxxx, 1111 xxxx
+ ch = ((ch & 0x3F) << 4) | (get(off++) & 0x0f);
+ break;
+ }
+ buf.append((char) ch);
+ }
+ }
+
+ private String readName() throws IOException
+ {
+ StringBuffer buf = new StringBuffer();
+ int off = this.off;
+ int next = -1;
+ int first = off;
+
+ while (true)
+ {
+ int len = get(off++);
+ if (len == 0)
+ {
+ break;
+ }
+ switch (len & 0xC0)
+ {
+ case 0x00:
+ //buf.append("[" + off + "]");
+ readUTF(buf, off, len);
+ off += len;
+ buf.append('.');
+ break;
+ case 0xC0:
+ //buf.append("<" + (off - 1) + ">");
+ if (next < 0)
+ {
+ next = off + 1;
+ }
+ off = ((len & 0x3F) << 8) | get(off++);
+ if (off >= first)
+ {
+ throw new IOException("bad domain name: possible circular name detected");
+ }
+ first = off;
+ break;
+ default:
+ throw new IOException("bad domain name: '" + buf + "' at " + off);
+ }
+ }
+ this.off = (next >= 0) ? next : off;
+ return buf.toString();
+ }
+
+ /**
+ * Debugging.
+ */
+ String print(boolean dump)
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append(toString() + "\n");
+ for (Iterator iterator = questions.iterator(); iterator.hasNext();)
+ {
+ buf.append(" ques:" + iterator.next() + "\n");
+ }
+ int count = 0;
+ for (Iterator iterator = answers.iterator(); iterator.hasNext(); count++)
+ {
+ if (count < numAnswers)
+ {
+ buf.append(" answ:");
+ }
+ else
+ {
+ if (count < numAnswers + numAuthorities)
+ {
+ buf.append(" auth:");
+ }
+ else
+ {
+ buf.append(" addi:");
+ }
+ }
+ buf.append(iterator.next() + "\n");
+ }
+ if (dump)
+ {
+ for (int off = 0, len = packet.getLength(); off < len; off += 32)
+ {
+ int n = Math.min(32, len - off);
+ if (off < 10)
+ {
+ buf.append(' ');
+ }
+ if (off < 100)
+ {
+ buf.append(' ');
+ }
+ buf.append(off);
+ buf.append(':');
+ for (int i = 0; i < n; i++)
+ {
+ if ((i % 8) == 0)
+ {
+ buf.append(' ');
+ }
+ buf.append(Integer.toHexString((data[off + i] & 0xF0) >> 4));
+ buf.append(Integer.toHexString((data[off + i] & 0x0F) >> 0));
+ }
+ buf.append("\n");
+ buf.append(" ");
+ for (int i = 0; i < n; i++)
+ {
+ if ((i % 8) == 0)
+ {
+ buf.append(' ');
+ }
+ buf.append(' ');
+ int ch = data[off + i] & 0xFF;
+ buf.append(((ch > ' ') && (ch < 127)) ? (char) ch : '.');
+ }
+ buf.append("\n");
+
+ // limit message size
+ if (off + 32 >= 256)
+ {
+ buf.append("....\n");
+ break;
+ }
+ }
+ }
+ return buf.toString();
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append(isQuery() ? "dns[query," : "dns[response,");
+ if (packet.getAddress() != null)
+ {
+ buf.append(packet.getAddress().getHostAddress());
+ }
+ buf.append(':');
+ buf.append(packet.getPort());
+ buf.append(",len=");
+ buf.append(packet.getLength());
+ buf.append(",id=0x");
+ buf.append(Integer.toHexString(id));
+ if (flags != 0)
+ {
+ buf.append(",flags=0x");
+ buf.append(Integer.toHexString(flags));
+ if ((flags & DNSConstants.FLAGS_QR_RESPONSE) != 0)
+ {
+ buf.append(":r");
+ }
+ if ((flags & DNSConstants.FLAGS_AA) != 0)
+ {
+ buf.append(":aa");
+ }
+ if ((flags & DNSConstants.FLAGS_TC) != 0)
+ {
+ buf.append(":tc");
+ }
+ }
+ if (numQuestions > 0)
+ {
+ buf.append(",questions=");
+ buf.append(numQuestions);
+ }
+ if (numAnswers > 0)
+ {
+ buf.append(",answers=");
+ buf.append(numAnswers);
+ }
+ if (numAuthorities > 0)
+ {
+ buf.append(",authorities=");
+ buf.append(numAuthorities);
+ }
+ if (numAdditionals > 0)
+ {
+ buf.append(",additionals=");
+ buf.append(numAdditionals);
+ }
+ buf.append("]");
+ return buf.toString();
+ }
+
+ /**
+ * Appends answers to this Incoming.
+ *
+ * @throws IllegalArgumentException If not a query or if Truncated.
+ */
+ void append(DNSIncoming that)
+ {
+ if (this.isQuery() && this.isTruncated() && that.isQuery())
+ {
+ this.questions.addAll(that.questions);
+ this.numQuestions += that.numQuestions;
+
+ if (Collections.EMPTY_LIST.equals(answers))
+ {
+ answers = Collections.synchronizedList(new ArrayList());
+ }
+
+ if (that.numAnswers > 0)
+ {
+ this.answers.addAll(this.numAnswers, that.answers.subList(0, that.numAnswers));
+ this.numAnswers += that.numAnswers;
+ }
+ if (that.numAuthorities > 0)
+ {
+ this.answers.addAll(this.numAnswers + this.numAuthorities, that.answers.subList(that.numAnswers, that.numAnswers + that.numAuthorities));
+ this.numAuthorities += that.numAuthorities;
+ }
+ if (that.numAdditionals > 0)
+ {
+ this.answers.addAll(that.answers.subList(that.numAnswers + that.numAuthorities, that.numAnswers + that.numAuthorities + that.numAdditionals));
+ this.numAdditionals += that.numAdditionals;
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException();
+ }
+ }
+
+ int elapseSinceArrival()
+ {
+ return (int) (System.currentTimeMillis() - receivedTime);
+ }
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSListener.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSListener.java
new file mode 100644
index 0000000000..355fcd88b3
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSListener.java
@@ -0,0 +1,24 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+// REMIND: Listener should follow Java idiom for listener or have a different
+// name.
+
+/**
+ * DNSListener.
+ * Listener for record updates.
+ *
+ * @author Werner Randelshofer, Rick Blair
+ * @version 1.0 May 22, 2004 Created.
+ */
+interface DNSListener
+{
+ /**
+ * Update a DNS record.
+ */
+ void updateRecord(JmDNS jmdns, long now, DNSRecord record);
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSOutgoing.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSOutgoing.java
new file mode 100644
index 0000000000..a7512e8249
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSOutgoing.java
@@ -0,0 +1,381 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.io.IOException;
+import java.util.Hashtable;
+import java.util.LinkedList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * An outgoing DNS message.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Rick Blair, Werner Randelshofer
+ */
+final class DNSOutgoing
+{
+ private static Logger logger = Logger.getLogger(DNSOutgoing.class.toString());
+ int id;
+ int flags;
+ private boolean multicast;
+ private int numQuestions;
+ private int numAnswers;
+ private int numAuthorities;
+ private int numAdditionals;
+ private Hashtable names;
+
+ byte data[];
+ int off;
+ int len;
+
+ /**
+ * Create an outgoing multicast query or response.
+ */
+ DNSOutgoing(int flags)
+ {
+ this(flags, true);
+ }
+
+ /**
+ * Create an outgoing query or response.
+ */
+ DNSOutgoing(int flags, boolean multicast)
+ {
+ this.flags = flags;
+ this.multicast = multicast;
+ names = new Hashtable();
+ data = new byte[DNSConstants.MAX_MSG_TYPICAL];
+ off = 12;
+ }
+
+ /**
+ * Add a question to the message.
+ */
+ void addQuestion(DNSQuestion rec) throws IOException
+ {
+ if (numAnswers > 0 || numAuthorities > 0 || numAdditionals > 0)
+ {
+ throw new IllegalStateException("Questions must be added before answers");
+ }
+ numQuestions++;
+ writeQuestion(rec);
+ }
+
+ /**
+ * Add an answer if it is not suppressed.
+ */
+ void addAnswer(DNSIncoming in, DNSRecord rec) throws IOException
+ {
+ if (numAuthorities > 0 || numAdditionals > 0)
+ {
+ throw new IllegalStateException("Answers must be added before authorities and additionals");
+ }
+ if (!rec.suppressedBy(in))
+ {
+ addAnswer(rec, 0);
+ }
+ }
+
+ /**
+ * Add an additional answer to the record. Omit if there is no room.
+ */
+ void addAdditionalAnswer(DNSIncoming in, DNSRecord rec) throws IOException
+ {
+ if ((off < DNSConstants.MAX_MSG_TYPICAL - 200) && !rec.suppressedBy(in))
+ {
+ writeRecord(rec, 0);
+ numAdditionals++;
+ }
+ }
+
+ /**
+ * Add an answer to the message.
+ */
+ void addAnswer(DNSRecord rec, long now) throws IOException
+ {
+ if (numAuthorities > 0 || numAdditionals > 0)
+ {
+ throw new IllegalStateException("Questions must be added before answers");
+ }
+ if (rec != null)
+ {
+ if ((now == 0) || !rec.isExpired(now))
+ {
+ writeRecord(rec, now);
+ numAnswers++;
+ }
+ }
+ }
+
+ private LinkedList authorativeAnswers = new LinkedList();
+
+ /**
+ * Add an authorative answer to the message.
+ */
+ void addAuthorativeAnswer(DNSRecord rec) throws IOException
+ {
+ if (numAdditionals > 0)
+ {
+ throw new IllegalStateException("Authorative answers must be added before additional answers");
+ }
+ authorativeAnswers.add(rec);
+ writeRecord(rec, 0);
+ numAuthorities++;
+
+ // VERIFY:
+
+ }
+
+ void writeByte(int value) throws IOException
+ {
+ if (off >= data.length)
+ {
+ throw new IOException("buffer full");
+ }
+ data[off++] = (byte) value;
+ }
+
+ void writeBytes(String str, int off, int len) throws IOException
+ {
+ for (int i = 0; i < len; i++)
+ {
+ writeByte(str.charAt(off + i));
+ }
+ }
+
+ void writeBytes(byte data[]) throws IOException
+ {
+ if (data != null)
+ {
+ writeBytes(data, 0, data.length);
+ }
+ }
+
+ void writeBytes(byte data[], int off, int len) throws IOException
+ {
+ for (int i = 0; i < len; i++)
+ {
+ writeByte(data[off + i]);
+ }
+ }
+
+ void writeShort(int value) throws IOException
+ {
+ writeByte(value >> 8);
+ writeByte(value);
+ }
+
+ void writeInt(int value) throws IOException
+ {
+ writeShort(value >> 16);
+ writeShort(value);
+ }
+
+ void writeUTF(String str, int off, int len) throws IOException
+ {
+ // compute utf length
+ int utflen = 0;
+ for (int i = 0; i < len; i++)
+ {
+ int ch = str.charAt(off + i);
+ if ((ch >= 0x0001) && (ch <= 0x007F))
+ {
+ utflen += 1;
+ }
+ else
+ {
+ if (ch > 0x07FF)
+ {
+ utflen += 3;
+ }
+ else
+ {
+ utflen += 2;
+ }
+ }
+ }
+ // write utf length
+ writeByte(utflen);
+ // write utf data
+ for (int i = 0; i < len; i++)
+ {
+ int ch = str.charAt(off + i);
+ if ((ch >= 0x0001) && (ch <= 0x007F))
+ {
+ writeByte(ch);
+ }
+ else
+ {
+ if (ch > 0x07FF)
+ {
+ writeByte(0xE0 | ((ch >> 12) & 0x0F));
+ writeByte(0x80 | ((ch >> 6) & 0x3F));
+ writeByte(0x80 | ((ch >> 0) & 0x3F));
+ }
+ else
+ {
+ writeByte(0xC0 | ((ch >> 6) & 0x1F));
+ writeByte(0x80 | ((ch >> 0) & 0x3F));
+ }
+ }
+ }
+ }
+
+ void writeName(String name) throws IOException
+ {
+ while (true)
+ {
+ int n = name.indexOf('.');
+ if (n < 0)
+ {
+ n = name.length();
+ }
+ if (n <= 0)
+ {
+ writeByte(0);
+ return;
+ }
+ Integer offset = (Integer) names.get(name);
+ if (offset != null)
+ {
+ int val = offset.intValue();
+
+ if (val > off)
+ {
+ logger.log(Level.WARNING, "DNSOutgoing writeName failed val=" + val + " name=" + name);
+ }
+
+ writeByte((val >> 8) | 0xC0);
+ writeByte(val);
+ return;
+ }
+ names.put(name, new Integer(off));
+ writeUTF(name, 0, n);
+ name = name.substring(n);
+ if (name.startsWith("."))
+ {
+ name = name.substring(1);
+ }
+ }
+ }
+
+ void writeQuestion(DNSQuestion question) throws IOException
+ {
+ writeName(question.name);
+ writeShort(question.type);
+ writeShort(question.clazz);
+ }
+
+ void writeRecord(DNSRecord rec, long now) throws IOException
+ {
+ int save = off;
+ try
+ {
+ writeName(rec.name);
+ writeShort(rec.type);
+ writeShort(rec.clazz | ((rec.unique && multicast) ? DNSConstants.CLASS_UNIQUE : 0));
+ writeInt((now == 0) ? rec.ttl : rec.getRemainingTTL(now));
+ writeShort(0);
+ int start = off;
+ rec.write(this);
+ int len = off - start;
+ data[start - 2] = (byte) (len >> 8);
+ data[start - 1] = (byte) (len & 0xFF);
+ }
+ catch (IOException e)
+ {
+ off = save;
+ throw e;
+ }
+ }
+
+ /**
+ * Finish the message before sending it off.
+ */
+ void finish() throws IOException
+ {
+ int save = off;
+ off = 0;
+
+ writeShort(multicast ? 0 : id);
+ writeShort(flags);
+ writeShort(numQuestions);
+ writeShort(numAnswers);
+ writeShort(numAuthorities);
+ writeShort(numAdditionals);
+ off = save;
+ }
+
+ boolean isQuery()
+ {
+ return (flags & DNSConstants.FLAGS_QR_MASK) == DNSConstants.FLAGS_QR_QUERY;
+ }
+
+ public boolean isEmpty()
+ {
+ return numQuestions == 0 && numAuthorities == 0
+ && numAdditionals == 0 && numAnswers == 0;
+ }
+
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append(isQuery() ? "dns[query," : "dns[response,");
+ //buf.append(packet.getAddress().getHostAddress());
+ buf.append(':');
+ //buf.append(packet.getPort());
+ //buf.append(",len=");
+ //buf.append(packet.getLength());
+ buf.append(",id=0x");
+ buf.append(Integer.toHexString(id));
+ if (flags != 0)
+ {
+ buf.append(",flags=0x");
+ buf.append(Integer.toHexString(flags));
+ if ((flags & DNSConstants.FLAGS_QR_RESPONSE) != 0)
+ {
+ buf.append(":r");
+ }
+ if ((flags & DNSConstants.FLAGS_AA) != 0)
+ {
+ buf.append(":aa");
+ }
+ if ((flags & DNSConstants.FLAGS_TC) != 0)
+ {
+ buf.append(":tc");
+ }
+ }
+ if (numQuestions > 0)
+ {
+ buf.append(",questions=");
+ buf.append(numQuestions);
+ }
+ if (numAnswers > 0)
+ {
+ buf.append(",answers=");
+ buf.append(numAnswers);
+ }
+ if (numAuthorities > 0)
+ {
+ buf.append(",authorities=");
+ buf.append(numAuthorities);
+ }
+ if (numAdditionals > 0)
+ {
+ buf.append(",additionals=");
+ buf.append(numAdditionals);
+ }
+ buf.append(",\nnames=" + names);
+ buf.append(",\nauthorativeAnswers=" + authorativeAnswers);
+
+ buf.append("]");
+ return buf.toString();
+ }
+
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSQuestion.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSQuestion.java
new file mode 100644
index 0000000000..826b7ad609
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSQuestion.java
@@ -0,0 +1,44 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.util.logging.Logger;
+
+/**
+ * A DNS question.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff
+ */
+final class DNSQuestion extends DNSEntry
+{
+ private static Logger logger = Logger.getLogger(DNSQuestion.class.toString());
+
+ /**
+ * Create a question.
+ */
+ DNSQuestion(String name, int type, int clazz)
+ {
+ super(name, type, clazz);
+ }
+
+ /**
+ * Check if this question is answered by a given DNS record.
+ */
+ boolean answeredBy(DNSRecord rec)
+ {
+ return (clazz == rec.clazz) && ((type == rec.type) || (type == DNSConstants.TYPE_ANY)) &&
+ name.equals(rec.name);
+ }
+
+ /**
+ * For debugging only.
+ */
+ public String toString()
+ {
+ return toString("question", null);
+ }
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSRecord.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSRecord.java
new file mode 100644
index 0000000000..d2ada9ac7e
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSRecord.java
@@ -0,0 +1,673 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Iterator;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * DNS record
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Rick Blair, Werner Randelshofer, Pierre Frisch
+ */
+abstract class DNSRecord extends DNSEntry
+{
+ private static Logger logger = Logger.getLogger(DNSRecord.class.toString());
+ int ttl;
+ private long created;
+
+ /**
+ * Create a DNSRecord with a name, type, clazz, and ttl.
+ */
+ DNSRecord(String name, int type, int clazz, int ttl)
+ {
+ super(name, type, clazz);
+ this.ttl = ttl;
+ this.created = System.currentTimeMillis();
+ }
+
+ /**
+ * True if this record is the same as some other record.
+ */
+ public boolean equals(Object other)
+ {
+ return (other instanceof DNSRecord) && sameAs((DNSRecord) other);
+ }
+
+ /**
+ * True if this record is the same as some other record.
+ */
+ boolean sameAs(DNSRecord other)
+ {
+ return super.equals(other) && sameValue((DNSRecord) other);
+ }
+
+ /**
+ * True if this record has the same value as some other record.
+ */
+ abstract boolean sameValue(DNSRecord other);
+
+ /**
+ * True if this record has the same type as some other record.
+ */
+ boolean sameType(DNSRecord other)
+ {
+ return type == other.type;
+ }
+
+ /**
+ * Handles a query represented by this record.
+ *
+ * @return Returns true if a conflict with one of the services registered
+ * with JmDNS or with the hostname occured.
+ */
+ abstract boolean handleQuery(JmDNS dns, long expirationTime);
+
+ /**
+ * Handles a responserepresented by this record.
+ *
+ * @return Returns true if a conflict with one of the services registered
+ * with JmDNS or with the hostname occured.
+ */
+ abstract boolean handleResponse(JmDNS dns);
+
+ /**
+ * Adds this as an answer to the provided outgoing datagram.
+ */
+ abstract DNSOutgoing addAnswer(JmDNS dns, DNSIncoming in, InetAddress addr, int port, DNSOutgoing out) throws IOException;
+
+ /**
+ * True if this record is suppressed by the answers in a message.
+ */
+ boolean suppressedBy(DNSIncoming msg)
+ {
+ try
+ {
+ for (int i = msg.numAnswers; i-- > 0;)
+ {
+ if (suppressedBy((DNSRecord) msg.answers.get(i)))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ catch (ArrayIndexOutOfBoundsException e)
+ {
+ logger.log(Level.WARNING, "suppressedBy() message " + msg + " exception ", e);
+ // msg.print(true);
+ return false;
+ }
+ }
+
+ /**
+ * True if this record would be supressed by an answer.
+ * This is the case if this record would not have a
+ * significantly longer TTL.
+ */
+ boolean suppressedBy(DNSRecord other)
+ {
+ if (sameAs(other) && (other.ttl > ttl / 2))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Get the expiration time of this record.
+ */
+ long getExpirationTime(int percent)
+ {
+ return created + (percent * ttl * 10L);
+ }
+
+ /**
+ * Get the remaining TTL for this record.
+ */
+ int getRemainingTTL(long now)
+ {
+ return (int) Math.max(0, (getExpirationTime(100) - now) / 1000);
+ }
+
+ /**
+ * Check if the record is expired.
+ */
+ boolean isExpired(long now)
+ {
+ return getExpirationTime(100) <= now;
+ }
+
+ /**
+ * Check if the record is stale, ie it has outlived
+ * more than half of its TTL.
+ */
+ boolean isStale(long now)
+ {
+ return getExpirationTime(50) <= now;
+ }
+
+ /**
+ * Reset the TTL of a record. This avoids having to
+ * update the entire record in the cache.
+ */
+ void resetTTL(DNSRecord other)
+ {
+ created = other.created;
+ ttl = other.ttl;
+ }
+
+ /**
+ * Write this record into an outgoing message.
+ */
+ abstract void write(DNSOutgoing out) throws IOException;
+
+ /**
+ * Address record.
+ */
+ static class Address extends DNSRecord
+ {
+ private static Logger logger = Logger.getLogger(Address.class.toString());
+ InetAddress addr;
+
+ Address(String name, int type, int clazz, int ttl, InetAddress addr)
+ {
+ super(name, type, clazz, ttl);
+ this.addr = addr;
+ }
+
+ Address(String name, int type, int clazz, int ttl, byte[] rawAddress)
+ {
+ super(name, type, clazz, ttl);
+ try
+ {
+ this.addr = InetAddress.getByAddress(rawAddress);
+ }
+ catch (UnknownHostException exception)
+ {
+ logger.log(Level.WARNING, "Address() exception ", exception);
+ }
+ }
+
+ void write(DNSOutgoing out) throws IOException
+ {
+ if (addr != null)
+ {
+ byte[] buffer = addr.getAddress();
+ if (DNSConstants.TYPE_A == type)
+ {
+ // If we have a type A records we should answer with a IPv4 address
+ if (addr instanceof Inet4Address)
+ {
+ // All is good
+ }
+ else
+ {
+ // Get the last four bytes
+ byte[] tempbuffer = buffer;
+ buffer = new byte[4];
+ System.arraycopy(tempbuffer, 12, buffer, 0, 4);
+ }
+ }
+ else
+ {
+ // If we have a type AAAA records we should answer with a IPv6 address
+ if (addr instanceof Inet4Address)
+ {
+ byte[] tempbuffer = buffer;
+ buffer = new byte[16];
+ for (int i = 0; i < 16; i++)
+ {
+ if (i < 11)
+ {
+ buffer[i] = tempbuffer[i - 12];
+ }
+ else
+ {
+ buffer[i] = 0;
+ }
+ }
+ }
+ }
+ int length = buffer.length;
+ out.writeBytes(buffer, 0, length);
+ }
+ }
+
+ boolean same(DNSRecord other)
+ {
+ return ((sameName(other)) && ((sameValue(other))));
+ }
+
+ boolean sameName(DNSRecord other)
+ {
+ return name.equalsIgnoreCase(((Address) other).name);
+ }
+
+ boolean sameValue(DNSRecord other)
+ {
+ return addr.equals(((Address) other).getAddress());
+ }
+
+ InetAddress getAddress()
+ {
+ return addr;
+ }
+
+ /**
+ * Creates a byte array representation of this record.
+ * This is needed for tie-break tests according to
+ * draft-cheshire-dnsext-multicastdns-04.txt chapter 9.2.
+ */
+ private byte[] toByteArray()
+ {
+ try
+ {
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ DataOutputStream dout = new DataOutputStream(bout);
+ dout.write(name.getBytes("UTF8"));
+ dout.writeShort(type);
+ dout.writeShort(clazz);
+ //dout.writeInt(len);
+ byte[] buffer = addr.getAddress();
+ for (int i = 0; i < buffer.length; i++)
+ {
+ dout.writeByte(buffer[i]);
+ }
+ dout.close();
+ return bout.toByteArray();
+ }
+ catch (IOException e)
+ {
+ throw new InternalError();
+ }
+ }
+
+ /**
+ * Does a lexicographic comparison of the byte array representation
+ * of this record and that record.
+ * This is needed for tie-break tests according to
+ * draft-cheshire-dnsext-multicastdns-04.txt chapter 9.2.
+ */
+ private int lexCompare(DNSRecord.Address that)
+ {
+ byte[] thisBytes = this.toByteArray();
+ byte[] thatBytes = that.toByteArray();
+ for (int i = 0, n = Math.min(thisBytes.length, thatBytes.length); i < n; i++)
+ {
+ if (thisBytes[i] > thatBytes[i])
+ {
+ return 1;
+ }
+ else
+ {
+ if (thisBytes[i] < thatBytes[i])
+ {
+ return -1;
+ }
+ }
+ }
+ return thisBytes.length - thatBytes.length;
+ }
+
+ /**
+ * Does the necessary actions, when this as a query.
+ */
+ boolean handleQuery(JmDNS dns, long expirationTime)
+ {
+ DNSRecord.Address dnsAddress = dns.getLocalHost().getDNSAddressRecord(this);
+ if (dnsAddress != null)
+ {
+ if (dnsAddress.sameType(this) && dnsAddress.sameName(this) && (!dnsAddress.sameValue(this)))
+ {
+ logger.finer("handleQuery() Conflicting probe detected. dns state " + dns.getState() + " lex compare " + lexCompare(dnsAddress));
+ // Tie-breaker test
+ if (dns.getState().isProbing() && lexCompare(dnsAddress) >= 0)
+ {
+ // We lost the tie-break. We have to choose a different name.
+ dns.getLocalHost().incrementHostName();
+ dns.getCache().clear();
+ for (Iterator i = dns.services.values().iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ info.revertState();
+ }
+ }
+ dns.revertState();
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Does the necessary actions, when this as a response.
+ */
+ boolean handleResponse(JmDNS dns)
+ {
+ DNSRecord.Address dnsAddress = dns.getLocalHost().getDNSAddressRecord(this);
+ if (dnsAddress != null)
+ {
+ if (dnsAddress.sameType(this) && dnsAddress.sameName(this) && (!dnsAddress.sameValue(this)))
+ {
+ logger.finer("handleResponse() Denial detected");
+
+ if (dns.getState().isProbing())
+ {
+ dns.getLocalHost().incrementHostName();
+ dns.getCache().clear();
+ for (Iterator i = dns.services.values().iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ info.revertState();
+ }
+ }
+ dns.revertState();
+ return true;
+ }
+ }
+ return false;
+ }
+
+ DNSOutgoing addAnswer(JmDNS dns, DNSIncoming in, InetAddress addr, int port, DNSOutgoing out) throws IOException
+ {
+ return out;
+ }
+
+ public String toString()
+ {
+ return toString(" address '" + (addr != null ? addr.getHostAddress() : "null") + "'");
+ }
+
+ }
+
+ /**
+ * Pointer record.
+ */
+ static class Pointer extends DNSRecord
+ {
+ private static Logger logger = Logger.getLogger(Pointer.class.toString());
+ String alias;
+
+ Pointer(String name, int type, int clazz, int ttl, String alias)
+ {
+ super(name, type, clazz, ttl);
+ this.alias = alias;
+ }
+
+ void write(DNSOutgoing out) throws IOException
+ {
+ out.writeName(alias);
+ }
+
+ boolean sameValue(DNSRecord other)
+ {
+ return alias.equals(((Pointer) other).alias);
+ }
+
+ boolean handleQuery(JmDNS dns, long expirationTime)
+ {
+ // Nothing to do (?)
+ // I think there is no possibility for conflicts for this record type?
+ return false;
+ }
+
+ boolean handleResponse(JmDNS dns)
+ {
+ // Nothing to do (?)
+ // I think there is no possibility for conflicts for this record type?
+ return false;
+ }
+
+ String getAlias()
+ {
+ return alias;
+ }
+
+ DNSOutgoing addAnswer(JmDNS dns, DNSIncoming in, InetAddress addr, int port, DNSOutgoing out) throws IOException
+ {
+ return out;
+ }
+
+ public String toString()
+ {
+ return toString(alias);
+ }
+ }
+
+ static class Text extends DNSRecord
+ {
+ private static Logger logger = Logger.getLogger(Text.class.toString());
+ byte text[];
+
+ Text(String name, int type, int clazz, int ttl, byte text[])
+ {
+ super(name, type, clazz, ttl);
+ this.text = text;
+ }
+
+ void write(DNSOutgoing out) throws IOException
+ {
+ out.writeBytes(text, 0, text.length);
+ }
+
+ boolean sameValue(DNSRecord other)
+ {
+ Text txt = (Text) other;
+ if (txt.text.length != text.length)
+ {
+ return false;
+ }
+ for (int i = text.length; i-- > 0;)
+ {
+ if (txt.text[i] != text[i])
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ boolean handleQuery(JmDNS dns, long expirationTime)
+ {
+ // Nothing to do (?)
+ // I think there is no possibility for conflicts for this record type?
+ return false;
+ }
+
+ boolean handleResponse(JmDNS dns)
+ {
+ // Nothing to do (?)
+ // Shouldn't we care if we get a conflict at this level?
+ /*
+ ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase());
+ if (info != null) {
+ if (! Arrays.equals(text,info.text)) {
+ info.revertState();
+ return true;
+ }
+ }*/
+ return false;
+ }
+
+ DNSOutgoing addAnswer(JmDNS dns, DNSIncoming in, InetAddress addr, int port, DNSOutgoing out) throws IOException
+ {
+ return out;
+ }
+
+ public String toString()
+ {
+ return toString((text.length > 10) ? new String(text, 0, 7) + "..." : new String(text));
+ }
+ }
+
+ /**
+ * Service record.
+ */
+ static class Service extends DNSRecord
+ {
+ private static Logger logger = Logger.getLogger(Service.class.toString());
+ int priority;
+ int weight;
+ int port;
+ String server;
+
+ Service(String name, int type, int clazz, int ttl, int priority, int weight, int port, String server)
+ {
+ super(name, type, clazz, ttl);
+ this.priority = priority;
+ this.weight = weight;
+ this.port = port;
+ this.server = server;
+ }
+
+ void write(DNSOutgoing out) throws IOException
+ {
+ out.writeShort(priority);
+ out.writeShort(weight);
+ out.writeShort(port);
+ out.writeName(server);
+ }
+
+ private byte[] toByteArray()
+ {
+ try
+ {
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ DataOutputStream dout = new DataOutputStream(bout);
+ dout.write(name.getBytes("UTF8"));
+ dout.writeShort(type);
+ dout.writeShort(clazz);
+ //dout.writeInt(len);
+ dout.writeShort(priority);
+ dout.writeShort(weight);
+ dout.writeShort(port);
+ dout.write(server.getBytes("UTF8"));
+ dout.close();
+ return bout.toByteArray();
+ }
+ catch (IOException e)
+ {
+ throw new InternalError();
+ }
+ }
+
+ private int lexCompare(DNSRecord.Service that)
+ {
+ byte[] thisBytes = this.toByteArray();
+ byte[] thatBytes = that.toByteArray();
+ for (int i = 0, n = Math.min(thisBytes.length, thatBytes.length); i < n; i++)
+ {
+ if (thisBytes[i] > thatBytes[i])
+ {
+ return 1;
+ }
+ else
+ {
+ if (thisBytes[i] < thatBytes[i])
+ {
+ return -1;
+ }
+ }
+ }
+ return thisBytes.length - thatBytes.length;
+ }
+
+ boolean sameValue(DNSRecord other)
+ {
+ Service s = (Service) other;
+ return (priority == s.priority) && (weight == s.weight) && (port == s.port) && server.equals(s.server);
+ }
+
+ boolean handleQuery(JmDNS dns, long expirationTime)
+ {
+ ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase());
+ if (info != null
+ && (port != info.port || !server.equalsIgnoreCase(dns.getLocalHost().getName())))
+ {
+ logger.finer("handleQuery() Conflicting probe detected");
+
+ // Tie breaker test
+ if (info.getState().isProbing() && lexCompare(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV,
+ DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE,
+ DNSConstants.DNS_TTL, info.priority,
+ info.weight, info.port, dns.getLocalHost().getName())) >= 0)
+ {
+ // We lost the tie break
+ String oldName = info.getQualifiedName().toLowerCase();
+ info.setName(dns.incrementName(info.getName()));
+ dns.services.remove(oldName);
+ dns.services.put(info.getQualifiedName().toLowerCase(), info);
+ logger.finer("handleQuery() Lost tie break: new unique name chosen:" + info.getName());
+
+ }
+ info.revertState();
+ return true;
+
+ }
+ return false;
+ }
+
+ boolean handleResponse(JmDNS dns)
+ {
+ ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase());
+ if (info != null
+ && (port != info.port || !server.equalsIgnoreCase(dns.getLocalHost().getName())))
+ {
+ logger.finer("handleResponse() Denial detected");
+
+ if (info.getState().isProbing())
+ {
+ String oldName = info.getQualifiedName().toLowerCase();
+ info.setName(dns.incrementName(info.getName()));
+ dns.services.remove(oldName);
+ dns.services.put(info.getQualifiedName().toLowerCase(), info);
+ logger.finer("handleResponse() New unique name chose:" + info.getName());
+
+ }
+ info.revertState();
+ return true;
+ }
+ return false;
+ }
+
+ DNSOutgoing addAnswer(JmDNS dns, DNSIncoming in, InetAddress addr, int port, DNSOutgoing out) throws IOException
+ {
+ ServiceInfo info = (ServiceInfo) dns.services.get(name.toLowerCase());
+ if (info != null)
+ {
+ if (this.port == info.port != server.equals(dns.getLocalHost().getName()))
+ {
+ return dns.addAnswer(in, addr, port, out,
+ new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV,
+ DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE,
+ DNSConstants.DNS_TTL, info.priority,
+ info.weight, info.port, dns.getLocalHost().getName()));
+ }
+ }
+ return out;
+ }
+
+ public String toString()
+ {
+ return toString(server + ":" + port);
+ }
+ }
+
+ public String toString(String other)
+ {
+ return toString("record", ttl + "/" + getRemainingTTL(System.currentTimeMillis()) + "," + other);
+ }
+}
+
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSState.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSState.java
new file mode 100644
index 0000000000..137875fcde
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/DNSState.java
@@ -0,0 +1,111 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+package org.apache.activemq.jmdns;
+
+import java.util.ArrayList;
+import java.util.logging.Logger;
+
+/**
+ * DNSState defines the possible states for services registered with JmDNS.
+ *
+ * @author Werner Randelshofer, Rick Blair
+ * @version 1.0 May 23, 2004 Created.
+ */
+public class DNSState implements Comparable
+{
+ private static Logger logger = Logger.getLogger(DNSState.class.toString());
+
+ private final String name;
+
+ /**
+ * Ordinal of next state to be created.
+ */
+ private static int nextOrdinal = 0;
+ /**
+ * Assign an ordinal to this state.
+ */
+ private final int ordinal = nextOrdinal++;
+ /**
+ * Logical sequence of states.
+ * The sequence is consistent with the ordinal of a state.
+ * This is used for advancing through states.
+ */
+ private final static ArrayList sequence = new ArrayList();
+
+ private DNSState(String name)
+ {
+ this.name = name;
+ sequence.add(this);
+ }
+
+ public final String toString()
+ {
+ return name;
+ }
+
+ public static final DNSState PROBING_1 = new DNSState("probing 1");
+ public static final DNSState PROBING_2 = new DNSState("probing 2");
+ public static final DNSState PROBING_3 = new DNSState("probing 3");
+ public static final DNSState ANNOUNCING_1 = new DNSState("announcing 1");
+ public static final DNSState ANNOUNCING_2 = new DNSState("announcing 2");
+ public static final DNSState ANNOUNCED = new DNSState("announced");
+ public static final DNSState CANCELED = new DNSState("canceled");
+
+ /**
+ * Returns the next advanced state.
+ * In general, this advances one step in the following sequence: PROBING_1,
+ * PROBING_2, PROBING_3, ANNOUNCING_1, ANNOUNCING_2, ANNOUNCED.
+ * Does not advance for ANNOUNCED and CANCELED state.
+ */
+ public final DNSState advance()
+ {
+ return (isProbing() || isAnnouncing()) ? (DNSState) sequence.get(ordinal + 1) : this;
+ }
+
+ /**
+ * Returns to the next reverted state.
+ * All states except CANCELED revert to PROBING_1.
+ * Status CANCELED does not revert.
+ */
+ public final DNSState revert()
+ {
+ return (this == CANCELED) ? this : PROBING_1;
+ }
+
+ /**
+ * Returns true, if this is a probing state.
+ */
+ public boolean isProbing()
+ {
+ return compareTo(PROBING_1) >= 0 && compareTo(PROBING_3) <= 0;
+ }
+
+ /**
+ * Returns true, if this is an announcing state.
+ */
+ public boolean isAnnouncing()
+ {
+ return compareTo(ANNOUNCING_1) >= 0 && compareTo(ANNOUNCING_2) <= 0;
+ }
+
+ /**
+ * Returns true, if this is an announced state.
+ */
+ public boolean isAnnounced()
+ {
+ return compareTo(ANNOUNCED) == 0;
+ }
+
+ /**
+ * Compares two states.
+ * The states compare as follows:
+ * PROBING_1 < PROBING_2 < PROBING_3 < ANNOUNCING_1 <
+ * ANNOUNCING_2 < RESPONDING < ANNOUNCED < CANCELED.
+ */
+ public int compareTo(Object o)
+ {
+ return ordinal - ((DNSState) o).ordinal;
+ }
+}
\ No newline at end of file
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/HostInfo.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/HostInfo.java
new file mode 100644
index 0000000000..151de5b357
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/HostInfo.java
@@ -0,0 +1,138 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+
+package org.apache.activemq.jmdns;
+
+import java.net.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * HostInfo information on the local host to be able to cope with change of addresses.
+ *
+ * @version %I%, %G%
+ * @author Pierre Frisch, Werner Randelshofer
+ */
+class HostInfo
+{
+ private static Logger logger = Logger.getLogger(HostInfo.class.toString());
+ protected String name;
+ protected InetAddress address;
+ protected NetworkInterface interfaze;
+ /**
+ * This is used to create a unique name for the host name.
+ */
+ private int hostNameCount;
+
+ public HostInfo(InetAddress address, String name)
+ {
+ super();
+ this.address = address;
+ this.name = name;
+ if (address != null)
+ {
+ try
+ {
+ interfaze = NetworkInterface.getByInetAddress(address);
+ }
+ catch (Exception exception)
+ {
+ // FIXME Shouldn't we take an action here?
+ logger.log(Level.WARNING, "LocalHostInfo() exception ", exception);
+ }
+ }
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public InetAddress getAddress()
+ {
+ return address;
+ }
+
+ public NetworkInterface getInterface()
+ {
+ return interfaze;
+ }
+
+ synchronized String incrementHostName()
+ {
+ hostNameCount++;
+ int plocal = name.indexOf(".local.");
+ int punder = name.lastIndexOf("-");
+ name = name.substring(0, (punder == -1 ? plocal : punder)) + "-" + hostNameCount + ".local.";
+ return name;
+ }
+
+ boolean shouldIgnorePacket(DatagramPacket packet)
+ {
+ boolean result = false;
+ if (getAddress() != null)
+ {
+ InetAddress from = packet.getAddress();
+ if (from != null)
+ {
+ if (from.isLinkLocalAddress() && (!getAddress().isLinkLocalAddress()))
+ {
+ // Ignore linklocal packets on regular interfaces, unless this is
+ // also a linklocal interface. This is to avoid duplicates. This is
+ // a terrible hack caused by the lack of an API to get the address
+ // of the interface on which the packet was received.
+ result = true;
+ }
+ if (from.isLoopbackAddress() && (!getAddress().isLoopbackAddress()))
+ {
+ // Ignore loopback packets on a regular interface unless this is
+ // also a loopback interface.
+ result = true;
+ }
+ }
+ }
+ return result;
+ }
+
+ DNSRecord.Address getDNSAddressRecord(DNSRecord.Address address)
+ {
+ return (DNSConstants.TYPE_AAAA == address.type ? getDNS6AddressRecord() : getDNS4AddressRecord());
+ }
+
+ DNSRecord.Address getDNS4AddressRecord()
+ {
+ if ((getAddress() != null) &&
+ ((getAddress() instanceof Inet4Address) ||
+ ((getAddress() instanceof Inet6Address) && (((Inet6Address) getAddress()).isIPv4CompatibleAddress()))))
+ {
+ return new DNSRecord.Address(getName(), DNSConstants.TYPE_A, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, getAddress());
+ }
+ return null;
+ }
+
+ DNSRecord.Address getDNS6AddressRecord()
+ {
+ if ((getAddress() != null) && (getAddress() instanceof Inet6Address))
+ {
+ return new DNSRecord.Address(getName(), DNSConstants.TYPE_AAAA, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, getAddress());
+ }
+ return null;
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("local host info[");
+ buf.append(getName() != null ? getName() : "no name");
+ buf.append(", ");
+ buf.append(getInterface() != null ? getInterface().getDisplayName() : "???");
+ buf.append(":");
+ buf.append(getAddress() != null ? getAddress().getHostAddress() : "no address");
+ buf.append("]");
+ return buf.toString();
+ }
+
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/JmDNS.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/JmDNS.java
new file mode 100644
index 0000000000..8a808f30c3
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/JmDNS.java
@@ -0,0 +1,2559 @@
+///Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+
+package org.apache.activemq.jmdns;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.InetAddress;
+import java.net.MulticastSocket;
+import java.util.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+// REMIND: multiple IP addresses
+
+/**
+ * mDNS implementation in Java.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Rick Blair, Jeff Sonstein,
+ * Werner Randelshofer, Pierre Frisch, Scott Lewis
+ */
+public class JmDNS
+{
+ private static Logger logger = Logger.getLogger(JmDNS.class.toString());
+ /**
+ * The version of JmDNS.
+ */
+ public static String VERSION = "2.0";
+
+ /**
+ * This is the multicast group, we are listening to for multicast DNS messages.
+ */
+ private InetAddress group;
+ /**
+ * This is our multicast socket.
+ */
+ private MulticastSocket socket;
+
+ /**
+ * Used to fix live lock problem on unregester.
+ */
+
+ protected boolean closed = false;
+
+ /**
+ * Holds instances of JmDNS.DNSListener.
+ * Must by a synchronized collection, because it is updated from
+ * concurrent threads.
+ */
+ private List listeners;
+ /**
+ * Holds instances of ServiceListener's.
+ * Keys are Strings holding a fully qualified service type.
+ * Values are LinkedList's of ServiceListener's.
+ */
+ private Map serviceListeners;
+ /**
+ * Holds instances of ServiceTypeListener's.
+ */
+ private List typeListeners;
+
+
+ /**
+ * Cache for DNSEntry's.
+ */
+ private DNSCache cache;
+
+ /**
+ * This hashtable holds the services that have been registered.
+ * Keys are instances of String which hold an all lower-case version of the
+ * fully qualified service name.
+ * Values are instances of ServiceInfo.
+ */
+ Map services;
+
+ /**
+ * This hashtable holds the service types that have been registered or
+ * that have been received in an incoming datagram.
+ * Keys are instances of String which hold an all lower-case version of the
+ * fully qualified service type.
+ * Values hold the fully qualified service type.
+ */
+ Map serviceTypes;
+ /**
+ * This is the shutdown hook, we registered with the java runtime.
+ */
+ private Thread shutdown;
+
+ /**
+ * Handle on the local host
+ */
+ HostInfo localHost;
+
+ private Thread incomingListener = null;
+
+ /**
+ * Throttle count.
+ * This is used to count the overall number of probes sent by JmDNS.
+ * When the last throttle increment happened .
+ */
+ private int throttle;
+ /**
+ * Last throttle increment.
+ */
+ private long lastThrottleIncrement;
+
+ /**
+ * The timer is used to dispatch all outgoing messages of JmDNS.
+ * It is also used to dispatch maintenance tasks for the DNS cache.
+ */
+ private Timer timer;
+
+ /**
+ * The source for random values.
+ * This is used to introduce random delays in responses. This reduces the
+ * potential for collisions on the network.
+ */
+ private final static Random random = new Random();
+
+ /**
+ * This lock is used to coordinate processing of incoming and outgoing
+ * messages. This is needed, because the Rendezvous Conformance Test
+ * does not forgive race conditions.
+ */
+ private Object ioLock = new Object();
+
+ /**
+ * If an incoming package which needs an answer is truncated, we store it
+ * here. We add more incoming DNSRecords to it, until the JmDNS.Responder
+ * timer picks it up.
+ * Remind: This does not work well with multiple planned answers for packages
+ * that came in from different clients.
+ */
+ private DNSIncoming plannedAnswer;
+
+ // State machine
+ /**
+ * The state of JmDNS.
+ *
+ * For proper handling of concurrency, this variable must be
+ * changed only using methods advanceState(), revertState() and cancel().
+ */
+ private DNSState state = DNSState.PROBING_1;
+
+ /**
+ * Timer task associated to the host name.
+ * This is used to prevent from having multiple tasks associated to the host
+ * name at the same time.
+ */
+ TimerTask task;
+
+ /**
+ * This hashtable is used to maintain a list of service types being collected
+ * by this JmDNS instance.
+ * The key of the hashtable is a service type name, the value is an instance
+ * of JmDNS.ServiceCollector.
+ *
+ * @see #list
+ */
+ private HashMap serviceCollectors = new HashMap();
+
+ /**
+ * Create an instance of JmDNS.
+ */
+ public JmDNS() throws IOException
+ {
+ logger.finer("JmDNS instance created");
+ try
+ {
+ InetAddress addr = InetAddress.getLocalHost();
+ init(addr.isLoopbackAddress() ? null : addr, addr.getHostName()); // [PJYF Oct 14 2004] Why do we disallow the loopback address?
+ }
+ catch (IOException e)
+ {
+ init(null, "computer");
+ }
+ }
+
+ /**
+ * Create an instance of JmDNS and bind it to a
+ * specific network interface given its IP-address.
+ */
+ public JmDNS(InetAddress addr) throws IOException
+ {
+ try
+ {
+ init(addr, addr.getHostName());
+ }
+ catch (IOException e)
+ {
+ init(null, "computer");
+ }
+ }
+
+ /**
+ * Initialize everything.
+ *
+ * @param address The interface to which JmDNS binds to.
+ * @param name The host name of the interface.
+ */
+ private void init(InetAddress address, String name) throws IOException
+ {
+ // A host name with "." is illegal. so strip off everything and append .local.
+ int idx = name.indexOf(".");
+ if (idx > 0)
+ {
+ name = name.substring(0, idx);
+ }
+ name += ".local.";
+ // localHost to IP address binding
+ localHost = new HostInfo(address, name);
+
+ cache = new DNSCache(100);
+
+ listeners = Collections.synchronizedList(new ArrayList());
+ serviceListeners = new HashMap();
+ typeListeners = new ArrayList();
+
+ services = new Hashtable(20);
+ serviceTypes = new Hashtable(20);
+
+ // REMIND: If I could pass in a name for the Timer thread,
+ // I would pass 'JmDNS.Timer'.
+ timer = new Timer();
+ new RecordReaper().start();
+ shutdown = new Thread(new Shutdown(), "JmDNS.Shutdown");
+ Runtime.getRuntime().addShutdownHook(shutdown);
+
+ incomingListener = new Thread(new SocketListener(), "JmDNS.SocketListener");
+
+ // Bind to multicast socket
+ openMulticastSocket(localHost);
+ start(services.values());
+ }
+
+ private void start(Collection serviceInfos)
+ {
+ state = DNSState.PROBING_1;
+ incomingListener.start();
+ new Prober().start();
+ for (Iterator iterator = serviceInfos.iterator(); iterator.hasNext();)
+ {
+ try
+ {
+ registerService(new ServiceInfo((ServiceInfo) iterator.next()));
+ }
+ catch (Exception exception)
+ {
+ logger.log(Level.WARNING, "start() Registration exception ", exception);
+ }
+ }
+ }
+
+ private void openMulticastSocket(HostInfo hostInfo) throws IOException
+ {
+ if (group == null)
+ {
+ group = InetAddress.getByName(DNSConstants.MDNS_GROUP);
+ }
+ if (socket != null)
+ {
+ this.closeMulticastSocket();
+ }
+ socket = new MulticastSocket(DNSConstants.MDNS_PORT);
+ if ((hostInfo != null) && (localHost.getInterface() != null))
+ {
+ socket.setNetworkInterface(hostInfo.getInterface());
+ }
+ socket.setTimeToLive(255);
+ socket.joinGroup(group);
+ }
+
+ private void closeMulticastSocket()
+ {
+ logger.finer("closeMulticastSocket()");
+ if (socket != null)
+ {
+ // close socket
+ try
+ {
+ socket.leaveGroup(group);
+ socket.close();
+ if (incomingListener != null)
+ {
+ incomingListener.join();
+ }
+ }
+ catch (Exception exception)
+ {
+ logger.log(Level.WARNING, "closeMulticastSocket() Close socket exception ", exception);
+ }
+ socket = null;
+ }
+ }
+
+ // State machine
+ /**
+ * Sets the state and notifies all objects that wait on JmDNS.
+ */
+ synchronized void advanceState()
+ {
+ state = state.advance();
+ notifyAll();
+ }
+
+ /**
+ * Sets the state and notifies all objects that wait on JmDNS.
+ */
+ synchronized void revertState()
+ {
+ state = state.revert();
+ notifyAll();
+ }
+
+ /**
+ * Sets the state and notifies all objects that wait on JmDNS.
+ */
+ synchronized void cancel()
+ {
+ state = DNSState.CANCELED;
+ notifyAll();
+ }
+
+ /**
+ * Returns the current state of this info.
+ */
+ DNSState getState()
+ {
+ return state;
+ }
+
+
+ /**
+ * Return the DNSCache associated with the cache variable
+ */
+ DNSCache getCache()
+ {
+ return cache;
+ }
+
+ /**
+ * Return the HostName associated with this JmDNS instance.
+ * Note: May not be the same as what started. The host name is subject to
+ * negotiation.
+ */
+ public String getHostName()
+ {
+ return localHost.getName();
+ }
+
+ public HostInfo getLocalHost()
+ {
+ return localHost;
+ }
+
+ /**
+ * Return the address of the interface to which this instance of JmDNS is
+ * bound.
+ */
+ public InetAddress getInterface() throws IOException
+ {
+ return socket.getInterface();
+ }
+
+ /**
+ * Get service information. If the information is not cached, the method
+ * will block until updated information is received.
+ *
+ * Usage note: Do not call this method from the AWT event dispatcher thread.
+ * You will make the user interface unresponsive.
+ *
+ * @param type fully qualified service type, such as _http._tcp.local. .
+ * @param name unqualified service name, such as foobar .
+ * @return null if the service information cannot be obtained
+ */
+ public ServiceInfo getServiceInfo(String type, String name)
+ {
+ return getServiceInfo(type, name, 3 * 1000);
+ }
+
+ /**
+ * Get service information. If the information is not cached, the method
+ * will block for the given timeout until updated information is received.
+ *
+ * Usage note: If you call this method from the AWT event dispatcher thread,
+ * use a small timeout, or you will make the user interface unresponsive.
+ *
+ * @param type full qualified service type, such as _http._tcp.local. .
+ * @param name unqualified service name, such as foobar .
+ * @param timeout timeout in milliseconds
+ * @return null if the service information cannot be obtained
+ */
+ public ServiceInfo getServiceInfo(String type, String name, int timeout)
+ {
+ ServiceInfo info = new ServiceInfo(type, name);
+ new ServiceInfoResolver(info).start();
+
+ try
+ {
+ long end = System.currentTimeMillis() + timeout;
+ long delay;
+ synchronized (info)
+ {
+ while (!info.hasData() && (delay = end - System.currentTimeMillis()) > 0)
+ {
+ info.wait(delay);
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ // empty
+ }
+
+ return (info.hasData()) ? info : null;
+ }
+
+ /**
+ * Request service information. The information about the service is
+ * requested and the ServiceListener.resolveService method is called as soon
+ * as it is available.
+ *
+ * Usage note: Do not call this method from the AWT event dispatcher thread.
+ * You will make the user interface unresponsive.
+ *
+ * @param type full qualified service type, such as _http._tcp.local. .
+ * @param name unqualified service name, such as foobar .
+ */
+ public void requestServiceInfo(String type, String name)
+ {
+ requestServiceInfo(type, name, 3 * 1000);
+ }
+
+ /**
+ * Request service information. The information about the service is requested
+ * and the ServiceListener.resolveService method is called as soon as it is available.
+ *
+ * @param type full qualified service type, such as _http._tcp.local. .
+ * @param name unqualified service name, such as foobar .
+ * @param timeout timeout in milliseconds
+ */
+ public void requestServiceInfo(String type, String name, int timeout)
+ {
+ registerServiceType(type);
+ ServiceInfo info = new ServiceInfo(type, name);
+ new ServiceInfoResolver(info).start();
+
+ try
+ {
+ long end = System.currentTimeMillis() + timeout;
+ long delay;
+ synchronized (info)
+ {
+ while (!info.hasData() && (delay = end - System.currentTimeMillis()) > 0)
+ {
+ info.wait(delay);
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ // empty
+ }
+ }
+
+ void handleServiceResolved(ServiceInfo info)
+ {
+ List list = (List) serviceListeners.get(info.type.toLowerCase());
+ if (list != null)
+ {
+ ServiceEvent event = new ServiceEvent(this, info.type, info.getName(), info);
+ // Iterate on a copy in case listeners will modify it
+ final ArrayList listCopy = new ArrayList(list);
+ for (Iterator iterator = listCopy.iterator(); iterator.hasNext();)
+ {
+ ((ServiceListener) iterator.next()).serviceResolved(event);
+ }
+ }
+ }
+
+ /**
+ * Listen for service types.
+ *
+ * @param listener listener for service types
+ */
+ public void addServiceTypeListener(ServiceTypeListener listener) throws IOException
+ {
+ synchronized (this)
+ {
+ typeListeners.remove(listener);
+ typeListeners.add(listener);
+ }
+
+ // report cached service types
+ for (Iterator iterator = serviceTypes.values().iterator(); iterator.hasNext();)
+ {
+ listener.serviceTypeAdded(new ServiceEvent(this, (String) iterator.next(), null, null));
+ }
+
+ new TypeResolver().start();
+ }
+
+ /**
+ * Remove listener for service types.
+ *
+ * @param listener listener for service types
+ */
+ public void removeServiceTypeListener(ServiceTypeListener listener)
+ {
+ synchronized (this)
+ {
+ typeListeners.remove(listener);
+ }
+ }
+
+ /**
+ * Listen for services of a given type. The type has to be a fully qualified
+ * type name such as _http._tcp.local..
+ *
+ * @param type full qualified service type, such as _http._tcp.local..
+ * @param listener listener for service updates
+ */
+ public void addServiceListener(String type, ServiceListener listener)
+ {
+ String lotype = type.toLowerCase();
+ removeServiceListener(lotype, listener);
+ List list = null;
+ synchronized (this)
+ {
+ list = (List) serviceListeners.get(lotype);
+ if (list == null)
+ {
+ list = Collections.synchronizedList(new LinkedList());
+ serviceListeners.put(lotype, list);
+ }
+ list.add(listener);
+ }
+
+ // report cached service types
+ for (Iterator i = cache.iterator(); i.hasNext();)
+ {
+ for (DNSCache.CacheNode n = (DNSCache.CacheNode) i.next(); n != null; n = n.next())
+ {
+ DNSRecord rec = (DNSRecord) n.getValue();
+ if (rec.type == DNSConstants.TYPE_SRV)
+ {
+ if (rec.name.endsWith(type))
+ {
+ listener.serviceAdded(new ServiceEvent(this, type, toUnqualifiedName(type, rec.name), null));
+ }
+ }
+ }
+ }
+ new ServiceResolver(type).start();
+ }
+
+ /**
+ * Remove listener for services of a given type.
+ *
+ * @param listener listener for service updates
+ */
+ public void removeServiceListener(String type, ServiceListener listener)
+ {
+ type = type.toLowerCase();
+ List list = (List) serviceListeners.get(type);
+ if (list != null)
+ {
+ synchronized (this)
+ {
+ list.remove(listener);
+ if (list.size() == 0)
+ {
+ serviceListeners.remove(type);
+ }
+ }
+ }
+ }
+
+ /**
+ * Register a service. The service is registered for access by other jmdns clients.
+ * The name of the service may be changed to make it unique.
+ */
+ public void registerService(ServiceInfo info) throws IOException
+ {
+ registerServiceType(info.type);
+
+ // bind the service to this address
+ info.server = localHost.getName();
+ info.addr = localHost.getAddress();
+
+ synchronized (this)
+ {
+ makeServiceNameUnique(info);
+ services.put(info.getQualifiedName().toLowerCase(), info);
+ }
+
+ new /*Service*/Prober().start();
+ try
+ {
+ synchronized (info)
+ {
+ while (info.getState().compareTo(DNSState.ANNOUNCED) < 0)
+ {
+ info.wait();
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ //empty
+ }
+ logger.fine("registerService() JmDNS registered service as " + info);
+ }
+
+ /**
+ * Unregister a service. The service should have been registered.
+ */
+ public void unregisterService(ServiceInfo info)
+ {
+ synchronized (this)
+ {
+ services.remove(info.getQualifiedName().toLowerCase());
+ }
+ info.cancel();
+
+ // Note: We use this lock object to synchronize on it.
+ // Synchronizing on another object (e.g. the ServiceInfo) does
+ // not make sense, because the sole purpose of the lock is to
+ // wait until the canceler has finished. If we synchronized on
+ // the ServiceInfo or on the Canceler, we would block all
+ // accesses to synchronized methods on that object. This is not
+ // what we want!
+ Object lock = new Object();
+ new Canceler(info, lock).start();
+
+ // Remind: We get a deadlock here, if the Canceler does not run!
+ try
+ {
+ synchronized (lock)
+ {
+ lock.wait();
+ }
+ }
+ catch (InterruptedException e)
+ {
+ // empty
+ }
+ }
+
+ /**
+ * Unregister all services.
+ */
+ public void unregisterAllServices()
+ {
+ logger.finer("unregisterAllServices()");
+ if (services.size() == 0)
+ {
+ return;
+ }
+
+ Collection list;
+ synchronized (this)
+ {
+ list = new LinkedList(services.values());
+ services.clear();
+ }
+ for (Iterator iterator = list.iterator(); iterator.hasNext();)
+ {
+ ((ServiceInfo) iterator.next()).cancel();
+ }
+
+
+ Object lock = new Object();
+ new Canceler(list, lock).start();
+ // Remind: We get a livelock here, if the Canceler does not run!
+ try {
+ synchronized (lock) {
+ if (!closed) {
+ lock.wait();
+ }
+ }
+ } catch (InterruptedException e) {
+ // empty
+ }
+
+
+ }
+
+ /**
+ * Register a service type. If this service type was not already known,
+ * all service listeners will be notified of the new service type. Service types
+ * are automatically registered as they are discovered.
+ */
+ public void registerServiceType(String type)
+ {
+ String name = type.toLowerCase();
+ if (serviceTypes.get(name) == null)
+ {
+ if ((type.indexOf("._mdns._udp.") < 0) && !type.endsWith(".in-addr.arpa."))
+ {
+ Collection list;
+ synchronized (this)
+ {
+ serviceTypes.put(name, type);
+ list = new LinkedList(typeListeners);
+ }
+ for (Iterator iterator = list.iterator(); iterator.hasNext();)
+ {
+ ((ServiceTypeListener) iterator.next()).serviceTypeAdded(new ServiceEvent(this, type, null, null));
+ }
+ }
+ }
+ }
+
+ /**
+ * Generate a possibly unique name for a host using the information we
+ * have in the cache.
+ *
+ * @return returns true, if the name of the host had to be changed.
+ */
+ private boolean makeHostNameUnique(DNSRecord.Address host)
+ {
+ String originalName = host.getName();
+ long now = System.currentTimeMillis();
+
+ boolean collision;
+ do
+ {
+ collision = false;
+
+ // Check for collision in cache
+ for (DNSCache.CacheNode j = cache.find(host.getName().toLowerCase()); j != null; j = j.next())
+ {
+ DNSRecord a = (DNSRecord) j.getValue();
+ if (false)
+ {
+ host.name = incrementName(host.getName());
+ collision = true;
+ break;
+ }
+ }
+ }
+ while (collision);
+
+ if (originalName.equals(host.getName()))
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ /**
+ * Generate a possibly unique name for a service using the information we
+ * have in the cache.
+ *
+ * @return returns true, if the name of the service info had to be changed.
+ */
+ private boolean makeServiceNameUnique(ServiceInfo info)
+ {
+ String originalQualifiedName = info.getQualifiedName();
+ long now = System.currentTimeMillis();
+
+ boolean collision;
+ do
+ {
+ collision = false;
+
+ // Check for collision in cache
+ for (DNSCache.CacheNode j = cache.find(info.getQualifiedName().toLowerCase()); j != null; j = j.next())
+ {
+ DNSRecord a = (DNSRecord) j.getValue();
+ if ((a.type == DNSConstants.TYPE_SRV) && !a.isExpired(now))
+ {
+ DNSRecord.Service s = (DNSRecord.Service) a;
+ if (s.port != info.port || !s.server.equals(localHost.getName()))
+ {
+ logger.finer("makeServiceNameUnique() JmDNS.makeServiceNameUnique srv collision:" + a + " s.server=" + s.server + " " + localHost.getName() + " equals:" + (s.server.equals(localHost.getName())));
+ info.setName(incrementName(info.getName()));
+ collision = true;
+ break;
+ }
+ }
+ }
+
+ // Check for collision with other service infos published by JmDNS
+ Object selfService = services.get(info.getQualifiedName().toLowerCase());
+ if (selfService != null && selfService != info)
+ {
+ info.setName(incrementName(info.getName()));
+ collision = true;
+ }
+ }
+ while (collision);
+
+ return !(originalQualifiedName.equals(info.getQualifiedName()));
+ }
+
+ String incrementName(String name)
+ {
+ try
+ {
+ int l = name.lastIndexOf('(');
+ int r = name.lastIndexOf(')');
+ if ((l >= 0) && (l < r))
+ {
+ name = name.substring(0, l) + "(" + (Integer.parseInt(name.substring(l + 1, r)) + 1) + ")";
+ }
+ else
+ {
+ name += " (2)";
+ }
+ }
+ catch (NumberFormatException e)
+ {
+ name += " (2)";
+ }
+ return name;
+ }
+
+ /**
+ * Add a listener for a question. The listener will receive updates
+ * of answers to the question as they arrive, or from the cache if they
+ * are already available.
+ */
+ void addListener(DNSListener listener, DNSQuestion question)
+ {
+ long now = System.currentTimeMillis();
+
+ // add the new listener
+ synchronized (this)
+ {
+ listeners.add(listener);
+ }
+
+ // report existing matched records
+ if (question != null)
+ {
+ for (DNSCache.CacheNode i = cache.find(question.name); i != null; i = i.next())
+ {
+ DNSRecord c = (DNSRecord) i.getValue();
+ if (question.answeredBy(c) && !c.isExpired(now))
+ {
+ listener.updateRecord(this, now, c);
+ }
+ }
+ }
+ }
+
+ /**
+ * Remove a listener from all outstanding questions. The listener will no longer
+ * receive any updates.
+ */
+ void removeListener(DNSListener listener)
+ {
+ synchronized (this)
+ {
+ listeners.remove(listener);
+ }
+ }
+
+
+ // Remind: Method updateRecord should receive a better name.
+ /**
+ * Notify all listeners that a record was updated.
+ */
+ void updateRecord(long now, DNSRecord rec)
+ {
+ // We do not want to block the entire DNS while we are updating the record for each listener (service info)
+ List listenerList = null;
+ synchronized (this)
+ {
+ listenerList = new ArrayList(listeners);
+ }
+ for (Iterator iterator = listenerList.iterator(); iterator.hasNext();)
+ {
+ DNSListener listener = (DNSListener) iterator.next();
+ listener.updateRecord(this, now, rec);
+ }
+ if (rec.type == DNSConstants.TYPE_PTR || rec.type == DNSConstants.TYPE_SRV)
+ {
+ List serviceListenerList = null;
+ synchronized (this)
+ {
+ serviceListenerList = (List) serviceListeners.get(rec.name.toLowerCase());
+ // Iterate on a copy in case listeners will modify it
+ if (serviceListenerList != null)
+ {
+ serviceListenerList = new ArrayList(serviceListenerList);
+ }
+ }
+ if (serviceListenerList != null)
+ {
+ boolean expired = rec.isExpired(now);
+ String type = rec.getName();
+ String name = ((DNSRecord.Pointer) rec).getAlias();
+ // DNSRecord old = (DNSRecord)services.get(name.toLowerCase());
+ if (!expired)
+ {
+ // new record
+ ServiceEvent event = new ServiceEvent(this, type, toUnqualifiedName(type, name), null);
+ for (Iterator iterator = serviceListenerList.iterator(); iterator.hasNext();)
+ {
+ ((ServiceListener) iterator.next()).serviceAdded(event);
+ }
+ }
+ else
+ {
+ // expire record
+ ServiceEvent event = new ServiceEvent(this, type, toUnqualifiedName(type, name), null);
+ for (Iterator iterator = serviceListenerList.iterator(); iterator.hasNext();)
+ {
+ ((ServiceListener) iterator.next()).serviceRemoved(event);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Handle an incoming response. Cache answers, and pass them on to
+ * the appropriate questions.
+ */
+ private void handleResponse(DNSIncoming msg) throws IOException
+ {
+ long now = System.currentTimeMillis();
+
+ boolean hostConflictDetected = false;
+ boolean serviceConflictDetected = false;
+
+ for (Iterator i = msg.answers.iterator(); i.hasNext();)
+ {
+ boolean isInformative = false;
+ DNSRecord rec = (DNSRecord) i.next();
+ boolean expired = rec.isExpired(now);
+
+ // update the cache
+ DNSRecord c = (DNSRecord) cache.get(rec);
+ if (c != null)
+ {
+ if (expired)
+ {
+ isInformative = true;
+ cache.remove(c);
+ }
+ else
+ {
+ c.resetTTL(rec);
+ rec = c;
+ }
+ }
+ else
+ {
+ if (!expired)
+ {
+ isInformative = true;
+ cache.add(rec);
+ }
+ }
+ switch (rec.type)
+ {
+ case DNSConstants.TYPE_PTR:
+ // handle _mdns._udp records
+ if (rec.getName().indexOf("._mdns._udp.") >= 0)
+ {
+ if (!expired && rec.name.startsWith("_services._mdns._udp."))
+ {
+ isInformative = true;
+ registerServiceType(((DNSRecord.Pointer) rec).alias);
+ }
+ continue;
+ }
+ registerServiceType(rec.name);
+ break;
+ }
+
+ if ((rec.getType() == DNSConstants.TYPE_A) || (rec.getType() == DNSConstants.TYPE_AAAA))
+ {
+ hostConflictDetected |= rec.handleResponse(this);
+ }
+ else
+ {
+ serviceConflictDetected |= rec.handleResponse(this);
+ }
+
+ // notify the listeners
+ if (isInformative)
+ {
+ updateRecord(now, rec);
+ }
+ }
+
+ if (hostConflictDetected || serviceConflictDetected)
+ {
+ new Prober().start();
+ }
+ }
+
+ /**
+ * Handle an incoming query. See if we can answer any part of it
+ * given our service infos.
+ */
+ private void handleQuery(DNSIncoming in, InetAddress addr, int port) throws IOException
+ {
+ // Track known answers
+ boolean hostConflictDetected = false;
+ boolean serviceConflictDetected = false;
+ long expirationTime = System.currentTimeMillis() + DNSConstants.KNOWN_ANSWER_TTL;
+ for (Iterator i = in.answers.iterator(); i.hasNext();)
+ {
+ DNSRecord answer = (DNSRecord) i.next();
+ if ((answer.getType() == DNSConstants.TYPE_A) || (answer.getType() == DNSConstants.TYPE_AAAA))
+ {
+ hostConflictDetected |= answer.handleQuery(this, expirationTime);
+ }
+ else
+ {
+ serviceConflictDetected |= answer.handleQuery(this, expirationTime);
+ }
+ }
+
+ if (plannedAnswer != null)
+ {
+ plannedAnswer.append(in);
+ }
+ else
+ {
+ if (in.isTruncated())
+ {
+ plannedAnswer = in;
+ }
+
+ new Responder(in, addr, port).start();
+ }
+
+ if (hostConflictDetected || serviceConflictDetected)
+ {
+ new Prober().start();
+ }
+ }
+
+ /**
+ * Add an answer to a question. Deal with the case when the
+ * outgoing packet overflows
+ */
+ DNSOutgoing addAnswer(DNSIncoming in, InetAddress addr, int port, DNSOutgoing out, DNSRecord rec) throws IOException
+ {
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ }
+ try
+ {
+ out.addAnswer(in, rec);
+ }
+ catch (IOException e)
+ {
+ out.flags |= DNSConstants.FLAGS_TC;
+ out.id = in.id;
+ out.finish();
+ send(out);
+
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ out.addAnswer(in, rec);
+ }
+ return out;
+ }
+
+
+ /**
+ * Send an outgoing multicast DNS message.
+ */
+ private void send(DNSOutgoing out) throws IOException
+ {
+ out.finish();
+ if (!out.isEmpty())
+ {
+ DatagramPacket packet = new DatagramPacket(out.data, out.off, group, DNSConstants.MDNS_PORT);
+
+ try
+ {
+ DNSIncoming msg = new DNSIncoming(packet);
+ logger.finest("send() JmDNS out:" + msg.print(true));
+ }
+ catch (IOException e)
+ {
+ logger.throwing(getClass().toString(), "send(DNSOutgoing) - JmDNS can not parse what it sends!!!", e);
+ }
+ socket.send(packet);
+ }
+ }
+
+ /**
+ * Listen for multicast packets.
+ */
+ class SocketListener implements Runnable
+ {
+ public void run()
+ {
+ try
+ {
+ byte buf[] = new byte[DNSConstants.MAX_MSG_ABSOLUTE];
+ DatagramPacket packet = new DatagramPacket(buf, buf.length);
+ while (state != DNSState.CANCELED)
+ {
+ packet.setLength(buf.length);
+ socket.receive(packet);
+ if (state == DNSState.CANCELED)
+ {
+ break;
+ }
+ try
+ {
+ if (localHost.shouldIgnorePacket(packet))
+ {
+ continue;
+ }
+
+ DNSIncoming msg = new DNSIncoming(packet);
+ logger.finest("SocketListener.run() JmDNS in:" + msg.print(true));
+
+ synchronized (ioLock)
+ {
+ if (msg.isQuery())
+ {
+ if (packet.getPort() != DNSConstants.MDNS_PORT)
+ {
+ handleQuery(msg, packet.getAddress(), packet.getPort());
+ }
+ handleQuery(msg, group, DNSConstants.MDNS_PORT);
+ }
+ else
+ {
+ handleResponse(msg);
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ if (state != DNSState.CANCELED)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Periodicaly removes expired entries from the cache.
+ */
+ private class RecordReaper extends TimerTask
+ {
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.RECORD_REAPER_INTERVAL, DNSConstants.RECORD_REAPER_INTERVAL);
+ }
+
+ public void run()
+ {
+ synchronized (JmDNS.this)
+ {
+ if (state == DNSState.CANCELED)
+ {
+ return;
+ }
+ logger.finest("run() JmDNS reaping cache");
+
+ // Remove expired answers from the cache
+ // -------------------------------------
+ // To prevent race conditions, we defensively copy all cache
+ // entries into a list.
+ List list = new ArrayList();
+ synchronized (cache)
+ {
+ for (Iterator i = cache.iterator(); i.hasNext();)
+ {
+ for (DNSCache.CacheNode n = (DNSCache.CacheNode) i.next(); n != null; n = n.next())
+ {
+ list.add(n.getValue());
+ }
+ }
+ }
+ // Now, we remove them.
+ long now = System.currentTimeMillis();
+ for (Iterator i = list.iterator(); i.hasNext();)
+ {
+ DNSRecord c = (DNSRecord) i.next();
+ if (c.isExpired(now))
+ {
+ updateRecord(now, c);
+ cache.remove(c);
+ }
+ }
+ }
+ }
+ }
+
+
+ /**
+ * The Prober sends three consecutive probes for all service infos
+ * that needs probing as well as for the host name.
+ * The state of each service info of the host name is advanced, when a probe has
+ * been sent for it.
+ * When the prober has run three times, it launches an Announcer.
+ *
+ * If a conflict during probes occurs, the affected service infos (and affected
+ * host name) are taken away from the prober. This eventually causes the prober
+ * tho cancel itself.
+ */
+ private class Prober extends TimerTask
+ {
+ /**
+ * The state of the prober.
+ */
+ DNSState taskState = DNSState.PROBING_1;
+
+ public Prober()
+ {
+ // Associate the host name to this, if it needs probing
+ if (state == DNSState.PROBING_1)
+ {
+ task = this;
+ }
+ // Associate services to this, if they need probing
+ synchronized (JmDNS.this)
+ {
+ for (Iterator iterator = services.values().iterator(); iterator.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) iterator.next();
+ if (info.getState() == DNSState.PROBING_1)
+ {
+ info.task = this;
+ }
+ }
+ }
+ }
+
+
+ public void start()
+ {
+ long now = System.currentTimeMillis();
+ if (now - lastThrottleIncrement < DNSConstants.PROBE_THROTTLE_COUNT_INTERVAL)
+ {
+ throttle++;
+ }
+ else
+ {
+ throttle = 1;
+ }
+ lastThrottleIncrement = now;
+
+ if (state == DNSState.ANNOUNCED && throttle < DNSConstants.PROBE_THROTTLE_COUNT)
+ {
+ timer.schedule(this, random.nextInt(1 + DNSConstants.PROBE_WAIT_INTERVAL), DNSConstants.PROBE_WAIT_INTERVAL);
+ }
+ else
+ {
+ timer.schedule(this, DNSConstants.PROBE_CONFLICT_INTERVAL, DNSConstants.PROBE_CONFLICT_INTERVAL);
+ }
+ }
+
+ public boolean cancel()
+ {
+ // Remove association from host name to this
+ if (task == this)
+ {
+ task = null;
+ }
+
+ // Remove associations from services to this
+ synchronized (JmDNS.this)
+ {
+ for (Iterator i = services.values().iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ if (info.task == this)
+ {
+ info.task = null;
+ }
+ }
+ }
+
+ return super.cancel();
+ }
+
+ public void run()
+ {
+ synchronized (ioLock)
+ {
+ DNSOutgoing out = null;
+ try
+ {
+ // send probes for JmDNS itself
+ if (state == taskState && task == this)
+ {
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
+ }
+ out.addQuestion(new DNSQuestion(localHost.getName(), DNSConstants.TYPE_ANY, DNSConstants.CLASS_IN));
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ out.addAuthorativeAnswer(answer);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ out.addAuthorativeAnswer(answer);
+ }
+ advanceState();
+ }
+ // send probes for services
+ // Defensively copy the services into a local list,
+ // to prevent race conditions with methods registerService
+ // and unregisterService.
+ List list;
+ synchronized (JmDNS.this)
+ {
+ list = new LinkedList(services.values());
+ }
+ for (Iterator i = list.iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+
+ synchronized (info)
+ {
+ if (info.getState() == taskState && info.task == this)
+ {
+ info.advanceState();
+ logger.fine("run() JmDNS probing " + info.getQualifiedName() + " state " + info.getState());
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
+ out.addQuestion(new DNSQuestion(info.getQualifiedName(), DNSConstants.TYPE_ANY, DNSConstants.CLASS_IN));
+ }
+ out.addAuthorativeAnswer(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, localHost.getName()));
+ }
+ }
+ }
+ if (out != null)
+ {
+ logger.finer("run() JmDNS probing #" + taskState);
+ send(out);
+ }
+ else
+ {
+ // If we have nothing to send, another timer taskState ahead
+ // of us has done the job for us. We can cancel.
+ cancel();
+ return;
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+
+ taskState = taskState.advance();
+ if (!taskState.isProbing())
+ {
+ cancel();
+
+ new Announcer().start();
+ }
+ }
+ }
+
+ }
+
+ /**
+ * The Announcer sends an accumulated query of all announces, and advances
+ * the state of all serviceInfos, for which it has sent an announce.
+ * The Announcer also sends announcements and advances the state of JmDNS itself.
+ *
+ * When the announcer has run two times, it finishes.
+ */
+ private class Announcer extends TimerTask
+ {
+ /**
+ * The state of the announcer.
+ */
+ DNSState taskState = DNSState.ANNOUNCING_1;
+
+ public Announcer()
+ {
+ // Associate host to this, if it needs announcing
+ if (state == DNSState.ANNOUNCING_1)
+ {
+ task = this;
+ }
+ // Associate services to this, if they need announcing
+ synchronized (JmDNS.this)
+ {
+ for (Iterator s = services.values().iterator(); s.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) s.next();
+ if (info.getState() == DNSState.ANNOUNCING_1)
+ {
+ info.task = this;
+ }
+ }
+ }
+ }
+
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.ANNOUNCE_WAIT_INTERVAL, DNSConstants.ANNOUNCE_WAIT_INTERVAL);
+ }
+
+ public boolean cancel()
+ {
+ // Remove association from host to this
+ if (task == this)
+ {
+ task = null;
+ }
+
+ // Remove associations from services to this
+ synchronized (JmDNS.this)
+ {
+ for (Iterator i = services.values().iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ if (info.task == this)
+ {
+ info.task = null;
+ }
+ }
+ }
+
+ return super.cancel();
+ }
+
+ public void run()
+ {
+ DNSOutgoing out = null;
+ try
+ {
+ // send probes for JmDNS itself
+ if (state == taskState)
+ {
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ }
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ advanceState();
+ }
+ // send announces for services
+ // Defensively copy the services into a local list,
+ // to prevent race conditions with methods registerService
+ // and unregisterService.
+ List list;
+ synchronized (JmDNS.this)
+ {
+ list = new ArrayList(services.values());
+ }
+ for (Iterator i = list.iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ synchronized (info)
+ {
+ if (info.getState() == taskState && info.task == this)
+ {
+ info.advanceState();
+ logger.finer("run() JmDNS announcing " + info.getQualifiedName() + " state " + info.getState());
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ }
+ out.addAnswer(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()), 0);
+ out.addAnswer(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, localHost.getName()), 0);
+ out.addAnswer(new DNSRecord.Text(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.text), 0);
+ }
+ }
+ }
+ if (out != null)
+ {
+ logger.finer("run() JmDNS announcing #" + taskState);
+ send(out);
+ }
+ else
+ {
+ // If we have nothing to send, another timer taskState ahead
+ // of us has done the job for us. We can cancel.
+ cancel();
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+
+ taskState = taskState.advance();
+ if (!taskState.isAnnouncing())
+ {
+ cancel();
+
+ new Renewer().start();
+ }
+ }
+ }
+
+ /**
+ * The Renewer is there to send renewal announcment when the record expire for ours infos.
+ */
+ private class Renewer extends TimerTask
+ {
+ /**
+ * The state of the announcer.
+ */
+ DNSState taskState = DNSState.ANNOUNCED;
+
+ public Renewer()
+ {
+ // Associate host to this, if it needs renewal
+ if (state == DNSState.ANNOUNCED)
+ {
+ task = this;
+ }
+ // Associate services to this, if they need renewal
+ synchronized (JmDNS.this)
+ {
+ for (Iterator s = services.values().iterator(); s.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) s.next();
+ if (info.getState() == DNSState.ANNOUNCED)
+ {
+ info.task = this;
+ }
+ }
+ }
+ }
+
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.ANNOUNCED_RENEWAL_TTL_INTERVAL, DNSConstants.ANNOUNCED_RENEWAL_TTL_INTERVAL);
+ }
+
+ public boolean cancel()
+ {
+ // Remove association from host to this
+ if (task == this)
+ {
+ task = null;
+ }
+
+ // Remove associations from services to this
+ synchronized (JmDNS.this)
+ {
+ for (Iterator i = services.values().iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ if (info.task == this)
+ {
+ info.task = null;
+ }
+ }
+ }
+
+ return super.cancel();
+ }
+
+ public void run()
+ {
+ DNSOutgoing out = null;
+ try
+ {
+ // send probes for JmDNS itself
+ if (state == taskState)
+ {
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ }
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ advanceState();
+ }
+ // send announces for services
+ // Defensively copy the services into a local list,
+ // to prevent race conditions with methods registerService
+ // and unregisterService.
+ List list;
+ synchronized (JmDNS.this)
+ {
+ list = new ArrayList(services.values());
+ }
+ for (Iterator i = list.iterator(); i.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) i.next();
+ synchronized (info)
+ {
+ if (info.getState() == taskState && info.task == this)
+ {
+ info.advanceState();
+ logger.finer("run() JmDNS announced " + info.getQualifiedName() + " state " + info.getState());
+ if (out == null)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ }
+ out.addAnswer(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()), 0);
+ out.addAnswer(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, localHost.getName()), 0);
+ out.addAnswer(new DNSRecord.Text(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.text), 0);
+ }
+ }
+ }
+ if (out != null)
+ {
+ logger.finer("run() JmDNS announced");
+ send(out);
+ }
+ else
+ {
+ // If we have nothing to send, another timer taskState ahead
+ // of us has done the job for us. We can cancel.
+ cancel();
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+
+ taskState = taskState.advance();
+ if (!taskState.isAnnounced())
+ {
+ cancel();
+
+ }
+ }
+ }
+
+ /**
+ * The Responder sends a single answer for the specified service infos
+ * and for the host name.
+ */
+ private class Responder extends TimerTask
+ {
+ private DNSIncoming in;
+ private InetAddress addr;
+ private int port;
+
+ public Responder(DNSIncoming in, InetAddress addr, int port)
+ {
+ this.in = in;
+ this.addr = addr;
+ this.port = port;
+ }
+
+ public void start()
+ {
+ // According to draft-cheshire-dnsext-multicastdns.txt
+ // chapter "8 Responding":
+ // We respond immediately if we know for sure, that we are
+ // the only one who can respond to the query.
+ // In all other cases, we respond within 20-120 ms.
+ //
+ // According to draft-cheshire-dnsext-multicastdns.txt
+ // chapter "7.2 Multi-Packet Known Answer Suppression":
+ // We respond after 20-120 ms if the query is truncated.
+
+ boolean iAmTheOnlyOne = true;
+ for (Iterator i = in.questions.iterator(); i.hasNext();)
+ {
+ DNSEntry entry = (DNSEntry) i.next();
+ if (entry instanceof DNSQuestion)
+ {
+ DNSQuestion q = (DNSQuestion) entry;
+ logger.finest("start() question=" + q);
+ iAmTheOnlyOne &= (q.type == DNSConstants.TYPE_SRV
+ || q.type == DNSConstants.TYPE_TXT
+ || q.type == DNSConstants.TYPE_A
+ || q.type == DNSConstants.TYPE_AAAA
+ || localHost.getName().equalsIgnoreCase(q.name)
+ || services.containsKey(q.name.toLowerCase()));
+ if (!iAmTheOnlyOne)
+ {
+ break;
+ }
+ }
+ }
+ int delay = (iAmTheOnlyOne && !in.isTruncated()) ? 0 : DNSConstants.RESPONSE_MIN_WAIT_INTERVAL + random.nextInt(DNSConstants.RESPONSE_MAX_WAIT_INTERVAL - DNSConstants.RESPONSE_MIN_WAIT_INTERVAL + 1) - in.elapseSinceArrival();
+ if (delay < 0)
+ {
+ delay = 0;
+ }
+ logger.finest("start() Responder chosen delay=" + delay);
+ timer.schedule(this, delay);
+ }
+
+ public void run()
+ {
+ synchronized (ioLock)
+ {
+ if (plannedAnswer == in)
+ {
+ plannedAnswer = null;
+ }
+
+ // We use these sets to prevent duplicate records
+ // FIXME - This should be moved into DNSOutgoing
+ HashSet questions = new HashSet();
+ HashSet answers = new HashSet();
+
+
+ if (state == DNSState.ANNOUNCED)
+ {
+ try
+ {
+ long now = System.currentTimeMillis();
+ long expirationTime = now + 1; //=now+DNSConstants.KNOWN_ANSWER_TTL;
+ boolean isUnicast = (port != DNSConstants.MDNS_PORT);
+
+
+ // Answer questions
+ for (Iterator iterator = in.questions.iterator(); iterator.hasNext();)
+ {
+ DNSEntry entry = (DNSEntry) iterator.next();
+ if (entry instanceof DNSQuestion)
+ {
+ DNSQuestion q = (DNSQuestion) entry;
+
+ // for unicast responses the question must be included
+ if (isUnicast)
+ {
+ //out.addQuestion(q);
+ questions.add(q);
+ }
+
+ int type = q.type;
+ if (type == DNSConstants.TYPE_ANY || type == DNSConstants.TYPE_SRV)
+ { // I ama not sure of why there is a special case here [PJYF Oct 15 2004]
+ if (localHost.getName().equalsIgnoreCase(q.getName()))
+ {
+ // type = DNSConstants.TYPE_A;
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ type = DNSConstants.TYPE_IGNORE;
+ }
+ else
+ {
+ if (serviceTypes.containsKey(q.getName().toLowerCase()))
+ {
+ type = DNSConstants.TYPE_PTR;
+ }
+ }
+ }
+
+ switch (type)
+ {
+ case DNSConstants.TYPE_A:
+ {
+ // Answer a query for a domain name
+ //out = addAnswer( in, addr, port, out, host );
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ break;
+ }
+ case DNSConstants.TYPE_AAAA:
+ {
+ // Answer a query for a domain name
+ DNSRecord answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ break;
+ }
+ case DNSConstants.TYPE_PTR:
+ {
+ // Answer a query for services of a given type
+
+ // find matching services
+ for (Iterator serviceIterator = services.values().iterator(); serviceIterator.hasNext();)
+ {
+ ServiceInfo info = (ServiceInfo) serviceIterator.next();
+ if (info.getState() == DNSState.ANNOUNCED)
+ {
+ if (q.name.equalsIgnoreCase(info.type))
+ {
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ answers.add(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()));
+ answers.add(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, localHost.getName()));
+ answers.add(new DNSRecord.Text(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE, DNSConstants.DNS_TTL, info.text));
+ }
+ }
+ }
+ if (q.name.equalsIgnoreCase("_services._mdns._udp.local."))
+ {
+ for (Iterator serviceTypeIterator = serviceTypes.values().iterator(); serviceTypeIterator.hasNext();)
+ {
+ answers.add(new DNSRecord.Pointer("_services._mdns._udp.local.", DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, (String) serviceTypeIterator.next()));
+ }
+ }
+ break;
+ }
+ case DNSConstants.TYPE_SRV:
+ case DNSConstants.TYPE_ANY:
+ case DNSConstants.TYPE_TXT:
+ {
+ ServiceInfo info = (ServiceInfo) services.get(q.name.toLowerCase());
+ if (info != null && info.getState() == DNSState.ANNOUNCED)
+ {
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ answers.add(answer);
+ }
+ answers.add(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()));
+ answers.add(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE, DNSConstants.DNS_TTL, info.priority, info.weight, info.port, localHost.getName()));
+ answers.add(new DNSRecord.Text(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN | DNSConstants.CLASS_UNIQUE, DNSConstants.DNS_TTL, info.text));
+ }
+ break;
+ }
+ default :
+ {
+ //System.out.println("JmDNSResponder.unhandled query:"+q);
+ break;
+ }
+ }
+ }
+ }
+
+
+ // remove known answers, if the ttl is at least half of
+ // the correct value. (See Draft Cheshire chapter 7.1.).
+ for (Iterator i = in.answers.iterator(); i.hasNext();)
+ {
+ DNSRecord knownAnswer = (DNSRecord) i.next();
+ if (knownAnswer.ttl > DNSConstants.DNS_TTL / 2 && answers.remove(knownAnswer))
+ {
+ logger.log(Level.FINER, "JmDNS Responder Known Answer Removed");
+ }
+ }
+
+
+ // responde if we have answers
+ if (answers.size() != 0)
+ {
+ logger.finer("run() JmDNS responding");
+ DNSOutgoing out = null;
+ if (isUnicast)
+ {
+ out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA, false);
+ }
+
+ for (Iterator i = questions.iterator(); i.hasNext();)
+ {
+ out.addQuestion((DNSQuestion) i.next());
+ }
+ for (Iterator i = answers.iterator(); i.hasNext();)
+ {
+ out = addAnswer(in, addr, port, out, (DNSRecord) i.next());
+ }
+ send(out);
+ }
+ cancel();
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ close();
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Helper class to resolve service types.
+ *
+ * The TypeResolver queries three times consecutively for service types, and then
+ * removes itself from the timer.
+ *
+ * The TypeResolver will run only if JmDNS is in state ANNOUNCED.
+ */
+ private class TypeResolver extends TimerTask
+ {
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.QUERY_WAIT_INTERVAL, DNSConstants.QUERY_WAIT_INTERVAL);
+ }
+
+ /**
+ * Counts the number of queries that were sent.
+ */
+ int count = 0;
+
+ public void run()
+ {
+ try
+ {
+ if (state == DNSState.ANNOUNCED)
+ {
+ if (++count < 3)
+ {
+ logger.finer("run() JmDNS querying type");
+ DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
+ out.addQuestion(new DNSQuestion("_services._mdns._udp.local.", DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN));
+ for (Iterator iterator = serviceTypes.values().iterator(); iterator.hasNext();)
+ {
+ out.addAnswer(new DNSRecord.Pointer("_services._mdns._udp.local.", DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, (String) iterator.next()), 0);
+ }
+ send(out);
+ }
+ else
+ {
+ // After three queries, we can quit.
+ cancel();
+ }
+ ;
+ }
+ else
+ {
+ if (state == DNSState.CANCELED)
+ {
+ cancel();
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+ }
+ }
+
+ /**
+ * The ServiceResolver queries three times consecutively for services of
+ * a given type, and then removes itself from the timer.
+ *
+ * The ServiceResolver will run only if JmDNS is in state ANNOUNCED.
+ * REMIND: Prevent having multiple service resolvers for the same type in the
+ * timer queue.
+ */
+ private class ServiceResolver extends TimerTask
+ {
+ /**
+ * Counts the number of queries being sent.
+ */
+ int count = 0;
+ private String type;
+
+ public ServiceResolver(String type)
+ {
+ this.type = type;
+ }
+
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.QUERY_WAIT_INTERVAL, DNSConstants.QUERY_WAIT_INTERVAL);
+ }
+
+ public void run()
+ {
+ try
+ {
+ if (state == DNSState.ANNOUNCED)
+ {
+ if (count++ < 3)
+ {
+ logger.finer("run() JmDNS querying service");
+ long now = System.currentTimeMillis();
+ DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
+ out.addQuestion(new DNSQuestion(type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN));
+ for (Iterator s = services.values().iterator(); s.hasNext();)
+ {
+ final ServiceInfo info = (ServiceInfo) s.next();
+ try
+ {
+ out.addAnswer(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()), now);
+ }
+ catch (IOException ee)
+ {
+ break;
+ }
+ }
+ send(out);
+ }
+ else
+ {
+ // After three queries, we can quit.
+ cancel();
+ }
+ ;
+ }
+ else
+ {
+ if (state == DNSState.CANCELED)
+ {
+ cancel();
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+ }
+ }
+
+ /**
+ * The ServiceInfoResolver queries up to three times consecutively for
+ * a service info, and then removes itself from the timer.
+ *
+ * The ServiceInfoResolver will run only if JmDNS is in state ANNOUNCED.
+ * REMIND: Prevent having multiple service resolvers for the same info in the
+ * timer queue.
+ */
+ private class ServiceInfoResolver extends TimerTask
+ {
+ /**
+ * Counts the number of queries being sent.
+ */
+ int count = 0;
+ private ServiceInfo info;
+
+ public ServiceInfoResolver(ServiceInfo info)
+ {
+ this.info = info;
+ info.dns = JmDNS.this;
+ addListener(info, new DNSQuestion(info.getQualifiedName(), DNSConstants.TYPE_ANY, DNSConstants.CLASS_IN));
+ }
+
+ public void start()
+ {
+ timer.schedule(this, DNSConstants.QUERY_WAIT_INTERVAL, DNSConstants.QUERY_WAIT_INTERVAL);
+ }
+
+ public void run()
+ {
+ try
+ {
+ if (state == DNSState.ANNOUNCED)
+ {
+ if (count++ < 3 && !info.hasData())
+ {
+ long now = System.currentTimeMillis();
+ DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
+ out.addQuestion(new DNSQuestion(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN));
+ out.addQuestion(new DNSQuestion(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN));
+ if (info.server != null)
+ {
+ out.addQuestion(new DNSQuestion(info.server, DNSConstants.TYPE_A, DNSConstants.CLASS_IN));
+ }
+ out.addAnswer((DNSRecord) cache.get(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN), now);
+ out.addAnswer((DNSRecord) cache.get(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN), now);
+ if (info.server != null)
+ {
+ out.addAnswer((DNSRecord) cache.get(info.server, DNSConstants.TYPE_A, DNSConstants.CLASS_IN), now);
+ }
+ send(out);
+ }
+ else
+ {
+ // After three queries, we can quit.
+ cancel();
+ removeListener(info);
+ }
+ ;
+ }
+ else
+ {
+ if (state == DNSState.CANCELED)
+ {
+ cancel();
+ removeListener(info);
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+ }
+ }
+
+ /**
+ * The Canceler sends two announces with TTL=0 for the specified services.
+ */
+ private class Canceler extends TimerTask
+ {
+ /**
+ * Counts the number of announces being sent.
+ */
+ int count = 0;
+ /**
+ * The services that need cancelling.
+ * Note: We have to use a local variable here, because the services
+ * that are canceled, are removed immediately from variable JmDNS.services.
+ */
+ private ServiceInfo[] infos;
+ /**
+ * We call notifyAll() on the lock object, when we have canceled the
+ * service infos.
+ * This is used by method JmDNS.unregisterService() and
+ * JmDNS.unregisterAllServices, to ensure that the JmDNS
+ * socket stays open until the Canceler has canceled all services.
+ *
+ * Note: We need this lock, because ServiceInfos do the transition from
+ * state ANNOUNCED to state CANCELED before we get here. We could get
+ * rid of this lock, if we added a state named CANCELLING to DNSState.
+ */
+ private Object lock;
+ int ttl = 0;
+
+ public Canceler(ServiceInfo info, Object lock)
+ {
+ this.infos = new ServiceInfo[]{info};
+ this.lock = lock;
+ addListener(info, new DNSQuestion(info.getQualifiedName(), DNSConstants.TYPE_ANY, DNSConstants.CLASS_IN));
+ }
+
+ public Canceler(ServiceInfo[] infos, Object lock)
+ {
+ this.infos = infos;
+ this.lock = lock;
+ }
+
+ public Canceler(Collection infos, Object lock)
+ {
+ this.infos = (ServiceInfo[]) infos.toArray(new ServiceInfo[infos.size()]);
+ this.lock = lock;
+ }
+
+ public void start()
+ {
+ timer.schedule(this, 0, DNSConstants.ANNOUNCE_WAIT_INTERVAL);
+ }
+
+ public void run()
+ {
+ try
+ {
+ if (++count < 3)
+ {
+ logger.finer("run() JmDNS canceling service");
+ // announce the service
+ //long now = System.currentTimeMillis();
+ DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_RESPONSE | DNSConstants.FLAGS_AA);
+ for (int i = 0; i < infos.length; i++)
+ {
+ ServiceInfo info = infos[i];
+ out.addAnswer(new DNSRecord.Pointer(info.type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, ttl, info.getQualifiedName()), 0);
+ out.addAnswer(new DNSRecord.Service(info.getQualifiedName(), DNSConstants.TYPE_SRV, DNSConstants.CLASS_IN, ttl, info.priority, info.weight, info.port, localHost.getName()), 0);
+ out.addAnswer(new DNSRecord.Text(info.getQualifiedName(), DNSConstants.TYPE_TXT, DNSConstants.CLASS_IN, ttl, info.text), 0);
+ DNSRecord answer = localHost.getDNS4AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ answer = localHost.getDNS6AddressRecord();
+ if (answer != null)
+ {
+ out.addAnswer(answer, 0);
+ }
+ }
+ send(out);
+ }
+ else
+ {
+ // After three successful announcements, we are finished.
+ synchronized (lock)
+ {
+ closed=true;
+ lock.notifyAll();
+ }
+ cancel();
+ }
+ }
+ catch (Throwable e)
+ {
+ logger.log(Level.WARNING, "run() exception ", e);
+ recover();
+ }
+ }
+ }
+
+ // REMIND: Why is this not an anonymous inner class?
+ /**
+ * Shutdown operations.
+ */
+ private class Shutdown implements Runnable
+ {
+ public void run()
+ {
+ shutdown = null;
+ close();
+ }
+ }
+
+ /**
+ * Recover jmdns when there is an error.
+ */
+ protected void recover()
+ {
+ logger.finer("recover()");
+ // We have an IO error so lets try to recover if anything happens lets close it.
+ // This should cover the case of the IP address changing under our feet
+ if (DNSState.CANCELED != state)
+ {
+ synchronized (this)
+ { // Synchronize only if we are not already in process to prevent dead locks
+ //
+ logger.finer("recover() Cleanning up");
+ // Stop JmDNS
+ state = DNSState.CANCELED; // This protects against recursive calls
+
+ // We need to keep a copy for reregistration
+ Collection oldServiceInfos = new ArrayList(services.values());
+
+ // Cancel all services
+ unregisterAllServices();
+ disposeServiceCollectors();
+ //
+ // close multicast socket
+ closeMulticastSocket();
+ //
+ cache.clear();
+ logger.finer("recover() All is clean");
+ //
+ // All is clear now start the services
+ //
+ try
+ {
+ openMulticastSocket(localHost);
+ start(oldServiceInfos);
+ }
+ catch (Exception exception)
+ {
+ logger.log(Level.WARNING, "recover() Start services exception ", exception);
+ }
+ logger.log(Level.WARNING, "recover() We are back!");
+ }
+ }
+ }
+
+ /**
+ * Close down jmdns. Release all resources and unregister all services.
+ */
+ public void close()
+ {
+ if (state != DNSState.CANCELED)
+ {
+ synchronized (this)
+ { // Synchronize only if we are not already in process to prevent dead locks
+ // Stop JmDNS
+ state = DNSState.CANCELED; // This protects against recursive calls
+
+ unregisterAllServices();
+ disposeServiceCollectors();
+
+ // close socket
+ closeMulticastSocket();
+
+ // Stop the timer
+ timer.cancel();
+
+ // remove the shutdown hook
+ if (shutdown != null)
+ {
+ Runtime.getRuntime().removeShutdownHook(shutdown);
+ }
+
+ }
+ }
+ }
+
+ /**
+ * List cache entries, for debugging only.
+ */
+ void print()
+ {
+ System.out.println("---- cache ----");
+ cache.print();
+ System.out.println();
+ }
+
+ /**
+ * List Services and serviceTypes.
+ * Debugging Only
+ */
+
+ public void printServices()
+ {
+ System.err.println(toString());
+ }
+
+ public String toString()
+ {
+ StringBuffer aLog = new StringBuffer();
+ aLog.append("\t---- Services -----");
+ if (services != null)
+ {
+ for (Iterator k = services.keySet().iterator(); k.hasNext();)
+ {
+ Object key = k.next();
+ aLog.append("\n\t\tService: " + key + ": " + services.get(key));
+ }
+ }
+ aLog.append("\n");
+ aLog.append("\t---- Types ----");
+ if (serviceTypes != null)
+ {
+ for (Iterator k = serviceTypes.keySet().iterator(); k.hasNext();)
+ {
+ Object key = k.next();
+ aLog.append("\n\t\tType: " + key + ": " + serviceTypes.get(key));
+ }
+ }
+ aLog.append("\n");
+ aLog.append(cache.toString());
+ aLog.append("\n");
+ aLog.append("\t---- Service Collectors ----");
+ if (serviceCollectors != null)
+ {
+ synchronized (serviceCollectors)
+ {
+ for (Iterator k = serviceCollectors.keySet().iterator(); k.hasNext();)
+ {
+ Object key = k.next();
+ aLog.append("\n\t\tService Collector: " + key + ": " + serviceCollectors.get(key));
+ }
+ serviceCollectors.clear();
+ }
+ }
+ return aLog.toString();
+ }
+
+ /**
+ * Returns a list of service infos of the specified type.
+ *
+ * @param type Service type name, such as _http._tcp.local..
+ * @return An array of service instance names.
+ */
+ public ServiceInfo[] list(String type)
+ {
+ // Implementation note: The first time a list for a given type is
+ // requested, a ServiceCollector is created which collects service
+ // infos. This greatly speeds up the performance of subsequent calls
+ // to this method. The caveats are, that 1) the first call to this method
+ // for a given type is slow, and 2) we spawn a ServiceCollector
+ // instance for each service type which increases network traffic a
+ // little.
+
+ ServiceCollector collector;
+
+ boolean newCollectorCreated;
+ synchronized (serviceCollectors)
+ {
+ collector = (ServiceCollector) serviceCollectors.get(type);
+ if (collector == null)
+ {
+ collector = new ServiceCollector(type);
+ serviceCollectors.put(type, collector);
+ addServiceListener(type, collector);
+ newCollectorCreated = true;
+ }
+ else
+ {
+ newCollectorCreated = false;
+ }
+ }
+
+ // After creating a new ServiceCollector, we collect service infos for
+ // 200 milliseconds. This should be enough time, to get some service
+ // infos from the network.
+ if (newCollectorCreated)
+ {
+ try
+ {
+ Thread.sleep(200);
+ }
+ catch (InterruptedException e)
+ {
+ }
+ }
+
+ return collector.list();
+ }
+
+ /**
+ * This method disposes all ServiceCollector instances which have been
+ * created by calls to method list(type).
+ *
+ * @see #list
+ */
+ private void disposeServiceCollectors()
+ {
+ logger.finer("disposeServiceCollectors()");
+ synchronized (serviceCollectors)
+ {
+ for (Iterator i = serviceCollectors.values().iterator(); i.hasNext();)
+ {
+ ServiceCollector collector = (ServiceCollector) i.next();
+ removeServiceListener(collector.type, collector);
+ }
+ serviceCollectors.clear();
+ }
+ }
+
+ /**
+ * Instances of ServiceCollector are used internally to speed up the
+ * performance of method list(type).
+ *
+ * @see #list
+ */
+ private static class ServiceCollector implements ServiceListener
+ {
+ private static Logger logger = Logger.getLogger(ServiceCollector.class.toString());
+ /**
+ * A set of collected service instance names.
+ */
+ private Map infos = Collections.synchronizedMap(new HashMap());
+
+ public String type;
+
+ public ServiceCollector(String type)
+ {
+ this.type = type;
+ }
+
+ /**
+ * A service has been added.
+ */
+ public void serviceAdded(ServiceEvent event)
+ {
+ synchronized (infos)
+ {
+ event.getDNS().requestServiceInfo(event.getType(), event.getName(), 0);
+ }
+ }
+
+ /**
+ * A service has been removed.
+ */
+ public void serviceRemoved(ServiceEvent event)
+ {
+ synchronized (infos)
+ {
+ infos.remove(event.getName());
+ }
+ }
+
+ /**
+ * A service hase been resolved. Its details are now available in the
+ * ServiceInfo record.
+ */
+ public void serviceResolved(ServiceEvent event)
+ {
+ synchronized (infos)
+ {
+ infos.put(event.getName(), event.getInfo());
+ }
+ }
+
+ /**
+ * Returns an array of all service infos which have been collected by this
+ * ServiceCollector.
+ */
+ public ServiceInfo[] list()
+ {
+ synchronized (infos)
+ {
+ return (ServiceInfo[]) infos.values().toArray(new ServiceInfo[infos.size()]);
+ }
+ }
+
+ public String toString()
+ {
+ StringBuffer aLog = new StringBuffer();
+ synchronized (infos)
+ {
+ for (Iterator k = infos.keySet().iterator(); k.hasNext();)
+ {
+ Object key = k.next();
+ aLog.append("\n\t\tService: " + key + ": " + infos.get(key));
+ }
+ }
+ return aLog.toString();
+ }
+ };
+
+ private static String toUnqualifiedName(String type, String qualifiedName)
+ {
+ if (qualifiedName.endsWith(type))
+ {
+ return qualifiedName.substring(0, qualifiedName.length() - type.length() - 1);
+ }
+ else
+ {
+ return qualifiedName;
+ }
+ }
+}
+
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceEvent.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceEvent.java
new file mode 100644
index 0000000000..8f9aa50b90
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceEvent.java
@@ -0,0 +1,99 @@
+///Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+package org.apache.activemq.jmdns;
+
+import java.util.EventObject;
+import java.util.logging.Logger;
+
+/**
+ * ServiceEvent.
+ *
+ * @author Werner Randelshofer, Rick Blair
+ * @version %I%, %G%
+ */
+public class ServiceEvent extends EventObject
+{
+ private static Logger logger = Logger.getLogger(ServiceEvent.class.toString());
+ /**
+ * The type name of the service.
+ */
+ private String type;
+ /**
+ * The instance name of the service. Or null, if the event was
+ * fired to a service type listener.
+ */
+ private String name;
+ /**
+ * The service info record, or null if the service could be be resolved.
+ * This is also null, if the event was fired to a service type listener.
+ */
+ private ServiceInfo info;
+
+ /**
+ * Creates a new instance.
+ *
+ * @param source the JmDNS instance which originated the event.
+ * @param type the type name of the service.
+ * @param name the instance name of the service.
+ * @param info the service info record, or null if the service could be be resolved.
+ */
+ public ServiceEvent(JmDNS source, String type, String name, ServiceInfo info)
+ {
+ super(source);
+ this.type = type;
+ this.name = name;
+ this.info = info;
+ }
+
+ /**
+ * Returns the JmDNS instance which originated the event.
+ */
+ public JmDNS getDNS()
+ {
+ return (JmDNS) getSource();
+ }
+
+ /**
+ * Returns the fully qualified type of the service.
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Returns the instance name of the service.
+ * Always returns null, if the event is sent to a service type listener.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Returns the service info record, or null if the service could not be
+ * resolved.
+ * Always returns null, if the event is sent to a service type listener.
+ */
+ public ServiceInfo getInfo()
+ {
+ return info;
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("<" + getClass().getName() + "> ");
+ buf.append(super.toString());
+ buf.append(" name ");
+ buf.append(getName());
+ buf.append(" type ");
+ buf.append(getType());
+ buf.append(" info ");
+ buf.append(getInfo());
+ return buf.toString();
+ }
+
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceInfo.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceInfo.java
new file mode 100644
index 0000000000..03158d50eb
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceInfo.java
@@ -0,0 +1,659 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+package org.apache.activemq.jmdns;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.TimerTask;
+import java.util.Vector;
+import java.util.logging.Logger;
+
+/**
+ * JmDNS service information.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Jeff Sonstein, Werner Randelshofer
+ */
+public class ServiceInfo implements DNSListener
+{
+ private static Logger logger = Logger.getLogger(ServiceInfo.class.toString());
+ public final static byte[] NO_VALUE = new byte[0];
+ JmDNS dns;
+
+ // State machine
+ /**
+ * The state of this service info.
+ * This is used only for services announced by JmDNS.
+ *
+ * For proper handling of concurrency, this variable must be
+ * changed only using methods advanceState(), revertState() and cancel().
+ */
+ private DNSState state = DNSState.PROBING_1;
+
+ /**
+ * Task associated to this service info.
+ * Possible tasks are JmDNS.Prober, JmDNS.Announcer, JmDNS.Responder,
+ * JmDNS.Canceler.
+ */
+ TimerTask task;
+
+ String type;
+ private String name;
+ String server;
+ int port;
+ int weight;
+ int priority;
+ byte text[];
+ Hashtable props;
+ InetAddress addr;
+
+
+ /**
+ * Construct a service description for registrating with JmDNS.
+ *
+ * @param type fully qualified service type name, such as _http._tcp.local..
+ * @param name unqualified service instance name, such as foobar
+ * @param port the local port on which the service runs
+ * @param text string describing the service
+ */
+ public ServiceInfo(String type, String name, int port, String text)
+ {
+ this(type, name, port, 0, 0, text);
+ }
+
+ /**
+ * Construct a service description for registrating with JmDNS.
+ *
+ * @param type fully qualified service type name, such as _http._tcp.local..
+ * @param name unqualified service instance name, such as foobar
+ * @param port the local port on which the service runs
+ * @param weight weight of the service
+ * @param priority priority of the service
+ * @param text string describing the service
+ */
+ public ServiceInfo(String type, String name, int port, int weight, int priority, String text)
+ {
+ this(type, name, port, weight, priority, (byte[]) null);
+ try
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream(text.length());
+ writeUTF(out, text);
+ this.text = out.toByteArray();
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("unexpected exception: " + e);
+ }
+ }
+
+ /**
+ * Construct a service description for registrating with JmDNS. The properties hashtable must
+ * map property names to either Strings or byte arrays describing the property values.
+ *
+ * @param type fully qualified service type name, such as _http._tcp.local..
+ * @param name unqualified service instance name, such as foobar
+ * @param port the local port on which the service runs
+ * @param weight weight of the service
+ * @param priority priority of the service
+ * @param props properties describing the service
+ */
+ public ServiceInfo(String type, String name, int port, int weight, int priority, Hashtable props)
+ {
+ this(type, name, port, weight, priority, new byte[0]);
+ if (props != null)
+ {
+ try
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream(256);
+ for (Enumeration e = props.keys(); e.hasMoreElements();)
+ {
+ String key = (String) e.nextElement();
+ Object val = props.get(key);
+ ByteArrayOutputStream out2 = new ByteArrayOutputStream(100);
+ writeUTF(out2, key);
+ if (val instanceof String)
+ {
+ out2.write('=');
+ writeUTF(out2, (String) val);
+ }
+ else
+ {
+ if (val instanceof byte[])
+ {
+ out2.write('=');
+ byte[] bval = (byte[]) val;
+ out2.write(bval, 0, bval.length);
+ }
+ else
+ {
+ if (val != NO_VALUE)
+ {
+ throw new IllegalArgumentException("invalid property value: " + val);
+ }
+ }
+ }
+ byte data[] = out2.toByteArray();
+ out.write(data.length);
+ out.write(data, 0, data.length);
+ }
+ this.text = out.toByteArray();
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("unexpected exception: " + e);
+ }
+ }
+ }
+
+ /**
+ * Construct a service description for registrating with JmDNS.
+ *
+ * @param type fully qualified service type name, such as _http._tcp.local..
+ * @param name unqualified service instance name, such as foobar
+ * @param port the local port on which the service runs
+ * @param weight weight of the service
+ * @param priority priority of the service
+ * @param text bytes describing the service
+ */
+ public ServiceInfo(String type, String name, int port, int weight, int priority, byte text[])
+ {
+ this.type = type;
+ this.name = name;
+ this.port = port;
+ this.weight = weight;
+ this.priority = priority;
+ this.text = text;
+ }
+
+ /**
+ * Construct a service record during service discovery.
+ */
+ ServiceInfo(String type, String name)
+ {
+ if (!type.endsWith("."))
+ {
+ throw new IllegalArgumentException("type must be fully qualified DNS name ending in '.': " + type);
+ }
+
+ this.type = type;
+ this.name = name;
+ }
+
+ /**
+ * During recovery we need to duplicate service info to reregister them
+ */
+ ServiceInfo(ServiceInfo info)
+ {
+ if (info != null)
+ {
+ this.type = info.type;
+ this.name = info.name;
+ this.port = info.port;
+ this.weight = info.weight;
+ this.priority = info.priority;
+ this.text = info.text;
+ }
+ }
+
+ /**
+ * Fully qualified service type name, such as _http._tcp.local. .
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Unqualified service instance name, such as foobar .
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the service instance name.
+ *
+ * @param name unqualified service instance name, such as foobar
+ */
+ void setName(String name)
+ {
+ this.name = name;
+ }
+
+ /**
+ * Fully qualified service name, such as foobar._http._tcp.local. .
+ */
+ public String getQualifiedName()
+ {
+ return name + "." + type;
+ }
+
+ /**
+ * Get the name of the server.
+ */
+ public String getServer()
+ {
+ return server;
+ }
+
+ /**
+ * Get the host address of the service (ie X.X.X.X).
+ */
+ public String getHostAddress()
+ {
+ return (addr != null ? addr.getHostAddress() : "");
+ }
+
+ public InetAddress getAddress()
+ {
+ return addr;
+ }
+
+ /**
+ * Get the InetAddress of the service.
+ */
+ public InetAddress getInetAddress()
+ {
+ return addr;
+ }
+
+ /**
+ * Get the port for the service.
+ */
+ public int getPort()
+ {
+ return port;
+ }
+
+ /**
+ * Get the priority of the service.
+ */
+ public int getPriority()
+ {
+ return priority;
+ }
+
+ /**
+ * Get the weight of the service.
+ */
+ public int getWeight()
+ {
+ return weight;
+ }
+
+ /**
+ * Get the text for the serivce as raw bytes.
+ */
+ public byte[] getTextBytes()
+ {
+ return text;
+ }
+
+ /**
+ * Get the text for the service. This will interpret the text bytes
+ * as a UTF8 encoded string. Will return null if the bytes are not
+ * a valid UTF8 encoded string.
+ */
+ public String getTextString()
+ {
+ if ((text == null) || (text.length == 0) || ((text.length == 1) && (text[0] == 0)))
+ {
+ return null;
+ }
+ return readUTF(text, 0, text.length);
+ }
+
+ /**
+ * Get the URL for this service. An http URL is created by
+ * combining the address, port, and path properties.
+ */
+ public String getURL()
+ {
+ return getURL("http");
+ }
+
+ /**
+ * Get the URL for this service. An URL is created by
+ * combining the protocol, address, port, and path properties.
+ */
+ public String getURL(String protocol)
+ {
+ String url = protocol + "://" + getAddress() + ":" + getPort();
+ String path = getPropertyString("path");
+ if (path != null)
+ {
+ if (path.indexOf("://") >= 0)
+ {
+ url = path;
+ }
+ else
+ {
+ url += path.startsWith("/") ? path : "/" + path;
+ }
+ }
+ return url;
+ }
+
+ /**
+ * Get a property of the service. This involves decoding the
+ * text bytes into a property list. Returns null if the property
+ * is not found or the text data could not be decoded correctly.
+ */
+ public synchronized byte[] getPropertyBytes(String name)
+ {
+ return (byte[]) getProperties().get(name);
+ }
+
+ /**
+ * Get a property of the service. This involves decoding the
+ * text bytes into a property list. Returns null if the property
+ * is not found, the text data could not be decoded correctly, or
+ * the resulting bytes are not a valid UTF8 string.
+ */
+ public synchronized String getPropertyString(String name)
+ {
+ byte data[] = (byte[]) getProperties().get(name);
+ if (data == null)
+ {
+ return null;
+ }
+ if (data == NO_VALUE)
+ {
+ return "true";
+ }
+ return readUTF(data, 0, data.length);
+ }
+
+ /**
+ * Enumeration of the property names.
+ */
+ public Enumeration getPropertyNames()
+ {
+ Hashtable props = getProperties();
+ return (props != null) ? props.keys() : new Vector().elements();
+ }
+
+ /**
+ * Write a UTF string with a length to a stream.
+ */
+ void writeUTF(OutputStream out, String str) throws IOException
+ {
+ for (int i = 0, len = str.length(); i < len; i++)
+ {
+ int c = str.charAt(i);
+ if ((c >= 0x0001) && (c <= 0x007F))
+ {
+ out.write(c);
+ }
+ else
+ {
+ if (c > 0x07FF)
+ {
+ out.write(0xE0 | ((c >> 12) & 0x0F));
+ out.write(0x80 | ((c >> 6) & 0x3F));
+ out.write(0x80 | ((c >> 0) & 0x3F));
+ }
+ else
+ {
+ out.write(0xC0 | ((c >> 6) & 0x1F));
+ out.write(0x80 | ((c >> 0) & 0x3F));
+ }
+ }
+ }
+ }
+
+ /**
+ * Read data bytes as a UTF stream.
+ */
+ String readUTF(byte data[], int off, int len)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int end = off + len; off < end;)
+ {
+ int ch = data[off++] & 0xFF;
+ switch (ch >> 4)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ // 0xxxxxxx
+ break;
+ case 12:
+ case 13:
+ if (off >= len)
+ {
+ return null;
+ }
+ // 110x xxxx 10xx xxxx
+ ch = ((ch & 0x1F) << 6) | (data[off++] & 0x3F);
+ break;
+ case 14:
+ if (off + 2 >= len)
+ {
+ return null;
+ }
+ // 1110 xxxx 10xx xxxx 10xx xxxx
+ ch = ((ch & 0x0f) << 12) | ((data[off++] & 0x3F) << 6) | (data[off++] & 0x3F);
+ break;
+ default:
+ if (off + 1 >= len)
+ {
+ return null;
+ }
+ // 10xx xxxx, 1111 xxxx
+ ch = ((ch & 0x3F) << 4) | (data[off++] & 0x0f);
+ break;
+ }
+ buf.append((char) ch);
+ }
+ return buf.toString();
+ }
+
+ synchronized Hashtable getProperties()
+ {
+ if ((props == null) && (text != null))
+ {
+ Hashtable props = new Hashtable();
+ int off = 0;
+ while (off < text.length)
+ {
+ // length of the next key value pair
+ int len = text[off++] & 0xFF;
+ if ((len == 0) || (off + len > text.length))
+ {
+ props.clear();
+ break;
+ }
+ // look for the '='
+ int i = 0;
+ for (; (i < len) && (text[off + i] != '='); i++)
+ {
+ ;
+ }
+
+ // get the property name
+ String name = readUTF(text, off, i);
+ if (name == null)
+ {
+ props.clear();
+ break;
+ }
+ if (i == len)
+ {
+ props.put(name, NO_VALUE);
+ }
+ else
+ {
+ byte value[] = new byte[len - ++i];
+ System.arraycopy(text, off + i, value, 0, len - i);
+ props.put(name, value);
+ off += len;
+ }
+ }
+ this.props = props;
+ }
+ return props;
+ }
+
+ // REMIND: Oops, this shouldn't be public!
+ /**
+ * JmDNS callback to update a DNS record.
+ */
+ public void updateRecord(JmDNS jmdns, long now, DNSRecord rec)
+ {
+ if ((rec != null) && !rec.isExpired(now))
+ {
+ switch (rec.type)
+ {
+ case DNSConstants.TYPE_A: // IPv4
+ case DNSConstants.TYPE_AAAA: // IPv6 FIXME [PJYF Oct 14 2004] This has not been tested
+ if (rec.name.equals(server))
+ {
+ addr = ((DNSRecord.Address) rec).getAddress();
+
+ }
+ break;
+ case DNSConstants.TYPE_SRV:
+ if (rec.name.equals(getQualifiedName()))
+ {
+ DNSRecord.Service srv = (DNSRecord.Service) rec;
+ server = srv.server;
+ port = srv.port;
+ weight = srv.weight;
+ priority = srv.priority;
+ addr = null;
+ // changed to use getCache() instead - jeffs
+ // updateRecord(jmdns, now, (DNSRecord)jmdns.cache.get(server, TYPE_A, CLASS_IN));
+ updateRecord(jmdns, now, (DNSRecord) jmdns.getCache().get(server, DNSConstants.TYPE_A, DNSConstants.CLASS_IN));
+ }
+ break;
+ case DNSConstants.TYPE_TXT:
+ if (rec.name.equals(getQualifiedName()))
+ {
+ DNSRecord.Text txt = (DNSRecord.Text) rec;
+ text = txt.text;
+ }
+ break;
+ }
+ // Future Design Pattern
+ // This is done, to notify the wait loop in method
+ // JmDNS.getServiceInfo(type, name, timeout);
+ if (hasData() && dns != null)
+ {
+ dns.handleServiceResolved(this);
+ dns = null;
+ }
+ synchronized (this)
+ {
+ notifyAll();
+ }
+ }
+ }
+
+ /**
+ * Returns true if the service info is filled with data.
+ */
+ boolean hasData()
+ {
+ return server != null && addr != null && text != null;
+ }
+
+
+ // State machine
+ /**
+ * Sets the state and notifies all objects that wait on the ServiceInfo.
+ */
+ synchronized void advanceState()
+ {
+ state = state.advance();
+ notifyAll();
+ }
+
+ /**
+ * Sets the state and notifies all objects that wait on the ServiceInfo.
+ */
+ synchronized void revertState()
+ {
+ state = state.revert();
+ notifyAll();
+ }
+
+ /**
+ * Sets the state and notifies all objects that wait on the ServiceInfo.
+ */
+ synchronized void cancel()
+ {
+ state = DNSState.CANCELED;
+ notifyAll();
+ }
+
+ /**
+ * Returns the current state of this info.
+ */
+ DNSState getState()
+ {
+ return state;
+ }
+
+
+ public int hashCode()
+ {
+ return getQualifiedName().hashCode();
+ }
+
+ public boolean equals(Object obj)
+ {
+ return (obj instanceof ServiceInfo) && getQualifiedName().equals(((ServiceInfo) obj).getQualifiedName());
+ }
+
+ public String getNiceTextString()
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0, len = text.length; i < len; i++)
+ {
+ if (i >= 20)
+ {
+ buf.append("...");
+ break;
+ }
+ int ch = text[i] & 0xFF;
+ if ((ch < ' ') || (ch > 127))
+ {
+ buf.append("\\0");
+ buf.append(Integer.toString(ch, 8));
+ }
+ else
+ {
+ buf.append((char) ch);
+ }
+ }
+ return buf.toString();
+ }
+
+ public String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append("service[");
+ buf.append(getQualifiedName());
+ buf.append(',');
+ buf.append(getAddress());
+ buf.append(':');
+ buf.append(port);
+ buf.append(',');
+ buf.append(getNiceTextString());
+ buf.append(']');
+ return buf.toString();
+ }
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceListener.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceListener.java
new file mode 100644
index 0000000000..09faa1b37e
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceListener.java
@@ -0,0 +1,42 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+package org.apache.activemq.jmdns;
+
+import java.util.EventListener;
+
+/**
+ * Listener for service updates.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Werner Randelshofer
+ */
+public interface ServiceListener extends EventListener
+{
+ /**
+ * A service has been added.
+ *
+ * @param event The ServiceEvent providing the name and fully qualified type
+ * of the service.
+ */
+ void serviceAdded(ServiceEvent event);
+
+ /**
+ * A service has been removed.
+ *
+ * @param event The ServiceEvent providing the name and fully qualified type
+ * of the service.
+ */
+ void serviceRemoved(ServiceEvent event);
+
+ /**
+ * A service has been resolved. Its details are now available in the
+ * ServiceInfo record.
+ *
+ * @param event The ServiceEvent providing the name, the fully qualified
+ * type of the service, and the service info record, or null if the service
+ * could not be resolved.
+ */
+ void serviceResolved(ServiceEvent event);
+}
diff --git a/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceTypeListener.java b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceTypeListener.java
new file mode 100644
index 0000000000..c6afb88ba3
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/java/org/apache/activemq/jmdns/ServiceTypeListener.java
@@ -0,0 +1,24 @@
+//Copyright 2003-2005 Arthur van Hoff, Rick Blair
+//Licensed under Apache License version 2.0
+//Original license LGPL
+
+package org.apache.activemq.jmdns;
+
+import java.util.EventListener;
+
+/**
+ * Listener for service types.
+ *
+ * @version %I%, %G%
+ * @author Arthur van Hoff, Werner Randelshofer
+ */
+public interface ServiceTypeListener extends EventListener
+{
+ /**
+ * A new service type was discovered.
+ *
+ * @param event The service event providing the fully qualified type of
+ * the service.
+ */
+ void serviceTypeAdded(ServiceEvent event);
+}
diff --git a/activemq-jmdns_1.0/src/main/resources/META-INF/NOTICE b/activemq-jmdns_1.0/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000000..1495155864
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,17 @@
+===============================================================
+== NOTICE File for JmDNS ==
+===============================================================
+
+Java Multicast Domain Name Server (JmDNS)
+
+This project was originally developed by Arthur van Hoff under the GNU
+Lesser General Public License as jRendevous. It was moved to Sourceforge
+by Rick Blair and renamed to JmDNS with the Arthur's kind permission.
+
+Currently it has been re-released under the Apache License, Version 2.0.
+
+Details of the Apache License, Version 2.0 can be found at:
+http://www.apache.org/licenses/
+
+
+For other details please see the README.txt file.
diff --git a/activemq-jmdns_1.0/src/main/resources/META-INF/README.txt b/activemq-jmdns_1.0/src/main/resources/META-INF/README.txt
new file mode 100644
index 0000000000..e54a65e5a9
--- /dev/null
+++ b/activemq-jmdns_1.0/src/main/resources/META-INF/README.txt
@@ -0,0 +1,117 @@
+// %Z%%M%, %I%, %G%
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+//This library is now licensed under the Apache License Version 2.0 Please
+//see the file NOTICE.
+
+
+Arthur van Hoff
+avh@strangeberry.com
+
+Rick Blair
+rickblair@mac.com
+
+** JmDNS
+
+This is an implemenation of multi-cast DNS in Java. It currently
+supports service discovery and service registration. It is fully
+interoperable with Apple's Rendezvous.
+
+
+
+** Requirements
+
+jmdns has been tested using the JDK 1.3.1 and JDK 1.4.0
+on the following platforms:
+
+Windows 9x, XP, 2000
+Linux RedHat 7.3-9.0, Mandrake
+Mac OSX
+
+
+
+** Running jmdns from the Command Line
+
+GUI browser:
+
+ java -jar lib/jmdns.jar -browse
+
+TTY browser for a particular service type:
+
+ java -jar lib/jmdns.jar -bs _http._tcp local.
+
+Register a service:
+
+ java -jar lib/jmdns.jar -rs foobar _http._tcp local. 1234 path=index.html
+
+List service types:
+
+ java -jar lib/jmdns.jar -bt
+
+To print debugging output specify -d as the first argument.
+
+
+
+** Sample Code for Service Registration
+
+ import javax.jmdns.*;
+
+ JmDNS jmdns = new JmDNS();
+ jmdns.registerService(
+ new ServiceInfo("_http._tcp.local.", "foo._http._tcp.local.", 1234, 0, 0, "path=index.html")
+ );
+
+
+** Sample code for Serivice Discovery
+
+ import javax.jmdns.*;
+
+ static class SampleListener implements ServiceListener
+ {
+ public void addService(JmDNS jmdns, String type, String name)
+ {
+ System.out.println("ADD: " + jmdns.getServiceInfo(type, name));
+ }
+ public void removeService(JmDNS jmdns, String type, String name)
+ {
+ System.out.println("REMOVE: " + name);
+ }
+ public void resolveService(JmDNS jmdns, String type, String name, ServiceInfo info)
+ {
+ System.out.println("RESOLVED: " + info);
+ }
+ }
+
+ JmDNS jmdns = new JmDNS();
+ jmdns.addServiceListener("_http._tcp.local.", new SampleListener());
+
+
+** Changes since October 2003
+
+- Renamed package com.strangeberry.rendezvous to javax.jmdns
+- fixed unicast queries
+- fixed property handling
+- use the hostname instead of the service name is address resolution
+- Added Apache License.
+
+--------------------------------------------------------------------
+The activemq-jmdns_1.0 source is derived from http://repo1.maven.org/maven2/jmdns/jmdns/1.0/jmdns-1.0-sources.jar
+
+Changes to apache activemq version:
+- renamed package javax.jmdns to org.apache.activemq.jmdns
+- removed classes with lgpl source headers, leaving only the org.apache.activemq.jmdns package.
+
diff --git a/activemq-openwire-generator/pom.xml b/activemq-openwire-generator/pom.xml
index aa535dfc2e..c6e65b0ddf 100644
--- a/activemq-openwire-generator/pom.xml
+++ b/activemq-openwire-generator/pom.xml
@@ -83,4 +83,15 @@
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
diff --git a/activemq-openwire-generator/src/main/resources/META-INF/LICENSE.txt b/activemq-openwire-generator/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-openwire-generator/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-openwire-generator/src/main/resources/META-INF/NOTICE.txt b/activemq-openwire-generator/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-openwire-generator/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-optional/src/main/resources/META-INF/LICENSE.txt b/activemq-optional/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-optional/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-optional/src/main/resources/META-INF/NOTICE.txt b/activemq-optional/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-optional/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-perftest/src/main/resources/META-INF/LICENSE.txt b/activemq-perftest/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-perftest/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-perftest/src/main/resources/META-INF/NOTICE.txt b/activemq-perftest/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-perftest/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-ra/pom.xml b/activemq-ra/pom.xml
index ffbfc9b1c4..0c85d8d205 100755
--- a/activemq-ra/pom.xml
+++ b/activemq-ra/pom.xml
@@ -48,10 +48,12 @@
org.springframeworkspring
+
jmockjmock
diff --git a/activemq-ra/src/main/resources/META-INF/LICENSE.txt b/activemq-ra/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-ra/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-ra/src/main/resources/META-INF/NOTICE.txt b/activemq-ra/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-ra/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-rar/pom.xml b/activemq-rar/pom.xml
index 71c7085053..c1d13ed4fa 100644
--- a/activemq-rar/pom.xml
+++ b/activemq-rar/pom.xml
@@ -135,8 +135,8 @@
regexp
- activemq
- jmdns
+ org.apache.activemq
+ activemq-jmdns_1.0xalan
@@ -215,5 +215,15 @@
log4j
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
diff --git a/activemq-xmpp/src/main/resources/META-INF/LICENSE.txt b/activemq-rar/src/main/rar/META-INF/LICENSE
old mode 100755
new mode 100644
similarity index 83%
rename from activemq-xmpp/src/main/resources/META-INF/LICENSE.txt
rename to activemq-rar/src/main/rar/META-INF/LICENSE
index 1b82162f38..9b304d9db9
--- a/activemq-xmpp/src/main/resources/META-INF/LICENSE.txt
+++ b/activemq-rar/src/main/rar/META-INF/LICENSE
@@ -202,12 +202,51 @@
limitations under the License.
=========================================================================
-== For the Jabber Software Foundation XSDs ==
+== For the backport-util-concurrent library ==
=========================================================================
- Copyright (c) 1999-2006 The Jabber Software Foundation
- http://www.xmpp.org/about/copyright.shtml
+
+Creative Commons Public Domain
- These XSD files arelicensed under the Creative Commons License 2.5
- http://creativecommons.org/licenses/by/2.5/
-
\ No newline at end of file
+
+
+
Copyright-Only Dedication (based on United States law) or Public Domain Certification
+
+
The
+person or persons who have associated work with this document (the
+"Dedicator" or "Certifier") hereby either (a) certifies that, to the
+best of his knowledge, the work of authorship identified is in the
+public domain of the country from which the work is published, or (b)
+hereby dedicates whatever copyright the dedicators holds in the work of
+authorship identified below (the "Work") to the public domain. A
+certifier, morever, dedicates any copyright interest he may have in the
+associated work, and for these purposes, is described as a "dedicator"
+below.
+
+
A certifier has taken reasonable steps to verify
+the copyright status of this work. Certifier recognizes that his good
+faith efforts may not shield him from liability if in fact the work
+certified is not in the public domain.
+
+
Dedicator makes
+this dedication for the benefit of the public at large and to the
+detriment of the Dedicator's heirs and successors. Dedicator intends
+this dedication to be an overt act of relinquishment in perpetuity of
+all present and future rights under copyright law, whether vested or
+contingent, in the Work. Dedicator understands that such relinquishment
+of all rights includes the relinquishment of all rights to enforce (by
+lawsuit or otherwise) those copyrights in the Work.
+
+
Dedicator
+recognizes that, once placed in the public domain, the Work may be
+freely reproduced, distributed, transmitted, used, modified, built
+upon, or otherwise exploited by anyone for any purpose, commercial or
+non-commercial, and in any way, including by methods that have not yet
+been invented or conceived.
+
+
+
+
+=========================================================================
+== Spring is licensed under the Apache License Version 2.0 ==
+=========================================================================
diff --git a/activemq-rar/src/main/rar/META-INF/LICENSE.txt b/activemq-rar/src/main/rar/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b1270ff..0000000000
--- a/activemq-rar/src/main/rar/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-rar/src/main/rar/META-INF/NOTICE.txt b/activemq-rar/src/main/rar/META-INF/NOTICE
similarity index 72%
rename from activemq-rar/src/main/rar/META-INF/NOTICE.txt
rename to activemq-rar/src/main/rar/META-INF/NOTICE
index 889a1412fe..5f66a8ec3c 100644
--- a/activemq-rar/src/main/rar/META-INF/NOTICE.txt
+++ b/activemq-rar/src/main/rar/META-INF/NOTICE
@@ -1,11 +1,5 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
+Copyright 2005-2008 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
@@ -50,11 +44,3 @@ The names "Spring" and "Spring Framework" must not be used to
endorse or promote products derived from this software without
prior written permission. For written permission, please contact
rod.johnson@interface21.com or juergen.hoeller@interface21.com.
-
-
-=========================================================================
-== MX4J Notice ==
-=========================================================================
-
-This product includes software developed by the MX4J project
-(http://sourceforge.net/projects/mx4j).
diff --git a/activemq-soaktest/src/main/resources/META-INF/LICENSE.txt b/activemq-soaktest/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-soaktest/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-soaktest/src/main/resources/META-INF/NOTICE.txt b/activemq-soaktest/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-soaktest/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-systest/src/main/resources/META-INF/LICENSE.txt b/activemq-systest/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/activemq-systest/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/activemq-systest/src/main/resources/META-INF/NOTICE.txt b/activemq-systest/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-systest/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-tooling/maven-activemq-memtest-plugin/pom.xml b/activemq-tooling/maven-activemq-memtest-plugin/pom.xml
index 89172597bb..f3b9c7b759 100644
--- a/activemq-tooling/maven-activemq-memtest-plugin/pom.xml
+++ b/activemq-tooling/maven-activemq-memtest-plugin/pom.xml
@@ -16,53 +16,64 @@
limitations under the License.
-->
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- 4.0.0
+ 4.0.0
-
- org.apache.activemq.tooling
- activemq-tooling
- 5.1-SNAPSHOT
-
-
- maven-activemq-memtest-plugin
- maven-plugin
- ActiveMQ :: Memory Usage Test Plugin
+
+ org.apache.activemq.tooling
+ activemq-tooling
+ 5.1-SNAPSHOT
+
+
+ maven-activemq-memtest-plugin
+ maven-plugin
+ ActiveMQ :: Memory Usage Test Plugin
+
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.activemq
+ activemq-core
+
+
+ org.apache.activemq
+ activemq-console
+
+
+ org.apache.activemq
+ activeio-core
+
+
+ org.apache.derby
+ derby
+
+
+ org.apache.derby
+ derbynet
+
+
+ org.apache.geronimo.specs
+ geronimo-jms_1.1_spec
+
+
+ org.apache.geronimo.specs
+ geronimo-j2ee-management_1.0_spec
+
+
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
-
-
- org.apache.maven
- maven-plugin-api
- 2.0
-
-
- org.apache.activemq
- activemq-core
-
-
- org.apache.activemq
- activemq-console
-
-
- org.apache.activemq
- activeio-core
-
-
- org.apache.derby
- derby
-
-
- org.apache.derby
- derbynet
-
-
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
-
-
- org.apache.geronimo.specs
- geronimo-j2ee-management_1.0_spec
-
-
diff --git a/activemq-tooling/maven-activemq-memtest-plugin/src/main/resources/META-INF/NOTICE.txt b/activemq-tooling/maven-activemq-memtest-plugin/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-tooling/maven-activemq-memtest-plugin/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-tooling/maven-activemq-perf-plugin/src/main/resources/META-INF/NOTICE.txt b/activemq-tooling/maven-activemq-perf-plugin/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-tooling/maven-activemq-perf-plugin/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-tooling/maven-activemq-plugin/pom.xml b/activemq-tooling/maven-activemq-plugin/pom.xml
index e369b17d7f..b399fa91b3 100644
--- a/activemq-tooling/maven-activemq-plugin/pom.xml
+++ b/activemq-tooling/maven-activemq-plugin/pom.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
@@ -23,34 +23,56 @@
org.apache.activemq.toolingactivemq-tooling5.1-SNAPSHOT
-
-
- maven-activemq-plugin
- maven-plugin
- ActiveMQ :: StartUp Plugin
+
-
-
- org.apache.maven
- maven-plugin-api
- 2.0.5
-
-
- org.apache.maven
- maven-project
- 2.0.5
-
-
- org.apache.activemq
- activemq-core
-
-
- org.apache.xbean
- xbean-spring
-
-
- org.apache.derby
- derby
-
-
+ maven-activemq-plugin
+ maven-plugin
+ ActiveMQ :: StartUp Plugin
+
+
+
+ org.apache.maven
+ maven-plugin-api
+ 2.0
+
+
+ org.apache.activemq
+ activemq-core
+
+
+ org.apache.activemq
+ activemq-console
+
+
+ org.apache.activemq
+ activeio-core
+
+
+ org.apache.derby
+ derby
+
+
+ org.apache.derby
+ derbynet
+
+
+ org.apache.geronimo.specs
+ geronimo-jms_1.1_spec
+
+
+ org.apache.geronimo.specs
+ geronimo-j2ee-management_1.0_spec
+
+
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
diff --git a/activemq-tooling/maven-activemq-plugin/src/main/resources/META-INF/NOTICE.txt b/activemq-tooling/maven-activemq-plugin/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-tooling/maven-activemq-plugin/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-web-console/pom.xml b/activemq-web-console/pom.xml
index f8633caeaf..b6aa647d2e 100755
--- a/activemq-web-console/pom.xml
+++ b/activemq-web-console/pom.xml
@@ -194,9 +194,10 @@
org.slf4jslf4j-jcl
-
+
+
+ log4j
+ log4j
diff --git a/activemq-web-console/src/main/webapp/META-INF/LICENSE.txt b/activemq-web-console/src/main/webapp/META-INF/LICENSE
similarity index 67%
rename from activemq-web-console/src/main/webapp/META-INF/LICENSE.txt
rename to activemq-web-console/src/main/webapp/META-INF/LICENSE
index 519399d93f..b09979f6f4 100644
--- a/activemq-web-console/src/main/webapp/META-INF/LICENSE.txt
+++ b/activemq-web-console/src/main/webapp/META-INF/LICENSE
@@ -201,582 +201,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-=========================================================================
-== APACHE ACTIVEMQ DEPENDENCIES ==
-=========================================================================
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-=========================================================================
-== For the backport-util-concurrent library ==
-=========================================================================
-
-
-Creative Commons Public Domain
-
-
-
-
Copyright-Only Dedication (based on United States law) or Public Domain Certification
-
-
The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.
-
-
A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.
-
-
Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.
-
-
Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.
-
-
-
-
-=========================================================================
-== For the mx4j, mx4j-remote, and mx4j-tools library ==
-=========================================================================
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- the MX4J website.
-
-=========================================================================
-== For the jetty and jetty-util library library ==
-=========================================================================
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== For the xmlpull library ==
-=========================================================================
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-=========================================================================
-== For the spring library ==
-=========================================================================
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== For the xstream library ==
-=========================================================================
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer. Redistributions in binary form must reproduce
-the above copyright notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the distribution.
-
-Neither the name of XStream nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
=========================================================================
== For the MochiKit library ==
=========================================================================
@@ -1162,60 +586,485 @@ This License constitutes the entire agreement between the parties with respect t
=========================================================================
-== For the Java Service Wrapper ==
+== Jetty is under the Apache License v 2.0 ==
+=========================================================================
+-- Licenses for included libraries
+=========================================================================
+== For the backport-util-concurrent library ==
=========================================================================
-Copyright (c) 1999, 2006 Tanuki Software, Inc.
+
+Creative Commons Public Domain
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of the Java Service Wrapper and associated
-documentation files (the "Software"), to deal in the Software
-without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sub-license,
-and/or sell copies of the Software, and to permit persons to
-whom the Software is furnished to do so, subject to the
-following conditions:
+
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+
Copyright-Only Dedication (based on United States law) or Public Domain Certification
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+
The
+person or persons who have associated work with this document (the
+"Dedicator" or "Certifier") hereby either (a) certifies that, to the
+best of his knowledge, the work of authorship identified is in the
+public domain of the country from which the work is published, or (b)
+hereby dedicates whatever copyright the dedicators holds in the work of
+authorship identified below (the "Work") to the public domain. A
+certifier, morever, dedicates any copyright interest he may have in the
+associated work, and for these purposes, is described as a "dedicator"
+below.
+
+
A certifier has taken reasonable steps to verify
+the copyright status of this work. Certifier recognizes that his good
+faith efforts may not shield him from liability if in fact the work
+certified is not in the public domain.
+
+
Dedicator makes
+this dedication for the benefit of the public at large and to the
+detriment of the Dedicator's heirs and successors. Dedicator intends
+this dedication to be an overt act of relinquishment in perpetuity of
+all present and future rights under copyright law, whether vested or
+contingent, in the Work. Dedicator understands that such relinquishment
+of all rights includes the relinquishment of all rights to enforce (by
+lawsuit or otherwise) those copyrights in the Work.
+
+
Dedicator
+recognizes that, once placed in the public domain, the Work may be
+freely reproduced, distributed, transmitted, used, modified, built
+upon, or otherwise exploited by anyone for any purpose, commercial or
+non-commercial, and in any way, including by methods that have not yet
+been invented or conceived.
+
+
+
+
+=========================================================================
+== For jaxb-api and jaxb-impl (CDDL) ==
+== Source code is at java.net ==
+=========================================================================
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+Version 1.0
+
+ *
+
+ 1. Definitions.
+ o
+
+ 1.1. โContributorโ means each individual or entity that creates or contributes to the creation of Modifications.
+ o
+
+ 1.2. โContributor Versionโ means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+ o
+
+ 1.3. โCovered Softwareโ means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+ o
+
+ 1.4. โExecutableโ means the Covered Software in any form other than Source Code.
+ o
+
+ 1.5. โInitial Developerโ means the individual or entity that first makes Original Software available under this License.
+ o
+
+ 1.6. โLarger Workโ means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+ o
+
+ 1.7. โLicenseโ means this document.
+ o
+
+ 1.8. โLicensableโ means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+ o
+
+ 1.9. โModificationsโ means the Source Code and Executable form of any of the following:
+ +
+
+ A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+ +
+
+ B. Any new file that contains any part of the Original Software or previous Modification; or
+ +
+
+ C. Any new file that is contributed or otherwise made available under the terms of this License.
+ o
+
+ 1.10. โOriginal Softwareโ means the Source Code and Executable form of computer software code that is originally released under this License.
+ o
+
+ 1.11. โPatent Claimsโ means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+ o
+
+ 1.12. โSource Codeโ means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+ o
+
+ 1.13. โYouโ (or โYourโ) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, โYouโ includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, โcontrolโ means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
+ *
+
+ 2. License Grants.
+ o
+
+ 2.1. The Initial Developer Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+ +
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+ +
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+ +
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+ +
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+ o
+
+ 2.2. Contributor Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+ +
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+ +
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ +
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+ +
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+ *
+
+ 3. Distribution Obligations.
+ o
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+ o
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+ o
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+ o
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipientsโ rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+ o
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipientโs rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+ o
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+ *
+
+ 4. Versions of the License.
+ o
+
+ 4.1. New Versions.
+
+ Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+ o
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+ o
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+ *
+
+ 5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN โAS ISโ BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+ *
+
+ 6. TERMINATION.
+ o
+
+ 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+ o
+
+ 6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as โParticipantโ) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+ o
+
+ 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+ *
+
+ 7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTYโS NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+ *
+
+ 8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a โcommercial item,โ as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of โcommercial computer softwareโ (as that term is defined at 48 C.F.R. ยง 252.227-7014(a)(1)) and โcommercial computer software documentationโ as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+ *
+
+ 9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdictionโs conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneysโ fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+ *
+
+ 10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+=========================================================================
+== jstl and taglibs standard are under either the Apache License v 2.0 or CDDL ==
+=========================================================================
+=========================================================================
+== For JDom ==
+=========================================================================
+Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the disclaimer that follows
+ these conditions in the documentation and/or other materials
+ provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+ derived from this software without prior written permission. For
+ written permission, please contact .
+
+ 4. Products derived from this software may not be called "JDOM", nor
+ may "JDOM" appear in their name, without prior written permission
+ from the JDOM Project Management .
+
+ In addition, we request (but do not require) that you include in the
+ end-user documentation provided with the redistribution and/or in the
+ software itself an acknowledgement equivalent to the following:
+ "This product includes software developed by the
+ JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the JDOM Project and was originally
+ created by Jason Hunter and
+ Brett McLaughlin . For more information
+ on the JDOM Project, please see .
+
+=========================================================================
+== For the mx4j, mx4j-remote, and mx4j-tools library ==
+=========================================================================
+
+ The MX4J License, Version 1.0
+
+ Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ 3. The end-user documentation included with the redistribution,
+ if any, must include the following acknowledgment:
+ "This product includes software developed by the
+ MX4J project (http://mx4j.sourceforge.net)."
+ Alternately, this acknowledgment may appear in the software itself,
+ if and wherever such third-party acknowledgments normally appear.
+
+ 4. The name "MX4J" must not be used to endorse or promote
+ products derived from this software without prior written
+ permission.
+ For written permission, please contact
+ biorn_steedom [at] users [dot] sourceforge [dot] net
+
+ 5. Products derived from this software may not be called "MX4J",
+ nor may "MX4J" appear in their name, without prior written
+ permission of Simone Bordet.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+ ====================================================================
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the MX4J project. For more information on
+ MX4J, please see
+ the MX4J website.
-Portions of the Software have been derived from source code
-developed by Silver Egg Technology under the following license:
+=========================================================================
+== Rome is under the Apache License v 2.0 ==
+=========================================================================
+=========================================================================
+== For Sitemesh ==
+=========================================================================
+/* ====================================================================
+ * The OpenSymphony Software License, Version 1.1
+ *
+ * (this license is derived and fully compatible with the Apache Software
+ * License - see http://www.apache.org/LICENSE.txt)
+ *
+ * Copyright (c) 2001-2004 The OpenSymphony Group. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * OpenSymphony Group (http://www.opensymphony.com/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "OpenSymphony" and "The OpenSymphony Group"
+ * must not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact license@opensymphony.com .
+ *
+ * 5. Products derived from this software may not be called "OpenSymphony"
+ * or "SiteMesh", nor may "OpenSymphony" or "SiteMesh" appear in their
+ * name, without prior written permission of the OpenSymphony Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ */
+ =========================================================================
+== For slf4j ==
+=========================================================================
+Copyright (c) 2004-2007 QOS.ch All rights reserved. Permission is hereby
+granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions: The above
+copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+=========================================================================
+== Smackx is under the Apache License v 2.0 ==
+=========================================================================
+=========================================================================
+== Spring is under the Apache License v 2.0 ==
+=========================================================================
+=========================================================================
+== Woodstox is under the Apache License v 2.0 ==
+=========================================================================
+=========================================================================
+== For the xmlpull library ==
+=========================================================================
-BEGIN Silver Egg Techology License -----------------------------------
-
- Copyright (c) 2001 Silver Egg Technology
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sub-license, and/or
- sell copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
-END Silver Egg Techology License -------------------------------------
+XMLPULL API IS FREE
+-------------------
+All of the XMLPULL API source code, compiled code, and documentation
+contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
+are in the Public Domain.
+
+XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
+
+Initial authors:
+
+ Stefan Haustein
+ Aleksander Slominski
+
+2001-12-12
+
+=========================================================================
+== For the xstream library ==
+=========================================================================
+
+(BSD Style License)
+
+Copyright (c) 2003-2004, Joe Walnes
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/activemq-web-demo/src/main/webapp/META-INF/NOTICE.txt b/activemq-web-console/src/main/webapp/META-INF/NOTICE
similarity index 54%
rename from activemq-web-demo/src/main/webapp/META-INF/NOTICE.txt
rename to activemq-web-console/src/main/webapp/META-INF/NOTICE
index 889a1412fe..b91150c8b3 100644
--- a/activemq-web-demo/src/main/webapp/META-INF/NOTICE.txt
+++ b/activemq-web-console/src/main/webapp/META-INF/NOTICE
@@ -1,9 +1,3 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
Apache ActiveMQ
Copyright 2005-2006 The Apache Software Foundation
@@ -27,6 +21,34 @@ International Business Machines Corporation in accordance with the NIST
Software Acknowledgment and Redistribution document at
http://www.itl.nist.gov/div897/ctg/sql_form.htm
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2006 Mort Bay Consulting Pty Ltd
+==============================================================
+
+This product includes some software developed at The Apache Software
+Foundation (http://www.apache.org/).
+
+The javax.servlet package used by Jetty is copyright
+Sun Microsystems, Inc and Apache Software Foundation. It is
+distributed under the Common Development and Distribution License.
+You can obtain a copy of the license at
+https://glassfish.dev.java.net/public/CDDLv1.0.html.
+
+The UnixCrypt.java code ~Implements the one way cryptography used by
+Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
+modified April 2001 by Iris Van den Broeke, Daniel Deville.
+
+The default JSP implementation is provided by the Glassfish JSP engine
+from project Glassfish http://glassfish.dev.java.net. Copyright 2005
+Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
+
+Some portions of the code are Copyright:
+ 2006 Tim Vernum
+ 1999 Jason Gilbert.
+
+The jboss integration module contains some LGPL code.
+
=========================================================================
== Spring Notice ==
=========================================================================
@@ -58,3 +80,28 @@ rod.johnson@interface21.com or juergen.hoeller@interface21.com.
This product includes software developed by the MX4J project
(http://sourceforge.net/projects/mx4j).
+=========================================================================
+== Sitemesh Notice ==
+=========================================================================
+
+This product includes software developed by the
+OpenSymphony Group (http://www.opensymphony.com/).
+
+=========================================================================
+== Smackx Notice (not from Jive Software) ==
+=========================================================================
+
+This product includes software developed by JiveSoftware
+(http://www.igniterealtime.org/).
+
+=========================================================================
+== Woodstox Notice (http://woodstox.codehaus.org) ==
+=========================================================================
+This product currently only contains code developed by authors
+of specific components, as identified by the source code files.
+
+Since product implements StAX API, it has dependencies to StAX API
+classes.
+
+For additional credits (generally to people who reported problems)
+see CREDITS file.
diff --git a/activemq-web-console/LICENSE.txt b/activemq-web-demo/src/main/webapp/META-INF/LICENSE
old mode 100755
new mode 100644
similarity index 59%
rename from activemq-web-console/LICENSE.txt
rename to activemq-web-demo/src/main/webapp/META-INF/LICENSE
index 2768df2814..3b97eac275
--- a/activemq-web-console/LICENSE.txt
+++ b/activemq-web-demo/src/main/webapp/META-INF/LICENSE
@@ -202,185 +202,178 @@
limitations under the License.
=========================================================================
-== APACHE ACTIVEMQ DEPENDENCIES ==
+== For the backport-util-concurrent library ==
=========================================================================
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
+
+Creative Commons Public Domain
+
+
+
+
Copyright-Only Dedication (based on United States law) or Public Domain Certification
+
+
The
+person or persons who have associated work with this document (the
+"Dedicator" or "Certifier") hereby either (a) certifies that, to the
+best of his knowledge, the work of authorship identified is in the
+public domain of the country from which the work is published, or (b)
+hereby dedicates whatever copyright the dedicators holds in the work of
+authorship identified below (the "Work") to the public domain. A
+certifier, morever, dedicates any copyright interest he may have in the
+associated work, and for these purposes, is described as a "dedicator"
+below.
+
+
A certifier has taken reasonable steps to verify
+the copyright status of this work. Certifier recognizes that his good
+faith efforts may not shield him from liability if in fact the work
+certified is not in the public domain.
+
+
Dedicator makes
+this dedication for the benefit of the public at large and to the
+detriment of the Dedicator's heirs and successors. Dedicator intends
+this dedication to be an overt act of relinquishment in perpetuity of
+all present and future rights under copyright law, whether vested or
+contingent, in the Work. Dedicator understands that such relinquishment
+of all rights includes the relinquishment of all rights to enforce (by
+lawsuit or otherwise) those copyrights in the Work.
+
+
Dedicator
+recognizes that, once placed in the public domain, the Work may be
+freely reproduced, distributed, transmitted, used, modified, built
+upon, or otherwise exploited by anyone for any purpose, commercial or
+non-commercial, and in any way, including by methods that have not yet
+been invented or conceived.
+
+
+
=========================================================================
-== For the MochiKit library ==
+== jetty-util is under the Apache License v 2.0 ==
+=========================================================================
+=========================================================================
+== For the xmlpull library ==
=========================================================================
-MochiKit is dual-licensed software. It is available under the terms of the
-MIT License, or the Academic Free License version 2.1. The full text of
-each license is included below.
+XMLPULL API IS FREE
+-------------------
-MIT License
-===========
+All of the XMLPULL API source code, compiled code, and documentation
+contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
+are in the Public Domain.
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
+XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+Initial authors:
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ Stefan Haustein
+ Aleksander Slominski
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Academic Free License v. 2.1
-============================
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-
-Licensed under the Academic Free License version 2.1
-
-1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-
-a) to reproduce the Original Work in copies;
-
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-
-c) to distribute copies of the Original Work and Derivative Works to the public;
-
-d) to perform the Original Work publicly; and
-
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ยง 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-
-13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+2001-12-12
=========================================================================
-== For the Plotkit library ==
+== Spring is under the Apache License v 2.0 ==
=========================================================================
-Copyright (c) 2006, Alastair Tse
+=========================================================================
+== Rome 0.8 is under the Apache License v 2.0 ==
+=========================================================================
+
+=========================================================================
+== For the xstream library ==
+=========================================================================
+
+(BSD Style License)
+
+Copyright (c) 2003-2004, Joe Walnes
All rights reserved.
Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Alastair Tse nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
=========================================================================
-== For the behaviour.js library ==
+== For the JDom library ==
=========================================================================
+/*--
-Copyright (c) 2005, Ben Nolan
-All rights reserved.
+ $Id$
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+ Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Ben Nolan nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the iecanvas.htc library ==
-=========================================================================
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions, and the following disclaimer.
-|-----------------------------------------------------------------------------|
-| Copyright (c) 2005 Emil A Eklund |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| This program is free software; you can redistribute it and/or modify it |
-| under the terms of the MIT License. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| Permission is hereby granted, free of charge, to any person obtaining a |
-| copy of this software and associated documentation files (the "Software"), |
-| to deal in the Software without restriction, including without limitation |
-| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
-| and/or sell copies of the Software, and to permit persons to whom the |
-| Software is furnished to do so, subject to the following conditions: |
-| The above copyright notice and this permission notice shall be included in |
-| all copies or substantial portions of the Software. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
-| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
-| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
-| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
-| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
-| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
-| DEALINGS IN THE SOFTWARE. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the disclaimer that follows
+ these conditions in the documentation and/or other materials
+ provided with the distribution.
+ 3. The name "JDOM" must not be used to endorse or promote products
+ derived from this software without prior written permission. For
+ written permission, please contact .
+
+ 4. Products derived from this software may not be called "JDOM", nor
+ may "JDOM" appear in their name, without prior written permission
+ from the JDOM Project Management .
+
+ In addition, we request (but do not require) that you include in the
+ end-user documentation provided with the redistribution and/or in the
+ software itself an acknowledgement equivalent to the following:
+ "This product includes software developed by the
+ JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many
+ individuals on behalf of the JDOM Project and was originally
+ created by Jason Hunter and
+ Brett McLaughlin . For more information
+ on the JDOM Project, please see .
+
+ */
=========================================================================
== For the scriptaculous.js library ==
=========================================================================
// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
+//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
@@ -388,10 +381,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
-//
+//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
-//
+//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@@ -400,54 +393,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-=========================================================================
-== For the standardista-table-sorting.js library ==
-== For the css.js library ==
-=========================================================================
-
-/**
- * Copyright (c) 2006 Neil Crosby
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- **/
-
-=========================================================================
-== For the prototype.js library ==
-=========================================================================
-
-Copyright (c) 2005 Sam Stephenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
=========================================================================
== For the style.css library ==
== For the common.js library ==
@@ -592,4 +537,4 @@ No term or provision of this License shall be deemed waived and no breach consen
This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-
+
\ No newline at end of file
diff --git a/activemq-web-demo/src/main/webapp/META-INF/LICENSE.txt b/activemq-web-demo/src/main/webapp/META-INF/LICENSE.txt
deleted file mode 100644
index 519399d93f..0000000000
--- a/activemq-web-demo/src/main/webapp/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,1221 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== APACHE ACTIVEMQ DEPENDENCIES ==
-=========================================================================
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-=========================================================================
-== For the backport-util-concurrent library ==
-=========================================================================
-
-
-Creative Commons Public Domain
-
-
-
-
Copyright-Only Dedication (based on United States law) or Public Domain Certification
-
-
The
-person or persons who have associated work with this document (the
-"Dedicator" or "Certifier") hereby either (a) certifies that, to the
-best of his knowledge, the work of authorship identified is in the
-public domain of the country from which the work is published, or (b)
-hereby dedicates whatever copyright the dedicators holds in the work of
-authorship identified below (the "Work") to the public domain. A
-certifier, morever, dedicates any copyright interest he may have in the
-associated work, and for these purposes, is described as a "dedicator"
-below.
-
-
A certifier has taken reasonable steps to verify
-the copyright status of this work. Certifier recognizes that his good
-faith efforts may not shield him from liability if in fact the work
-certified is not in the public domain.
-
-
Dedicator makes
-this dedication for the benefit of the public at large and to the
-detriment of the Dedicator's heirs and successors. Dedicator intends
-this dedication to be an overt act of relinquishment in perpetuity of
-all present and future rights under copyright law, whether vested or
-contingent, in the Work. Dedicator understands that such relinquishment
-of all rights includes the relinquishment of all rights to enforce (by
-lawsuit or otherwise) those copyrights in the Work.
-
-
Dedicator
-recognizes that, once placed in the public domain, the Work may be
-freely reproduced, distributed, transmitted, used, modified, built
-upon, or otherwise exploited by anyone for any purpose, commercial or
-non-commercial, and in any way, including by methods that have not yet
-been invented or conceived.
-
-
-
-
-=========================================================================
-== For the mx4j, mx4j-remote, and mx4j-tools library ==
-=========================================================================
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- the MX4J website.
-
-=========================================================================
-== For the jetty and jetty-util library library ==
-=========================================================================
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== For the xmlpull library ==
-=========================================================================
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-=========================================================================
-== For the spring library ==
-=========================================================================
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== For the xstream library ==
-=========================================================================
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer. Redistributions in binary form must reproduce
-the above copyright notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the distribution.
-
-Neither the name of XStream nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
-=========================================================================
-== For the MochiKit library ==
-=========================================================================
-
-MochiKit is dual-licensed software. It is available under the terms of the
-MIT License, or the Academic Free License version 2.1. The full text of
-each license is included below.
-
-MIT License
-===========
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Academic Free License v. 2.1
-============================
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-
-Licensed under the Academic Free License version 2.1
-
-1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-
-a) to reproduce the Original Work in copies;
-
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-
-c) to distribute copies of the Original Work and Derivative Works to the public;
-
-d) to perform the Original Work publicly; and
-
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ยง 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-
-13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
-
-=========================================================================
-== For the Plotkit library ==
-=========================================================================
-
-Copyright (c) 2006, Alastair Tse
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Alastair Tse nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the behaviour.js library ==
-=========================================================================
-
-Copyright (c) 2005, Ben Nolan
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Ben Nolan nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the iecanvas.htc library ==
-=========================================================================
-
-|-----------------------------------------------------------------------------|
-| Copyright (c) 2005 Emil A Eklund |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| This program is free software; you can redistribute it and/or modify it |
-| under the terms of the MIT License. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| Permission is hereby granted, free of charge, to any person obtaining a |
-| copy of this software and associated documentation files (the "Software"), |
-| to deal in the Software without restriction, including without limitation |
-| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
-| and/or sell copies of the Software, and to permit persons to whom the |
-| Software is furnished to do so, subject to the following conditions: |
-| The above copyright notice and this permission notice shall be included in |
-| all copies or substantial portions of the Software. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
-| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
-| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
-| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
-| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
-| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
-| DEALINGS IN THE SOFTWARE. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-
-=========================================================================
-== For the scriptaculous.js library ==
-=========================================================================
-
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-=========================================================================
-== For the standardista-table-sorting.js library ==
-== For the css.js library ==
-=========================================================================
-
-/**
- * Copyright (c) 2006 Neil Crosby
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- **/
-
-=========================================================================
-== For the prototype.js library ==
-=========================================================================
-
-Copyright (c) 2005 Sam Stephenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-=========================================================================
-== For the style.css library ==
-== For the common.js library ==
-=========================================================================
-
-
License
-
-
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
-
1. Definitions
-
-
-
-
-"Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
-
-
-
-"Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
-
-
-"Licensor" means the individual or entity that offers the Work under the terms of this License.
-
-
-
-"Original Author" means the individual or entity who created the Work.
-
-
-
-"Work" means the copyrightable work of authorship offered under the terms of this License.
-
-
-
-"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
-
-
-
-
-
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
-
-
-
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-
-
-
-
-
-to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
-
-
-
-to create and reproduce Derivative Works;
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
-
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
-
-
-
For the avoidance of doubt, where the work is a musical composition:
-
-
-
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
-
-
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
-
-
-
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
-
-
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-
-
-
-
-You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
-
-
-
-
-If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
-
-
-
-
-
-
-
-
-
-
5. Representations, Warranties and Disclaimer
-
-
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-
-
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
7. Termination
-
-
-
-
-This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
-
-
-
-Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-
-
-
-
8. Miscellaneous
-
-
-
-
-Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-
-
-No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
-
-
-
-
-This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-
-
-
-=========================================================================
-== For the Java Service Wrapper ==
-=========================================================================
-
-Copyright (c) 1999, 2006 Tanuki Software, Inc.
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of the Java Service Wrapper and associated
-documentation files (the "Software"), to deal in the Software
-without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sub-license,
-and/or sell copies of the Software, and to permit persons to
-whom the Software is furnished to do so, subject to the
-following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-
-Portions of the Software have been derived from source code
-developed by Silver Egg Technology under the following license:
-
-BEGIN Silver Egg Techology License -----------------------------------
-
- Copyright (c) 2001 Silver Egg Technology
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sub-license, and/or
- sell copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
-END Silver Egg Techology License -------------------------------------
-
diff --git a/activemq-web-console/src/main/webapp/META-INF/NOTICE.txt b/activemq-web-demo/src/main/webapp/META-INF/NOTICE
similarity index 61%
rename from activemq-web-console/src/main/webapp/META-INF/NOTICE.txt
rename to activemq-web-demo/src/main/webapp/META-INF/NOTICE
index 889a1412fe..5436772405 100644
--- a/activemq-web-console/src/main/webapp/META-INF/NOTICE.txt
+++ b/activemq-web-demo/src/main/webapp/META-INF/NOTICE
@@ -1,8 +1,3 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
Apache ActiveMQ
Copyright 2005-2006 The Apache Software Foundation
@@ -51,10 +46,37 @@ endorse or promote products derived from this software without
prior written permission. For written permission, please contact
rod.johnson@interface21.com or juergen.hoeller@interface21.com.
-
=========================================================================
-== MX4J Notice ==
+== Rome Notice (not from Rome site) ==
=========================================================================
+Rome 0.8 Copyright 2004 Sun Microsystems, Inc.
+This product includes software developed by the Sun Microsystems, Inc.
+(http://wiki.java.net/bin/view/Javawsxml/Rome).
-This product includes software developed by the MX4J project
-(http://sourceforge.net/projects/mx4j).
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2006 Mort Bay Consulting Pty Ltd
+==============================================================
+
+This product includes some software developed at The Apache Software
+Foundation (http://www.apache.org/).
+
+The javax.servlet package used by Jetty is copyright
+Sun Microsystems, Inc and Apache Software Foundation. It is
+distributed under the Common Development and Distribution License.
+You can obtain a copy of the license at
+https://glassfish.dev.java.net/public/CDDLv1.0.html.
+
+The UnixCrypt.java code ~Implements the one way cryptography used by
+Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
+modified April 2001 by Iris Van den Broeke, Daniel Deville.
+
+The default JSP implementation is provided by the Glassfish JSP engine
+from project Glassfish http://glassfish.dev.java.net. Copyright 2005
+Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
+
+Some portions of the code are Copyright:
+ 2006 Tim Vernum
+ 1999 Jason Gilbert.
+
+The jboss integration module contains some LGPL code.
diff --git a/activemq-web/src/main/appended-resources/META-INF/LICENSE b/activemq-web/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000000..d8569bf14f
--- /dev/null
+++ b/activemq-web/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,57 @@
+=========================================================================
+== Jetty is distributed under the Apache 2 license ==
+=========================================================================
+=========================================================================
+== For the behaviour.js library ==
+=========================================================================
+
+Copyright (c) 2005, Ben Nolan
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the Ben Nolan nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=========================================================================
+== For the prototype.js library ==
+=========================================================================
+
+Copyright (c) 2005 Sam Stephenson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/activemq-web/src/main/appended-resources/META-INF/NOTICE b/activemq-web/src/main/appended-resources/META-INF/NOTICE
new file mode 100644
index 0000000000..c5403159a6
--- /dev/null
+++ b/activemq-web/src/main/appended-resources/META-INF/NOTICE
@@ -0,0 +1,27 @@
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2006 Mort Bay Consulting Pty Ltd
+==============================================================
+
+This product includes some software developed at The Apache Software
+Foundation (http://www.apache.org/).
+
+The javax.servlet package used by Jetty is copyright
+Sun Microsystems, Inc and Apache Software Foundation. It is
+distributed under the Common Development and Distribution License.
+You can obtain a copy of the license at
+https://glassfish.dev.java.net/public/CDDLv1.0.html.
+
+The UnixCrypt.java code ~Implements the one way cryptography used by
+Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
+modified April 2001 by Iris Van den Broeke, Daniel Deville.
+
+The default JSP implementation is provided by the Glassfish JSP engine
+from project Glassfish http://glassfish.dev.java.net. Copyright 2005
+Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
+
+Some portions of the code are Copyright:
+ 2006 Tim Vernum
+ 1999 Jason Gilbert.
+
+The jboss integration module contains some LGPL code.
diff --git a/activemq-web/src/main/resources/META-INF/LICENSE.txt b/activemq-web/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 2768df2814..0000000000
--- a/activemq-web/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,595 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=========================================================================
-== APACHE ACTIVEMQ DEPENDENCIES ==
-=========================================================================
-
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
-
-=========================================================================
-== For the MochiKit library ==
-=========================================================================
-
-MochiKit is dual-licensed software. It is available under the terms of the
-MIT License, or the Academic Free License version 2.1. The full text of
-each license is included below.
-
-MIT License
-===========
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Academic Free License v. 2.1
-============================
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-
-Licensed under the Academic Free License version 2.1
-
-1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-
-a) to reproduce the Original Work in copies;
-
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-
-c) to distribute copies of the Original Work and Derivative Works to the public;
-
-d) to perform the Original Work publicly; and
-
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ยง 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-
-13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
-
-=========================================================================
-== For the Plotkit library ==
-=========================================================================
-
-Copyright (c) 2006, Alastair Tse
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Alastair Tse nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the behaviour.js library ==
-=========================================================================
-
-Copyright (c) 2005, Ben Nolan
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Ben Nolan nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the iecanvas.htc library ==
-=========================================================================
-
-|-----------------------------------------------------------------------------|
-| Copyright (c) 2005 Emil A Eklund |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| This program is free software; you can redistribute it and/or modify it |
-| under the terms of the MIT License. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| Permission is hereby granted, free of charge, to any person obtaining a |
-| copy of this software and associated documentation files (the "Software"), |
-| to deal in the Software without restriction, including without limitation |
-| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
-| and/or sell copies of the Software, and to permit persons to whom the |
-| Software is furnished to do so, subject to the following conditions: |
-| The above copyright notice and this permission notice shall be included in |
-| all copies or substantial portions of the Software. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
-| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
-| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
-| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
-| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
-| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
-| DEALINGS IN THE SOFTWARE. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-
-=========================================================================
-== For the scriptaculous.js library ==
-=========================================================================
-
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-=========================================================================
-== For the standardista-table-sorting.js library ==
-== For the css.js library ==
-=========================================================================
-
-/**
- * Copyright (c) 2006 Neil Crosby
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- **/
-
-=========================================================================
-== For the prototype.js library ==
-=========================================================================
-
-Copyright (c) 2005 Sam Stephenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-=========================================================================
-== For the style.css library ==
-== For the common.js library ==
-=========================================================================
-
-
License
-
-
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
-
1. Definitions
-
-
-
-
-"Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
-
-
-
-"Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
-
-
-"Licensor" means the individual or entity that offers the Work under the terms of this License.
-
-
-
-"Original Author" means the individual or entity who created the Work.
-
-
-
-"Work" means the copyrightable work of authorship offered under the terms of this License.
-
-
-
-"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
-
-
-
-
-
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
-
-
-
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-
-
-
-
-
-to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
-
-
-
-to create and reproduce Derivative Works;
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
-
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
-
-
-
For the avoidance of doubt, where the work is a musical composition:
-
-
-
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
-
-
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
-
-
-
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
-
-
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-
-
-
-
-You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
-
-
-
-
-If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
-
-
-
-
-
-
-
-
-
-
5. Representations, Warranties and Disclaimer
-
-
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-
-
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
7. Termination
-
-
-
-
-This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
-
-
-
-Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-
-
-
-
8. Miscellaneous
-
-
-
-
-Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-
-
-No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
-
-
-
-
-This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-
-
diff --git a/activemq-web/src/main/resources/META-INF/NOTICE.txt b/activemq-web/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/activemq-web/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/activemq-xmpp/pom.xml b/activemq-xmpp/pom.xml
index 10104ab124..f16e06c29d 100755
--- a/activemq-xmpp/pom.xml
+++ b/activemq-xmpp/pom.xml
@@ -84,6 +84,7 @@
activeio-core
+
@@ -104,23 +106,31 @@
2.0.2
- javax.xml
- jsr173
+ javax.xml.bind
+ jsr173_apijavax.jwsjsr181-api
+
+ javax.activation
+ activation
+
- javax.xml
+ javax.xml.bindjaxb-api2.0
- javax.xml
- jsr173
+ javax.xml.bind
+ jsr173_api
+
+
+ javax.activation
+ activation
@@ -129,14 +139,33 @@
org.codehaus.woodstoxwstx-asl
+
3.0.1
+
+
+ stax
+ stax-api
+
+
+
+
+
+ org.apache.geronimo.specs
+ geronimo-activation_1.1_spec
+ 1.0.2
+
+
+
+ org.apache.geronimo.specs
+ geronimo-stax-api_1.0_spec
+ 1.0.1org.springframeworkspring
- 2.0
+
@@ -176,6 +205,15 @@
1.5
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ true
+
+
+ 1.5
+
+ maven-surefire-plugin
diff --git a/activemq-xmpp/src/main/appended-resources/META-INF/LICENSE b/activemq-xmpp/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000000..2017288c46
--- /dev/null
+++ b/activemq-xmpp/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,64 @@
+Attribution 2.5
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+ 2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+ 3. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+ 4. "Original Author" means the individual or entity who created the Work.
+ 5. "Work" means the copyrightable work of authorship offered under the terms of this License.
+ 6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+ 2. to create and reproduce Derivative Works;
+ 3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+ 4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+ 5.
+
+ For the avoidance of doubt, where the work is a musical composition:
+ 1. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+ 2. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+ 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
+ 2. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
diff --git a/activemq-xmpp/src/main/appended-resources/META-INF/NOTICE b/activemq-xmpp/src/main/appended-resources/META-INF/NOTICE
new file mode 100644
index 0000000000..60f1aad9bf
--- /dev/null
+++ b/activemq-xmpp/src/main/appended-resources/META-INF/NOTICE
@@ -0,0 +1,12 @@
+=========================================================================
+== Jabber Notice ==
+=========================================================================
+
+ This software was generated using XSDs from the Jabber Software Foundation
+
+ http://www.xmpp.org/schemas/
+ Copyright (c) 1999-2006 The Jabber Software Foundation
+ http://www.xmpp.org/about/copyright.shtml
+
+ These XSD files are licensed under the Creative Commons License 2.5
+ http://creativecommons.org/licenses/by/2.5/
diff --git a/activemq-xmpp/src/main/resources/META-INF/NOTICE.txt b/activemq-xmpp/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 97898e98e7..0000000000
--- a/activemq-xmpp/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-=========================================================================
-== Jabber Notice ==
-=========================================================================
-
-This software was generated using XSDs from the Jabber Software Foundation
-
-http://www.xmpp.org/schemas/
-
-
-
diff --git a/assembly/pom.xml b/assembly/pom.xml
index b5df360d84..52c39b6c0e 100755
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -147,8 +147,8 @@
jaxp-api
- activemq
- jmdns
+ org.apache.activemq
+ activemq-jmdns_1.0com.thoughtworks.xstream
@@ -293,6 +293,22 @@
+
+ org.apache.geronimo.genesis.plugins
+ tools-maven-plugin
+
+
+ verify-legal-files
+ verify
+
+ verify-legal-files
+
+
+ false
+
+
+
+ org.apache.maven.pluginsmaven-dependency-plugin
diff --git a/assembly/src/main/descriptors/unix-bin.xml b/assembly/src/main/descriptors/unix-bin.xml
index 699c4b4cf4..130f211add 100644
--- a/assembly/src/main/descriptors/unix-bin.xml
+++ b/assembly/src/main/descriptors/unix-bin.xml
@@ -182,6 +182,7 @@
${pom.groupId}:activemq-xmpp${pom.groupId}:activecluster${pom.groupId}:activeio-core
+ ${pom.groupId}:activemq-jmdns_1.0commons-beanutils:commons-beanutilscommons-collections:commons-collectionscommons-httpclient:commons-httpclient
@@ -197,7 +198,6 @@
org.springframework:springxstream:xstreamxmlpull:xmlpull
- activemq:jmdns
diff --git a/assembly/src/main/descriptors/windows-bin.xml b/assembly/src/main/descriptors/windows-bin.xml
index 6ec944651f..cb0918bd93 100644
--- a/assembly/src/main/descriptors/windows-bin.xml
+++ b/assembly/src/main/descriptors/windows-bin.xml
@@ -191,6 +191,7 @@
${pom.groupId}:activemq-xmpp${pom.groupId}:activecluster${pom.groupId}:activeio-core
+ ${pom.groupId}:activemq-jmdns_1.0commons-beanutils:commons-beanutilscommons-collections:commons-collectionscommons-httpclient:commons-httpclient
@@ -209,7 +210,6 @@
org.springframework:springxstream:xstreamxmlpull:xmlpull
- activemq:jmdns
diff --git a/assembly/src/main/resources/META-INF/LICENSE.txt b/assembly/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b1270ff..0000000000
--- a/assembly/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
diff --git a/assembly/src/main/resources/META-INF/NOTICE.txt b/assembly/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 68601536a7..0000000000
--- a/assembly/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/assembly/src/release/LICENSE.txt b/assembly/src/release/LICENSE.txt
index 519399d93f..27ab8fa1dc 100755
--- a/assembly/src/release/LICENSE.txt
+++ b/assembly/src/release/LICENSE.txt
@@ -201,14 +201,75 @@
See the License for the specific language governing permissions and
limitations under the License.
+-- activemq-web
=========================================================================
-== APACHE ACTIVEMQ DEPENDENCIES ==
+== For the behaviour.js library ==
=========================================================================
-The Apache ActiveMQ message broker includes a number of dependencies, many
-of them optional, with separate copyright notices and license terms. Your
-use of the source code for the these subcomponents is subject to the terms
-and conditions of the following licenses.
+Copyright (c) 2005, Ben Nolan
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the Ben Nolan nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=========================================================================
+== For the prototype.js library ==
+=========================================================================
+
+Copyright (c) 2005 Sam Stephenson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+====================================================================
+== Licenses for non-apache libraries included in this assembly ==
+====================================================================
+
+
+backport-util-concurrent
+jetty
+jmdns
+mx4j
+spring
+tanuki wrapper
+xmlpull
+xstream
=========================================================================
== For the backport-util-concurrent library ==
@@ -256,6 +317,12 @@ been invented or conceived.
+=========================================================================
+== Jetty is licensed under the Apache License Version 2.0 ==
+=========================================================================
+=========================================================================
+== jmdns is licensed under the Apache License Version 2.0 ==
+=========================================================================
=========================================================================
== For the mx4j, mx4j-remote, and mx4j-tools library ==
=========================================================================
@@ -312,211 +379,55 @@ been invented or conceived.
MX4J, please see
the MX4J website.
+
=========================================================================
-== For the jetty and jetty-util library library ==
+== Spring is licensed under the Apache License Version 2.0 ==
=========================================================================
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
+=========================================================================
+== For the Tanuki Software libraries ==
+=========================================================================
+Copyright (c) 1999, 2004 Tanuki Software
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of the Java Service Wrapper and associated
+documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sub-license,
+and/or sell copies of the Software, and to permit persons to
+whom the Software is furnished to do so, subject to the
+following conditions:
- 1. Definitions.
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
+Portions of the Software have been derived from source code
+developed by Silver Egg Technology under the following license:
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
+Copyright (c) 2001 Silver Egg Technology
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sub-license, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
=========================================================================
== For the xmlpull library ==
@@ -525,7 +436,7 @@ been invented or conceived.
XMLPULL API IS FREE
-------------------
-All of the XMLPULL API source code, compiled code, and documentation
+All of the XMLPULL API source code, compiled code, and documentation
contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
are in the Public Domain.
@@ -538,213 +449,6 @@ Initial authors:
2001-12-12
-=========================================================================
-== For the spring library ==
-=========================================================================
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
=========================================================================
== For the xstream library ==
=========================================================================
@@ -776,446 +480,3 @@ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
-
-=========================================================================
-== For the MochiKit library ==
-=========================================================================
-
-MochiKit is dual-licensed software. It is available under the terms of the
-MIT License, or the Academic Free License version 2.1. The full text of
-each license is included below.
-
-MIT License
-===========
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Academic Free License v. 2.1
-============================
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-
-Licensed under the Academic Free License version 2.1
-
-1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-
-a) to reproduce the Original Work in copies;
-
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-
-c) to distribute copies of the Original Work and Derivative Works to the public;
-
-d) to perform the Original Work publicly; and
-
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ยง 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-
-13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
-
-=========================================================================
-== For the Plotkit library ==
-=========================================================================
-
-Copyright (c) 2006, Alastair Tse
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Alastair Tse nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the behaviour.js library ==
-=========================================================================
-
-Copyright (c) 2005, Ben Nolan
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Ben Nolan nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the iecanvas.htc library ==
-=========================================================================
-
-|-----------------------------------------------------------------------------|
-| Copyright (c) 2005 Emil A Eklund |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| This program is free software; you can redistribute it and/or modify it |
-| under the terms of the MIT License. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| Permission is hereby granted, free of charge, to any person obtaining a |
-| copy of this software and associated documentation files (the "Software"), |
-| to deal in the Software without restriction, including without limitation |
-| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
-| and/or sell copies of the Software, and to permit persons to whom the |
-| Software is furnished to do so, subject to the following conditions: |
-| The above copyright notice and this permission notice shall be included in |
-| all copies or substantial portions of the Software. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
-| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
-| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
-| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
-| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
-| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
-| DEALINGS IN THE SOFTWARE. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-
-=========================================================================
-== For the scriptaculous.js library ==
-=========================================================================
-
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-=========================================================================
-== For the standardista-table-sorting.js library ==
-== For the css.js library ==
-=========================================================================
-
-/**
- * Copyright (c) 2006 Neil Crosby
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- **/
-
-=========================================================================
-== For the prototype.js library ==
-=========================================================================
-
-Copyright (c) 2005 Sam Stephenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-=========================================================================
-== For the style.css library ==
-== For the common.js library ==
-=========================================================================
-
-
License
-
-
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
-
1. Definitions
-
-
-
-
-"Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
-
-
-
-"Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
-
-
-"Licensor" means the individual or entity that offers the Work under the terms of this License.
-
-
-
-"Original Author" means the individual or entity who created the Work.
-
-
-
-"Work" means the copyrightable work of authorship offered under the terms of this License.
-
-
-
-"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
-
-
-
-
-
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
-
-
-
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-
-
-
-
-
-to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
-
-
-
-to create and reproduce Derivative Works;
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
-
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
-
-
-
For the avoidance of doubt, where the work is a musical composition:
-
-
-
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
-
-
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
-
-
-
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
-
-
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-
-
-
-
-You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
-
-
-
-
-If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
-
-
-
-
-
-
-
-
-
-
5. Representations, Warranties and Disclaimer
-
-
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-
-
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
7. Termination
-
-
-
-
-This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
-
-
-
-Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-
-
-
-
8. Miscellaneous
-
-
-
-
-Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-
-
-No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
-
-
-
-
-This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-
-
-
-=========================================================================
-== For the Java Service Wrapper ==
-=========================================================================
-
-Copyright (c) 1999, 2006 Tanuki Software, Inc.
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of the Java Service Wrapper and associated
-documentation files (the "Software"), to deal in the Software
-without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sub-license,
-and/or sell copies of the Software, and to permit persons to
-whom the Software is furnished to do so, subject to the
-following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-
-Portions of the Software have been derived from source code
-developed by Silver Egg Technology under the following license:
-
-BEGIN Silver Egg Techology License -----------------------------------
-
- Copyright (c) 2001 Silver Egg Technology
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use,
- copy, modify, merge, publish, distribute, sub-license, and/or
- sell copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following
- conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
-END Silver Egg Techology License -------------------------------------
-
diff --git a/assembly/src/release/NOTICE.txt b/assembly/src/release/NOTICE.txt
index 889a1412fe..c3e1816bd8 100644
--- a/assembly/src/release/NOTICE.txt
+++ b/assembly/src/release/NOTICE.txt
@@ -1,11 +1,6 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
+Copyright 2005-2008 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
@@ -58,3 +53,49 @@ rod.johnson@interface21.com or juergen.hoeller@interface21.com.
This product includes software developed by the MX4J project
(http://sourceforge.net/projects/mx4j).
+
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2006 Mort Bay Consulting Pty Ltd
+==============================================================
+
+This product includes some software developed at The Apache Software
+Foundation (http://www.apache.org/).
+
+The javax.servlet package used by Jetty is copyright
+Sun Microsystems, Inc and Apache Software Foundation. It is
+distributed under the Common Development and Distribution License.
+You can obtain a copy of the license at
+https://glassfish.dev.java.net/public/CDDLv1.0.html.
+
+The UnixCrypt.java code ~Implements the one way cryptography used by
+Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
+modified April 2001 by Iris Van den Broeke, Daniel Deville.
+
+The default JSP implementation is provided by the Glassfish JSP engine
+from project Glassfish http://glassfish.dev.java.net. Copyright 2005
+Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
+
+Some portions of the code are Copyright:
+ 2006 Tim Vernum
+ 1999 Jason Gilbert.
+
+The jboss integration module contains some LGPL code.
+
+===============================================================
+== NOTICE File for JmDNS ==
+===============================================================
+
+Java Multicast Domain Name Server (JmDNS)
+
+This project was originally developed by Arthur van Hoff under the GNU
+Lesser General Public License as jRendevous. It was moved to Sourceforge
+by Rick Blair and renamed to JmDNS with the Arthur's kind permission.
+
+Currently it has been re-released under the Apache License, Version 2.0.
+
+Details of the Apache License, Version 2.0 can be found at:
+http://www.apache.org/licenses/
+
+
+For other details please see the README.txt file.
diff --git a/pom.xml b/pom.xml
index d164f2fc19..dbb4f7a32d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1,5 +1,4 @@
-
-
-
-
+org.apacheapache
@@ -157,6 +153,7 @@
activemq-web-consoleactivemq-xmppassembly
+ activemq-jmdns_1.0
@@ -191,6 +188,11 @@
activemq-jaas${version}
+
+ org.apache.activemq
+ activemq-jmdns_1.0
+ ${version}
+ org.apache.activemqactivemq-web
@@ -645,12 +647,6 @@
2.6.0
-
- activemq
- jmdns
- 1.0-RC2
-
-
com.thoughtworks.xstreamxstream
@@ -1145,6 +1141,13 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ false
+
+ org.apache.maven.pluginsmaven-release-plugin
@@ -1152,6 +1155,7 @@
falsedeploy-Prelease
+ true