sand java,sand/REST-API-Client

REST API Client REST-API-Client.svg?branch=masterJoin%20Chat.svg

REST API Client is an Java based Client for the Openfire REST API Plugin which provides the ability to manage Openfire instance by sending an REST/HTTP request to the server.

Feature list

REST API Client cover all available REST API plugin features.

Get overview over all or specific user and to create, update or delete a user

Get overview over all or specific chat room and to create, update or delete a chat room

Get overview over all or specific user sessions

Get all participants of a specified room

Get overview over all or specific group and to create, update or delete a group

Get overview over all user roster entries and to add, update or delete a roster entry

Add user to a group

Remove user from a group

Lockout or unlock the user (enable / disable)

Get overview over all or specific system properties and to create, update or delete system property

Repository

The project is available through the central Maven Repository

Maven

org.igniterealtime

rest-api-client

1.1.3

Gradle / Grails

compile 'org.igniterealtime:rest-api-client:1.1.3'

Dependencies

The REST API plugin need to be installed and configured on the Openfire server.

Examples

Authentication

REST API Plugin provides two types of authentication.

Basic HTTP Authentication

Shared secret key

// Basic HTTP Authentication

AuthenticationToken authenticationToken = new AuthenticationToken("admin", "testPassword");

// Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

User related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Request all available users

restApiClient.getUsers();

// Get specific user by username

restApiClient.getUser("testUsername");

// Search for the user with the username "test". This act like the wildcard search %String%

HashMap querys = new HashMap();

querys.put("search", "test");

restApiClient.getUsers(querys);

// Create a new user (username, name, email, passowrd). There are more user settings available.

UserEntity userEntity = new UserEntity("testUsername", "testName", "test@email.com", "p4ssw0rd");

restApiClient.createUser(userEntity);

// Update a user

userEntity.setName("newName");

restApiClient.updateUser(userEntity);

// Delete a user

restApiClient.deleteUser("testUsername");

// Get all user groups from a user

restApiCient.getUserGroups("testUsername");

// Add user to groups

List groupNames = new ArrayList();

groupNames.add("Moderators");

groupNames.add("Supporters");

UserGroupsEntity userGroupsEntity = new UserGroupsEntity(groupNames);

restApiClient.addUserToGroups("testUsername", userGroupsEntity);

// Add user to group

restApiClient.addUserToGroup("testUsername", "Moderators");

// Delete user from a group

restApiClient.deleteUserFromGroup("testUsername", "Moderators");

// Lockout/Ban a user

restApiClient.lockoutUser("testUsername");

// Unlock/Unban a user

restApiClient.unlockUser("testUsername");

Chat rooms related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Request all public chatrooms

restApiClient.getChatRooms();

// Search for the chat room with the room name "test". This act like the wildcard search %String%

HashMap querys = new HashMap();

querys.put("search", "test");

restApiClient.getChatRooms(querys);

// Create a new chat room (chatroom id, chatroom name, description). There are more chatroom settings available.

MUCRoomEntity chatRoom = new MUCRoomEntity("chatroom1", "First Chat Room", "Some description");

restApiClient.createChatRoom(chatRoom);

// Update a chat room

chatRoom.setDescription("Updated description");

restApiClient.updateChatRoom(chatRoom);

// Delete a chat room

restApiClient.deleteChatRoom("chatroom1");

// Add user with role "owner" to a chat room

restApiClient.addOwner("chatroom1", "username");

// Add user with role "admin" to a chat room

restApiClient.addAdmin("chatroom1", "username");

// Add user with role "member" to a chat room

restApiClient.addMember("chatroom1", "username");

// Add user with role "outcast" to a chat room

restApiClient.addOutcast("chatroom1", "username");

// Get all particapants from a specified chat room

restApiClient.getChatRoomParticipants("chatroom1");

Session related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Request all active Sessions

restApiClient.getSessions();

// Request all active Sessions from a specific user

restApiClient.getSessions(String username);

System related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Retrieve all system properties

restApiClient.getSystemProperties();

// Retrieve specific system property e.g. "xmpp.domain"

restApiClient.getSystemProperty("xmpp.domain");

// Create a system property

SystemProperty systemProperty = new SystemProperty("propertyName", "propertyValue");

restApiClient.createSystemProperty(systemProperty);

// Update a system property

SystemProperty systemProperty = new SystemProperty("propertyName", "ChangedPropertyValue");

restApiClient.updateSystemProperty(systemProperty);

// Delete a system property

restApiClient.deleteSystemProperty("propertyName");

Group related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Retrieve all groups

restApiClient.getGroups();

// Retrieve specific group

restApiClient.getGroup("Moderators");

// Create a group

GroupEntity groupEntity = new GroupEntity("Moderators", "Moderator Group");

restApiClient.createGroup(groupEntity);

// Update a group

GroupEntity groupEntity = new GroupEntity("Moderators", "Changed Moderator Group description");

restApiClient.updateGroup(groupEntity);

// Delete a group

restApiClient.deleteGroup("Moderators");

Roster related examples

// Set Shared secret key

AuthenticationToken authenticationToken = new AuthenticationToken("FQaCIpmRNBq4CfF8");

// Set Openfire settings (9090 is the port of Openfire Admin Console)

RestApiClient restApiClient = new RestApiClient("http://testdomain.com", 9090, authenticationToken);

// Retrieve user roster

restApiClient.getRoster("testUsername");

// Create a user roster entry (Possible values for subscriptionType are: -1 (remove), 0 (none), 1 (to), 2 (from), 3 (both))

RosterItemEntity rosterItemEntity = new RosterItemEntity("testUser2@testdomain.com", "TestUser2", 3);

// Groups are optional

List groups = new ArrayList();

groups.add("Supporter");

rosterItemEntity.setGroups(groups);

restApiClient.addRosterEntry("testUsername", rosterItemEntity);

// Update a user roster entry

RosterItemEntity rosterItemEntity = new RosterItemEntity("testUser2@testdomain.com", "SomeUser", 3);

restApiClient.updateRosterEntry("testUsername", rosterItemEntity);

// Delete a user roster entry

restApiClient.deleteRosterEntry("testUsername", "testUser2@testdomain.com");

Copyright and license

Created and copyright (c) 2015 by Roman Soldatow (roman@soldatow.de).

REST API Client may be freely distributed under the Apache 2.0 license.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值