Author: mjakl
Date: Sat Jul 4 08:55:31 2009
New Revision: 791085
URL: http://svn.apache.org/viewvc?rev=791085&view=rev
Log:
Convert names of static variables to uppercase. Instead of specifying whether a
feature is optional, required or recommended with a string, we now use a
enumeration (Level).
Added:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/Level.java
Modified:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeature.java
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeatures.java
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
Added:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/Level.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/Level.java?rev=791085&view=auto
==============================================================================
---
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/Level.java
(added)
+++
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/Level.java
Sat Jul 4 08:55:31 2009
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
+
+/**
+ * Specifies which level of compliance a certain pubsub feature is in.
+ *
+ * @author The Apache MINA Project (http://mina.apache.org)
+ */
+public enum Level {
+ REQUIRED,
+ RECOMMENDED,
+ OPTIONAL
+}
Modified:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeature.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeature.java?rev=791085&r1=791084&r2=791085&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeature.java
(original)
+++
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeature.java
Sat Jul 4 08:55:31 2009
@@ -19,6 +19,7 @@
*/
package org.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
+import org.apache.vysper.xmpp.modules.servicediscovery.management.Feature;
import org.apache.vysper.xmpp.protocol.NamespaceURIs;
/**
@@ -30,18 +31,28 @@
protected String name;
protected String description;
- protected String level;
+ protected Level level;
protected String xep0060chapter;
- public PubsubFeature(String name, String description, String level, String
xep0060chapter) {
+ public PubsubFeature(String name, String description, Level level, String
xep0060chapter) {
this.name = name;
this.description = description;
this.level = level;
this.xep0060chapter = xep0060chapter;
}
+ /**
+ * Returns a string representation of the features (complete with the
pubsub namespace).
+ */
@Override
public String toString() {
return NamespaceURIs.XEP0060_PUBSUB + "#" + this.name;
}
+
+ /**
+ * @return creates a service discovery feature object out of this pubsub
feature.
+ */
+ public Feature getFeature() {
+ return new Feature(this.toString());
+ }
}
Modified:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeatures.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeatures.java?rev=791085&r1=791084&r2=791085&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeatures.java
(original)
+++
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubsubFeatures.java
Sat Jul 4 08:55:31 2009
@@ -25,45 +25,46 @@
* @author The Apache MINA Project (http://mina.apache.org)
*/
public class PubsubFeatures {
- public static final PubsubFeature access_authorize = new
PubsubFeature("access-authorize", "The default access model is \"authorize\".",
"OPTIONAL", "Nodes Access Models");
- public static final PubsubFeature access_open = new
PubsubFeature("access-open", "The default access model is \"open\".",
"OPTIONAL", "Nodes Access Models");
- public static final PubsubFeature access_presence = new
PubsubFeature("access-presence", "The default access model is \"presence\".",
"OPTIONAL", "Nodes Access Models");
- public static final PubsubFeature access_roster = new
PubsubFeature("access-roster", "The default access model is \"roster\".",
"OPTIONAL", "Nodes Access Models");
- public static final PubsubFeature access_whitelist = new
PubsubFeature("access-whitelist", "The default access model is \"whitelist\".",
"OPTIONAL", "Nodes Access Models");
- public static final PubsubFeature auto_create = new
PubsubFeature("auto-create", "The service supports auto-creation of nodes on
publish to a non-existent node.", "OPTIONAL", "Automatic Node Creation");
- public static final PubsubFeature auto_subscribe = new
PubsubFeature("auto-subscribe", "The service supports auto-subscription to a
nodes based on presence subscription.", "RECOMMENDED", "Auto_Subscribe");
- public static final PubsubFeature collections = new
PubsubFeature("collections", "Collection nodes are supported.", "OPTIONAL",
"Refer to XEP-0248");
- public static final PubsubFeature config_node = new
PubsubFeature("config-node", "Configuration of node options is supported.",
"RECOMMENDED", "Configure a Node");
- public static final PubsubFeature create_and_configure = new
PubsubFeature("create-and-configure", "Simultaneous creation and configuration
of nodes is supported.", "RECOMMENDED", "Create and Configure a Node");
- public static final PubsubFeature create_nodes = new
PubsubFeature("create-nodes", "Creation of nodes is supported.", "RECOMMENDED",
"Create a Node");
- public static final PubsubFeature delete_items = new
PubsubFeature("delete-items", "Deletion of items is supported.", "RECOMMENDED",
"Delete an Item from a Node");
- public static final PubsubFeature delete_nodes = new
PubsubFeature("delete-nodes", "Deletion of nodes is supported.", "RECOMMENDED",
"Delete a Node");
- public static final PubsubFeature filtered_notifications = new
PubsubFeature("filtered-notifications", "Notifications are filtered based on
Entity Capabilities data.", "RECOMMENDED", "Filtered Notifications");
- public static final PubsubFeature get_pending = new
PubsubFeature("get-pending", "Retrieval of pending subscription approvals is
supported.", "OPTIONAL", "Manage Subscription Requests");
- public static final PubsubFeature instant_nodes = new
PubsubFeature("instant-nodes", "Creation of instant nodes is supported.",
"RECOMMENDED", "Create a Node");
- public static final PubsubFeature item_ids = new PubsubFeature("item-ids",
"Publishers may specify item identifiers.", "RECOMMENDED", "");
- public static final PubsubFeature last_published = new
PubsubFeature("last-published", "By default the last published item is sent to
new subscribers and on receipt of available presence from existing
subscribers.", "RECOMMENDED", "Event Types");
- public static final PubsubFeature leased_subscription = new
PubsubFeature("leased-subscription", "Time-based subscriptions are supported.",
"OPTIONAL", "Time-Based Subscriptions (Leases)");
- public static final PubsubFeature manage_subscriptions = new
PubsubFeature("manage-subscriptions", "Node owners may manage subscriptions.",
"OPTIONAL", "Manage Subscriptions");
- public static final PubsubFeature member_affiliation = new
PubsubFeature("member-affiliation", "The member affiliation is supported.",
"RECOMMENDED", "Affiliations");
- public static final PubsubFeature meta_data = new
PubsubFeature("meta-data", "Node meta-data is supported.", "RECOMMENDED", "");
- public static final PubsubFeature modify_affiliations = new
PubsubFeature("modify-affiliations", "Node owners may modify affiliations.",
"OPTIONAL", "Manage Affiliations");
- public static final PubsubFeature multi_collection = new
PubsubFeature("multi-collection", "A single leaf node can be associated with
multiple collections.", "OPTIONAL", "Refer to XEP-0248");
- public static final PubsubFeature multi_subscribe = new
PubsubFeature("multi-subscribe", "A single entity may subscribe to a node
multiple times.", "OPTIONAL", "Multiple Subscriptions");
- public static final PubsubFeature outcast_affiliation = new
PubsubFeature("outcast-affiliation", "The outcast affiliation is supported.",
"RECOMMENDED", "Affiliations");
- public static final PubsubFeature persistent_items = new
PubsubFeature("persistent-items", "Persistent items are supported.",
"RECOMMENDED", "");
- public static final PubsubFeature presence_notifications = new
PubsubFeature("presence-notifications", "Presence-based delivery of event
notifications is supported.", "OPTIONAL", "");
- public static final PubsubFeature presence_subscribe = new
PubsubFeature("presence-subscribe", "Authorized contacts are automatically
subscribed to a user's virtual pubsub service.", "RECOMMENDED",
"Auto-Subscribe");
- public static final PubsubFeature publish = new PubsubFeature("publish",
"Publishing items is supported.", "REQUIRED", "Publish an Item to a Node");
- public static final PubsubFeature publish_options = new
PubsubFeature("publish-options", "Publishing an item with options is
supported.", "OPTIONAL", "Publishing Options");
- public static final PubsubFeature publisher_affiliation = new
PubsubFeature("publisher-affiliation", "The publisher affiliation is
supported.", "RECOMMENDED", "Affiliations");
- public static final PubsubFeature purge_nodes = new
PubsubFeature("purge-nodes", "Purging of nodes is supported.", "OPTIONAL",
"Purge All Node Items");
- public static final PubsubFeature retract_items = new
PubsubFeature("retract-items", "Item retraction is supported.", "OPTIONAL",
"Delete an Item from a Node");
- public static final PubsubFeature retrieve_affiliations = new
PubsubFeature("retrieve-affiliations", "Retrieval of current affiliations is
supported.", "RECOMMENDED", "Retrieve Affiliations");
- public static final PubsubFeature retrieve_default = new
PubsubFeature("retrieve-default", "Retrieval of default node configuration is
supported.", "RECOMMENDED", "Request Default Configuration Options");
- public static final PubsubFeature retrieve_items = new
PubsubFeature("retrieve-items", "Item retrieval is supported.", "RECOMMENDED",
"Retrieve Items from a Node");
- public static final PubsubFeature retrieve_subscriptions = new
PubsubFeature("retrieve-subscriptions", "Retrieval of current subscriptions is
supported.", "RECOMMENDED", "Retrieve Subscriptions");
- public static final PubsubFeature subscribe = new
PubsubFeature("subscribe", "Subscribing and unsubscribing are supported.",
"REQUIRED", "Subscribe to a Node and Unsubscribe from a Node");
- public static final PubsubFeature subscription_options = new
PubsubFeature("subscription-options", "Configuration of subscription options is
supported.", "OPTIONAL", "Configure Subscription Options");
- public static final PubsubFeature subscription_notifications = new
PubsubFeature("subscription-notifications", "Notification of subscription state
changes is supported.", "OPTIONAL", "Notification of Subscription State
Changes");
+ public static final PubsubFeature ACCESS_AUTHORIZE = new
PubsubFeature("access-authorize", "The default access model is \"authorize\".",
Level.OPTIONAL, "Nodes Access Models");
+ public static final PubsubFeature ACCESS_OPEN = new
PubsubFeature("access-open", "The default access model is \"open\".",
Level.OPTIONAL, "Nodes Access Models");
+ public static final PubsubFeature ACCESS_PRESENCE = new
PubsubFeature("access-presence", "The default access model is \"presence\".",
Level.OPTIONAL, "Nodes Access Models");
+ public static final PubsubFeature ACCESS_ROSTER = new
PubsubFeature("access-roster", "The default access model is \"roster\".",
Level.OPTIONAL, "Nodes Access Models");
+ public static final PubsubFeature ACCESS_WHITELIST = new
PubsubFeature("access-whitelist", "The default access model is \"whitelist\".",
Level.OPTIONAL, "Nodes Access Models");
+ public static final PubsubFeature AUTO_CREATE = new
PubsubFeature("auto-create", "The service supports auto-creation of nodes on
publish to a non-existent node.", Level.OPTIONAL, "Automatic Node Creation");
+ public static final PubsubFeature AUTO_SUBSCRIBE = new
PubsubFeature("auto-subscribe", "The service supports auto-subscription to a
nodes based on presence subscription.", Level.RECOMMENDED, "Auto_Subscribe");
+ public static final PubsubFeature COLLECTIONS = new
PubsubFeature("collections", "Collection nodes are supported.", Level.OPTIONAL,
"Refer to XEP-0248");
+ public static final PubsubFeature CONFIG_NODE = new
PubsubFeature("config-node", "Configuration of node options is supported.",
Level.RECOMMENDED, "Configure a Node");
+ public static final PubsubFeature CREATE_AND_CONFIGURE = new
PubsubFeature("create-and-configure", "Simultaneous creation and configuration
of nodes is supported.", Level.RECOMMENDED, "Create and Configure a Node");
+ public static final PubsubFeature CREATE_NODES = new
PubsubFeature("create-nodes", "Creation of nodes is supported.",
Level.RECOMMENDED, "Create a Node");
+ public static final PubsubFeature DELETE_ITEMS = new
PubsubFeature("delete-items", "Deletion of items is supported.",
Level.RECOMMENDED, "Delete an Item from a Node");
+ public static final PubsubFeature DELETE_NODES = new
PubsubFeature("delete-nodes", "Deletion of nodes is supported.",
Level.RECOMMENDED, "Delete a Node");
+ public static final PubsubFeature FILTERED_NOTIFICATIONS = new
PubsubFeature("filtered-notifications", "Notifications are filtered based on
Entity Capabilities data.", Level.RECOMMENDED, "Filtered Notifications");
+ public static final PubsubFeature GET_PENDING = new
PubsubFeature("get-pending", "Retrieval of pending subscription approvals is
supported.", Level.OPTIONAL, "Manage Subscription Requests");
+ public static final PubsubFeature INSTANT_NODES = new
PubsubFeature("instant-nodes", "Creation of instant nodes is supported.",
Level.RECOMMENDED, "Create a Node");
+ public static final PubsubFeature ITEM_IDS = new PubsubFeature("item-ids",
"Publishers may specify item identifiers.", Level.RECOMMENDED, "");
+ public static final PubsubFeature LAST_PUBLISHED = new
PubsubFeature("last-published", "By default the last published item is sent to
new subscribers and on receipt of available presence from existing
subscribers.", Level.RECOMMENDED, "Event Types");
+ public static final PubsubFeature LEASED_SUBSCRIPTION = new
PubsubFeature("leased-subscription", "Time-based subscriptions are supported.",
Level.OPTIONAL, "Time-Based Subscriptions (Leases)");
+ public static final PubsubFeature MANAGE_SUBSCRIPTIONS = new
PubsubFeature("manage-subscriptions", "Node owners may manage subscriptions.",
Level.OPTIONAL, "Manage Subscriptions");
+ public static final PubsubFeature MEMBER_AFFILIATION = new
PubsubFeature("member-affiliation", "The member affiliation is supported.",
Level.RECOMMENDED, "Affiliations");
+ public static final PubsubFeature META_DATA = new
PubsubFeature("meta-data", "Node meta-data is supported.", Level.RECOMMENDED,
"");
+ public static final PubsubFeature MODIFY_AFFILIATIONS = new
PubsubFeature("modify-affiliations", "Node owners may modify affiliations.",
Level.OPTIONAL, "Manage Affiliations");
+ public static final PubsubFeature MULTI_COLLECTION = new
PubsubFeature("multi-collection", "A single leaf node can be associated with
multiple collections.", Level.OPTIONAL, "Refer to XEP-0248");
+ public static final PubsubFeature MULTI_SUBSCRIBE = new
PubsubFeature("multi-subscribe", "A single entity may subscribe to a node
multiple times.", Level.OPTIONAL, "Multiple Subscriptions");
+ public static final PubsubFeature OUTCAST_AFFILIATION = new
PubsubFeature("outcast-affiliation", "The outcast affiliation is supported.",
Level.RECOMMENDED, "Affiliations");
+ public static final PubsubFeature PERSISTENT_ITEMS = new
PubsubFeature("persistent-items", "Persistent items are supported.",
Level.RECOMMENDED, "");
+ public static final PubsubFeature PRESENCE_NOTIFICATIONS = new
PubsubFeature("presence-notifications", "Presence-based delivery of event
notifications is supported.", Level.OPTIONAL, "");
+ public static final PubsubFeature PRESENCE_SUBSCRIBE = new
PubsubFeature("presence-subscribe", "Authorized contacts are automatically
subscribed to a user's virtual pubsub service.", Level.RECOMMENDED,
"Auto-Subscribe");
+ public static final PubsubFeature PUBLISH = new PubsubFeature("publish",
"Publishing items is supported.", Level.REQUIRED, "Publish an Item to a Node");
+ public static final PubsubFeature PUBLISH_OPTIONS = new
PubsubFeature("publish-options", "Publishing an item with options is
supported.", Level.OPTIONAL, "Publishing Options");
+ public static final PubsubFeature PUBLISHER_AFFILIATION = new
PubsubFeature("publisher-affiliation", "The publisher affiliation is
supported.", Level.RECOMMENDED, "Affiliations");
+ public static final PubsubFeature PURGE_NODES = new
PubsubFeature("purge-nodes", "Purging of nodes is supported.", Level.OPTIONAL,
"Purge All Node Items");
+ public static final PubsubFeature RETRACT_ITEMS = new
PubsubFeature("retract-items", "Item retraction is supported.", Level.OPTIONAL,
"Delete an Item from a Node");
+ public static final PubsubFeature RETRIEVE_AFFILIATIONS = new
PubsubFeature("retrieve-affiliations", "Retrieval of current affiliations is
supported.", Level.RECOMMENDED, "Retrieve Affiliations");
+ public static final PubsubFeature RETRIEVE_DEFAULT = new
PubsubFeature("retrieve-default", "Retrieval of default node configuration is
supported.", Level.RECOMMENDED, "Request Default Configuration Options");
+ public static final PubsubFeature RETRIEVE_ITEMS = new
PubsubFeature("retrieve-items", "Item retrieval is supported.",
Level.RECOMMENDED, "Retrieve Items from a Node");
+ public static final PubsubFeature RETRIEVE_SUBSCRIPTIONS = new
PubsubFeature("retrieve-subscriptions", "Retrieval of current subscriptions is
supported.", Level.RECOMMENDED, "Retrieve Subscriptions");
+ public static final PubsubFeature SUBSCRIBE = new
PubsubFeature("subscribe", "Subscribing and unsubscribing are supported.",
Level.REQUIRED, "Subscribe to a Node and Unsubscribe from a Node");
+ public static final PubsubFeature SUBSCRIPTION_OPTIONS = new
PubsubFeature("subscription-options", "Configuration of subscription options is
supported.", Level.OPTIONAL, "Configure Subscription Options");
+ public static final PubsubFeature SUBSCRIPTION_NOTIFICATIONS = new
PubsubFeature("subscription-notifications", "Notification of subscription state
changes is supported.", Level.OPTIONAL, "Notification of Subscription State
Changes");
+
}
Modified:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java?rev=791085&r1=791084&r2=791085&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
(original)
+++
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java
Sat Jul 4 08:55:31 2009
@@ -203,12 +203,12 @@
List<InfoElement> infoElements = new ArrayList<InfoElement>();
infoElements.add(new Identity("pubsub", "leaf"));
infoElements.add(new Feature(NamespaceURIs.XEP0060_PUBSUB));
- infoElements.add(new Feature(PubsubFeatures.access_open.toString()));
- infoElements.add(new Feature(PubsubFeatures.item_ids.toString()));
- infoElements.add(new
Feature(PubsubFeatures.persistent_items.toString()));
- infoElements.add(new
Feature(PubsubFeatures.multi_subscribe.toString()));
- infoElements.add(new Feature(PubsubFeatures.publish.toString()));
- infoElements.add(new Feature(PubsubFeatures.subscribe.toString()));
+ infoElements.add(PubsubFeatures.ACCESS_OPEN.getFeature());
+ infoElements.add(PubsubFeatures.ITEM_IDS.getFeature());
+ infoElements.add(PubsubFeatures.PERSISTENT_ITEMS.getFeature());
+ infoElements.add(PubsubFeatures.MULTI_SUBSCRIBE.getFeature());
+ infoElements.add(PubsubFeatures.PUBLISH.getFeature());
+ infoElements.add(PubsubFeatures.SUBSCRIBE.getFeature());
return infoElements;
}
Modified:
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java?rev=791085&r1=791084&r2=791085&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
Sat Jul 4 08:55:31 2009
@@ -112,12 +112,12 @@
String[] featuresList = new String[] {
NamespaceURIs.XEP0060_PUBSUB
- , PubsubFeatures.access_open.toString()
- , PubsubFeatures.item_ids.toString()
- , PubsubFeatures.persistent_items.toString()
- , PubsubFeatures.multi_subscribe.toString()
- , PubsubFeatures.publish.toString()
- , PubsubFeatures.subscribe.toString()
+ , PubsubFeatures.ACCESS_OPEN.toString()
+ , PubsubFeatures.ITEM_IDS.toString()
+ , PubsubFeatures.PERSISTENT_ITEMS.toString()
+ , PubsubFeatures.MULTI_SUBSCRIBE.toString()
+ , PubsubFeatures.PUBLISH.toString()
+ , PubsubFeatures.SUBSCRIBE.toString()
};
XMLElement[] elementList = collectFeatures(inner, featuresList);