blob: 98eedc74406775311182615c65b90e67c328a12b [file] [log] [blame]
/*
* Copyright (c) 2009-2014, JoshuaTree. All Rights Reserved.
*/
package us.jts.enmasse;
import java.io.File;
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Collection;
import java.util.Collections;
import us.jts.fortress.rest.HttpIds;
import us.jts.fortress.rbac.OrgUnit;
import us.jts.fortress.rbac.PermObj;
import us.jts.fortress.rbac.Permission;
import us.jts.fortress.rbac.Session;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.*;
import org.apache.cxf.common.util.Base64Utility;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.io.CachedOutputStream;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.resource.URIResolver;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
/**
* Test Client to drive EnMasse Service methods.
*
* @author Shawn McKinney
*/
public final class Client
{
private static final String HOST = "localhost";
private static final String PORT = "80";
private static final String SERVICE = "enmasse";
private static final String URI = "http://" + HOST + ":" + PORT + "/" + SERVICE + "/";
private Client()
{
}
public static void main(String args[]) throws Exception
{
Client client = new Client();
/*
client.post("demouser4", "password", "UserSample2.xml", HttpIds.USER_ADD);
client.delete("demouser4", "password", "fortressUser1", null, null, Services.userDelete.toString());
client.get("demouser4", "password", "demouser4", null, null, Services.userRead.toString());
client.get("demouser4", "password", "oamuser1", null, null, Services.userRead.toString());
client.get("demouser4", "password", "oamRole1", null, null, Services.roleRead.toString());
client.delete("demouser4", "password", "ROLE_ADMIN", null, null, Services.roleDelete.toString());
client.post("demouser4", "password", "RoleSample2.xml", Services.roleAdd.toString());
client.put("demouser4", "password", "RoleSample2Update.xml", Services.roleUpdate.toString());
client.get("demouser4", "password", "ROLE_ADMIN", null, null, Services.roleRead.toString());
client.get("demouser4", "password", "role1", null, null, Services.roleRead.toString());
client.delete("demouser4", "password", "enMasseTestUser1", null, null, Services.userDelete.toString());
client.post("demouser4", "password", "UserSample2.xml", Services.userAdd.toString());
client.put("demouser4", "password", "UserSample2Update.xml", Services.userUpdate.toString());
client.get("demouser4", "password", "enMasseTestUser1", null, null, Services.userRead.toString());
client.get("demouser4", "password", "USER", "demousrs1", null, Services.orgRead.toString());
client.findUsers("demouser4", "password", "oam");
client.findRoles("demouser4", "password", "oam");
client.delete("demouser4", "password", "USER", "TestEnMasseOrg1", null, Services.orgDelete.toString());
client.post("demouser4", "password", "TestUserOrg.xml", Services.orgAdd.toString());
client.get("demouser4", "password", "USER", "TestEnMasseOrg1", null, Services.orgRead.toString());
client.findOrgs("demouser4", "password", "USER", "o");
client.delete("demouser4", "password", "USER", "TestEMPermObj1", "read", Services.permDelete.toString());
client.delete("demouser4", "password", "USER", "TestEMPermObj1", null, Services.objDelete.toString());
client.delete("demouser4", "password", "PERM", "TestEnMassePermOrg1", null, Services.orgDelete.toString());
client.post("demouser4", "password", "TestPermOrg.xml", Services.orgAdd.toString());
client.get("demouser4", "password", "PERM", "TestEnMassePermOrg1", null, Services.orgRead.toString());
client.post("demouser4", "password", "TestPermObj.xml", Services.objAdd.toString());
client.get("demouser4", "password", "USER", "TestEMPermObj1", null, Services.objRead.toString());
client.findPermObjs("demouser4", "password", "USER", "t");
client.post("demouser4", "password", "TestPermission.xml", Services.permAdd.toString());
client.get("demouser4", "password", "USER", "TestEMPermObj1", "read", Services.permRead.toString());
client.findPermissions("demouser4", "password", "USER", "T", "t");
client.get("demouser4", "password", "demouser4", "password", null, Services.rbacCreate.toString());
client.post("demouser4", "password", "FUser.xml", Services.userAdd.toString());
client.post("demouser4", "password", "TestUserAssign.xml", Services.roleAsgn.toString());
client.get("demouser4", "password", "fortressUser1", null, null, Services.roleAsigned.toString());
client.post("demouser4", "password", "TestUserDeassign.xml", Services.roleDeasgn.toString());
client.post("demouser4", "password", "RoleGrant.xml", Services.roleGrant.toString());
client.post("demouser4", "password", "RoleGrant.xml", Services.roleRevoke.toString());
client.post("demouser4", "password", "UserGrant.xml", Services.userGrant.toString());
client.post("demouser4", "password", "UserGrant.xml", Services.userRevoke.toString());
client.get("demouser4", "password", "oamrole1", null, null, Services.userAsigned.toString());
client.get("demouser4", "password", "oamrole1", null, null, Services.rolePerms.toString());
client.get("demouser4", "password", "oamuser1", null, null, Services.userPerms.toString());
client.put("demouser4", "password", "UserSample2Change.xml", Services.userChange.toString());
client.get("demouser4", "password", "enMasseTestUser1", null, null, Services.userLock.toString());
client.get("demouser4", "password", "enMasseTestUser1", null, null, Services.userUnlock.toString());
client.put("demouser4", "password", "UserSample2Reset.xml", Services.userReset.toString());
client.delete("demouser4", "password", "ROLE_ADMIN_CHILD", null, null, Services.roleDelete.toString());
client.post("demouser4", "password", "TestRoleDescendant.xml", Services.roleDescendant.toString());
client.post("demouser4", "password", "TestRoleDescendant.xml", Services.roleDelinherit.toString());
client.post("demouser4", "password", "TestRoleDescendant.xml", Services.roleAddinherit.toString());
client.post("demouser4", "password", "TestRoleDescendant.xml", Services.roleDelinherit.toString());
client.get("demouser4", "password", "oamT12SSD3", null, null, Services.ssdSets.toString());
client.get("demouser4", "password", "oamT6Ssd1", null, null, Services.ssdRead.toString());
client.get("demouser4", "password", "oamT6Ssd1", null, null, Services.ssdRoles.toString());
client.get("demouser4", "password", "oamT6Ssd1", null, null, Services.ssdCard.toString());
client.get("demouser4", "password", "oamT12DSD3", null, null, Services.dsdSets.toString());
client.get("demouser4", "password", "oamT6Dsd1", null, null, Services.dsdRead.toString());
client.get("demouser4", "password", "oamT6Dsd1", null, null, Services.dsdRoles.toString());
client.get("demouser4", "password", "oamT6Dsd1", null, null, Services.dsdCard.toString());
client.get("demouser4", "password", "oamrole1", null, null, Services.roleAuthzed.toString());
client.get("demouser4", "password", "oamuser1", null, null, Services.userAuthzed.toString());
client.get("demouser4", "password", "TOB3_3", "TOP3_1", null, Services.permRoles.toString());
client.get("demouser4", "password", "TOB1_1", "TOP1_1", "001", Services.permRoles.toString());
client.get("demouser4", "password", "TOB3_3", "TOP3_1", null, Services.permRolesAuthzed.toString());
client.get("demouser4", "password", "TOB1_1", "TOP1_1", "001", Services.permRolesAuthzed.toString());
client.get("demouser4", "password", "TOB1_1", "TOP1_1", "001", Services.permUsers.toString());
client.get("demouser4", "password", "TestEMPermObj1", "read", null, Services.permUsers.toString());
client.get("demouser4", "password", "TOB3_3", "TOP3_1", null, Services.permUsersAuthzed.toString());
client.get("demouser4", "password", "TOB1_1", "TOP1_1", "001", Services.permUsersAuthzed.toString());
client.delete("demouser4", "password", "emSsdT1", null, null, Services.ssdDelete.toString());
client.delete("demouser4", "password", "SSD_ROLE_1", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "SSD_ROLE_2", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "SSD_ROLE_3", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "SSD_ROLE_4", null, null, Services.roleDelete.toString());
client.post("demouser4", "password", "RoleSSD1.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleSSD2.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleSSD3.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleSSD4.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "TestCreateSSD.xml", Services.ssdAdd.toString());
client.get("demouser4", "password", "emSsdT1", "SSD_ROLE_4", null, Services.ssdAddMember.toString());
client.get("demouser4", "password", "emSsdT1", null, null, Services.ssdRead.toString());
client.get("demouser4", "password", "emSsdT1", "SSD_ROLE_3", null, Services.ssdDelMember.toString());
client.get("demouser4", "password", "emSsdT1", "3", null, Services.ssdCardUpdate.toString());
client.get("demouser4", "password", "emSsdT1", null, null, Services.ssdRead.toString());
client.delete("demouser4", "password", "emDsdT1", null, null, Services.dsdDelete.toString());
client.delete("demouser4", "password", "DSD_ROLE_1", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "DSD_ROLE_2", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "DSD_ROLE_3", null, null, Services.roleDelete.toString());
client.delete("demouser4", "password", "DSD_ROLE_4", null, null, Services.roleDelete.toString());
client.post("demouser4", "password", "RoleDSD1.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleDSD2.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleDSD3.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "RoleDSD4.xml", Services.roleAdd.toString());
client.post("demouser4", "password", "TestCreateDSD.xml", Services.dsdAdd.toString());
client.get("demouser4", "password", "emDsdT1", "DSD_ROLE_4", null, Services.dsdAddMember.toString());
client.get("demouser4", "password", "emDsdT1", null, null, Services.dsdRead.toString());
client.get("demouser4", "password", "emDsdT1", "DSD_ROLE_3", null, Services.dsdDelMember.toString());
client.get("demouser4", "password", "emDsdT1", "3", null, Services.dsdCardUpdate.toString());
client.get("demouser4", "password", "emDsdT1", null, null, Services.dsdRead.toString());
client.delete("demouser4", "password", "emPWPolicy1", null, null, Services.pswdDelete.toString());
client.post("demouser4", "password", "TestPswd.xml", Services.pswdAdd.toString());
client.get("demouser4", "password", "emPWPolicy1", null, null, Services.pswdRead.toString());
client.put("demouser4", "password", "TestPswdUpdate.xml", Services.pswdUpdate.toString());
client.get("demouser4", "password", "emPWPolicy1", null, null, Services.pswdRead.toString());
client.get("demouser4", "password", "oam", null, null, Services.pswdSearch.toString());
client.get("demouser4", "password", "enMasseTestUser1", "emPWPolicy1", null, Services.pswdUserAdd.toString());
client.get("demouser4", "password", "enMasseTestUser1", null, null, Services.pswdUserDelete.toString());
client.post("demouser4", "password", "TestAdminRoleDescendant.xml", Services.arleDelinherit.toString());
client.delete("demouser4", "password", "EM_TEST_ADMIN_ROLE_1", null, null, Services.arleDelete.toString());
client.post("demouser4", "password", "TestAdminRole.xml", Services.arleAdd.toString());
client.put("demouser4", "password", "TestAdminRoleUpdate.xml", Services.arleUpdate.toString());
client.get("demouser4", "password", "EM_TEST_ADMIN_ROLE_1", null, null, Services.arleRead.toString());
client.get("demouser4", "password", "EM", null, null, Services.arleSearch.toString());
client.get("demouser4", "password", "demouser4", null, null, Services.arleAsigned.toString());
client.get("demouser4", "password", "oamadmin1", null, null, Services.userAsignedAdmin.toString());
client.post("demouser4", "password", "AuditBind.xml", Services.auditBinds.toString());
String szAuthNSession = client.get("demouser4", "password", "demouser4", "password", null, Services.rbacAuthN.toString());
String szSession = client.get("demouser4", "password", "oamTU3User7", "password7", null, Services.rbacCreate.toString());
Session session = unmarshallSession(szSession);
client.checkAccess("demouser4", "password", session, new Permission("TOB3_3", "TOP3_1"));
szSession = client.dropActiveRole("demouser4", "password", session, new Role("oamT3ROLE4"));
session = unmarshallSession(szSession);
szSession = client.addActiveRole("demouser4", "password", session, new Role("oamT3ROLE4"));
*/
//szSession = marshal(session);
/*
client.postStr("demouser4", "password", szSession, Services.rbacPerms.toString());
client.postStr("demouser4", "password", szSession, Services.rbacRoles.toString());
client.postStr("demouser4", "password", szSession, Services.rbacUserId.toString());
client.postStr("demouser4", "password", szSession, Services.rbacUser.toString());
*/
System.out.println("\n");
System.exit(0);
}
private static Session unmarshallSession(String szSession) throws Exception
{
// Create a JAXB context passing in the class of the object we want to marshal/unmarshal
final JAXBContext context = JAXBContext.newInstance(Session.class);
// Create the unmarshaller, this is the nifty little thing that will actually transform the XML back into an object
final Unmarshaller unmarshaller = context.createUnmarshaller();
return (Session) unmarshaller.unmarshal(new StringReader(szSession));
}
private static String marshal(Session session) throws Exception
{
// Create a JAXB context passing in the class of the object we want to marshal/unmarshal
final JAXBContext context = JAXBContext.newInstance(Session.class);
// =============================================================================================================
// Marshalling OBJECT to XML
// =============================================================================================================
// Create the marshaller, this is the nifty little thing that will actually transform the object into XML
final Marshaller marshaller = context.createMarshaller();
// Create a stringWriter to hold the XML
final StringWriter stringWriter = new StringWriter();
// Marshal the javaObject and write the XML to the stringWriter
marshaller.marshal(session, stringWriter);
return stringWriter.toString();
}
public String postStr(String userId, String password, String szInput, String function) throws Exception
{
String szResponse = null;
Client client = new Client();
// Sent HTTP POST request to add user
System.out.println("\n");
System.out.println("Sent HTTP POST request to:" + function);
//String inputFile = client.getClass().getResource(xmlFile).getFile();
//URIResolver resolver = new URIResolver(inputFile);
//File input = new File(resolver.getURI());
PostMethod post = new PostMethod(URI + function);
post.addRequestHeader("Accept", "text/xml");
setMethodHeaders(post, userId, password);
//RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
RequestEntity entity = new StringRequestEntity(szInput, "text/xml; charset=ISO-8859-1", null);
post.setRequestEntity(entity);
HttpClient httpclient = new HttpClient();
try
{
int result = httpclient.executeMethod(post);
System.out.println("Response status code: " + result);
szResponse = post.getResponseBodyAsString();
System.out.println(szResponse);
}
catch(WebApplicationException we)
{
System.out.println("WebApplicationException caught=" + we.getMessage());
}
finally
{
// Release current connection to the connection pool once you are
// done
post.releaseConnection();
}
return szResponse;
}
public void post(String userId, String password, String xmlFile, String function) throws Exception
{
Client client = new Client();
// Sent HTTP POST request to add user
System.out.println("\n");
System.out.println("Sent HTTP POST request to:" + function);
String inputFile = client.getClass().getResource(xmlFile).getFile();
URIResolver resolver = new URIResolver(inputFile);
File input = new File(resolver.getURI());
PostMethod post = new PostMethod(URI + function);
post.addRequestHeader("Accept", "text/xml");
setMethodHeaders(post, userId, password);
RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
post.setRequestEntity(entity);
HttpClient httpclient = new HttpClient();
try
{
int result = httpclient.executeMethod(post);
System.out.println("Response status code: " + result);
System.out.println(post.getResponseBodyAsString());
}
catch(WebApplicationException we)
{
System.out.println("WebApplicationException caught=" + we.getMessage());
}
finally
{
// Release current connection to the connection pool once you are
// done
post.releaseConnection();
}
}
public void put(String userId, String password, String xmlFile, String function) throws Exception
{
Client client = new Client();
// Sent HTTP POST request to add user
System.out.println("\n");
System.out.println("Sent HTTP PUT request to:" + function);
String inputFile = client.getClass().getResource(xmlFile).getFile();
URIResolver resolver = new URIResolver(inputFile);
File input = new File(resolver.getURI());
PutMethod put = new PutMethod(URI + function);
put.addRequestHeader("Accept", "text/xml");
setMethodHeaders(put, userId, password);
RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
put.setRequestEntity(entity);
HttpClient httpclient = new HttpClient();
try
{
int result = httpclient.executeMethod(put);
System.out.println("Response status code: " + result);
System.out.println(put.getResponseBodyAsString());
}
catch(WebApplicationException we)
{
System.out.println("WebApplicationException caught=" + we.getMessage());
}
finally
{
// Release current connection to the connection pool once you are
// done
put.releaseConnection();
}
}
public void delete(String userId, String password, String id, String id2, String id3, String function) throws Exception
{
String url = URI + function + "/" + id;
if(id2 != null)
{
url += "/" + id2;
}
if(id3 != null)
{
url += "/" + id3;
}
System.out.println("HTTP DELETE to query info, url : " + url);
System.out.println("Deleting now...");
DeleteMethod del = new DeleteMethod(url);
//DeleteMethod del = new DeleteMethod(URI + function + "/" + id);
setMethodHeaders(del, userId, password);
handleHttpMethod(del);
}
public void createSession(String userId, String password, String uid, char[] pw) throws Exception
{
String url = URI + HttpIds.RBAC_CREATE + "/" + uid + "/" + pw;
System.out.println("CREATE SESSION url : " + url);
GetMethod get = new GetMethod(url);
setMethodHeaders(get, userId, password);
handleHttpMethod(get);
}
public String get(String userId, String password, String id, String id2, String id3, String function) throws Exception
{
String url = URI + function + "/" + id;
if(id2 != null)
{
url += "/" + id2;
}
if(id3 != null)
{
url += "/" + id3;
}
System.out.println("HTTP GET to query info, url : " + url);
GetMethod get = new GetMethod(url);
setMethodHeaders(get, userId, password);
return handleHttpMethod(get);
}
private static void setMethodHeaders(HttpMethod httpMethod, String name, String password)
{
if (httpMethod instanceof PostMethod || httpMethod instanceof PutMethod)
{
httpMethod.setRequestHeader("Content-Type", "application/xml");
httpMethod.setRequestHeader("Accept", "application/xml");
}
//httpMethod.setDoAuthentication(false);
httpMethod.setDoAuthentication(true);
httpMethod.setRequestHeader("Authorization",
"Basic " + base64Encode(name + ":" + password));
}
private static String base64Encode(String value)
{
return Base64Utility.encode(value.getBytes());
}
private static String handleHttpMethod(HttpMethod httpMethod) throws Exception
{
HttpClient client = new HttpClient();
String szResponse = null;
try
{
int statusCode = client.executeMethod(httpMethod);
System.out.println("Response status : " + statusCode);
Response.Status status = Response.Status.fromStatusCode(statusCode);
if (status == Response.Status.OK)
{
szResponse = httpMethod.getResponseBodyAsString();
System.out.println(szResponse);
}
else if (status == Response.Status.FORBIDDEN)
{
System.out.println("Authorization failure");
}
else if (status == Response.Status.UNAUTHORIZED)
{
System.out.println("Authentication failure");
}
else
{
//System.out.println("Unknown error: " + status.toString());
System.out.println("Unknown error");
}
System.out.println();
}
finally
{
// release any connection resources used by the method
httpMethod.releaseConnection();
}
return szResponse;
}
public void findUsers(String userId, String password, String searchVal) throws Exception
{
String endpointAddress = URI + HttpIds.USER_SEARCH + "/" + searchVal;
System.out.println("now hit:" + endpointAddress);
try
{
WebClient wc = WebClient.create(endpointAddress,
Collections.singletonList(new org.codehaus.jackson.jaxrs.JacksonJsonProvider()));
String authorizationHeader = "Basic "
+ org.apache.cxf.common.util.Base64Utility.encode(new String(userId + ":" + password).getBytes());
wc.header("Authorization", authorizationHeader);
//wc.accept("application/json");
wc.accept("application/xml");
Collection<? extends us.jts.fortress.rbac.User> collection = wc.getCollection(us.jts.fortress.rbac.User.class);
int i = 1;
for (us.jts.fortress.rbac.User user : collection)
{
System.out.println("User[" + i++ + "]");
System.out.println(" userId: " + user.getUserId());
System.out.println(" description: " + user.getDescription());
//System.out.println(" roles: " + user.getRoles());
System.out.println(" cn: " + user.getCn());
System.out.println(" sn: " + user.getSn());
System.out.println(" policy: " + user.getPwPolicy());
System.out.println(" ou: " + user.getOu());
System.out.println(" cn: " + user.getCn());
System.out.println(" beginDate: " + user.getBeginDate());
System.out.println(" endDate: " + user.getEndDate());
System.out.println(" beginTime: " + user.getBeginTime());
System.out.println(" endTime: " + user.getEndTime());
System.out.println(" beginLockDate: " + user.getBeginLockDate());
System.out.println(" endLockDate: " + user.getEndLockDate());
System.out.println(" dayMask: " + user.getDayMask());
System.out.println(" timeout: " + user.getTimeout());
if(user.getRoles() != null)
{
int j = 1;
for(us.jts.fortress.rbac.UserRole userRole : user.getRoles())
{
System.out.println("--------------------------------------------------------------------------");
System.out.println("User[" + user.getUserId() + "] UserRole[" + j++ + "]");
System.out.println(" role name: " + userRole.getName());
if(userRole.getParents() != null)
{
for(String parent : userRole.getParents())
{
System.out.println(" parent role: " + parent);
}
}
System.out.println(" beginDate: " + userRole.getBeginDate());
System.out.println(" endDate: " + userRole.getEndDate());
System.out.println(" beginTime: " + userRole.getBeginTime());
System.out.println(" endTime: " + userRole.getEndTime());
System.out.println(" beginLockDate: " + userRole.getBeginLockDate());
System.out.println(" endLockDate: " + userRole.getEndLockDate());
System.out.println(" dayMask: " + userRole.getDayMask());
System.out.println(" timeout: " + userRole.getTimeout());
}
}
System.out.println("--------------------------------------------------------------------------");
}
}
catch (Exception e)
{
System.out.println("Exception caught in findUsers=" + e);
e.printStackTrace();
}
}
/**
* @throws Exception
*/
public void findRoles(String userId, String password, String searchVal) throws Exception
{
String endpointAddress = URI + HttpIds.ROLE_SEARCH + "/" + searchVal;
System.out.println("now hit:" + endpointAddress);
try
{
WebClient wc = WebClient.create(endpointAddress,
Collections.singletonList(new org.codehaus.jackson.jaxrs.JacksonJsonProvider()));
String authorizationHeader = "Basic "
+ org.apache.cxf.common.util.Base64Utility.encode(new String(userId + ":" + password).getBytes());
wc.header("Authorization", authorizationHeader);
wc.accept("application/xml");
Collection<? extends us.jts.fortress.rbac.Role> collection = wc.getCollection(us.jts.fortress.rbac.Role.class);
for (us.jts.fortress.rbac.Role role : collection)
{
System.out.println("Role: " + role.getName() + " description:" + role.getDescription());
System.out.println(" parents: " + role.getParents());
System.out.println(" children: " + role.getChildren());
System.out.println(" beginDate: " + role.getBeginDate());
System.out.println(" endDate: " + role.getEndDate());
System.out.println(" beginTime: " + role.getBeginTime());
System.out.println(" endTime: " + role.getEndTime());
System.out.println(" beginLockDate: " + role.getBeginLockDate());
System.out.println(" endLockDate: " + role.getEndLockDate());
System.out.println(" dayMask: " + role.getDayMask());
System.out.println(" timeout: " + role.getTimeout());
}
}
catch (Exception e)
{
System.out.println("Exception caught in findRoles=" + e);
e.printStackTrace();
}
}
/**
* @throws Exception
*/
public void findOrgs(String userId, String password, String type, String searchVal) throws Exception
{
String endpointAddress = URI + HttpIds.ORG_SEARCH + "/" + type + "/" + searchVal;
System.out.println("now hit:" + endpointAddress);
try
{
WebClient wc = WebClient.create(endpointAddress,
Collections.singletonList(new org.codehaus.jackson.jaxrs.JacksonJsonProvider()));
String authorizationHeader = "Basic "
+ org.apache.cxf.common.util.Base64Utility.encode(new String(userId + ":" + password).getBytes());
wc.header("Authorization", authorizationHeader);
wc.accept("application/xml");
Collection<? extends OrgUnit> collection = wc.getCollection(OrgUnit.class);
for (OrgUnit orgUnit : collection)
{
System.out.println("OrgUnit: " + orgUnit.getName() + " description:" + orgUnit.getDescription());
}
}
catch (Exception e)
{
System.out.println("Exception caught in searchUserOrgs=" + e);
e.printStackTrace();
}
}
/**
* @throws Exception
*/
public void findPermObjs(String userId, String password, String type, String searchVal) throws Exception
{
String endpointAddress = URI + HttpIds.OBJ_SEARCH + "/" + type + "/" + searchVal;
System.out.println("now hit:" + endpointAddress);
try
{
WebClient wc = WebClient.create(endpointAddress,
Collections.singletonList(new org.codehaus.jackson.jaxrs.JacksonJsonProvider()));
String authorizationHeader = "Basic "
+ org.apache.cxf.common.util.Base64Utility.encode(new String(userId + ":" + password).getBytes());
wc.header("Authorization", authorizationHeader);
wc.accept("application/xml");
Collection<? extends PermObj> collection = wc.getCollection(PermObj.class);
for (PermObj permObj : collection)
{
System.out.println("Object Name: " + permObj.getObjName() + " description:" + permObj.getDescription());
}
}
catch (Exception e)
{
System.out.println("Exception caught in findPermObjs=" + e);
e.printStackTrace();
}
}
/**
* @throws Exception
*/
public void findPermissions(String userId, String password, String type, String objName, String opName) throws Exception
{
String endpointAddress = URI + HttpIds.PERM_SEARCH + "/" + type + "/" + objName + "/" + opName;
System.out.println("now hit:" + endpointAddress);
try
{
WebClient wc = WebClient.create(endpointAddress,
Collections.singletonList(new org.codehaus.jackson.jaxrs.JacksonJsonProvider()));
String authorizationHeader = "Basic "
+ org.apache.cxf.common.util.Base64Utility.encode(new String(userId + ":" + password).getBytes());
wc.header("Authorization", authorizationHeader);
wc.accept("application/xml");
Collection<? extends Permission> collection = wc.getCollection(Permission.class);
for (Permission perm : collection)
{
System.out.println("Permission ObjectName: " + perm.getObjName() + " opName: " + perm.getOpName());
}
}
catch (Exception e)
{
System.out.println("Exception caught in findPermissions=" + e);
e.printStackTrace();
}
}
/**
* @param in
* @return
* @throws Exception
*/
private static String getStringFromInputStream(InputStream in) throws Exception
{
CachedOutputStream bos = new CachedOutputStream();
IOUtils.copy(in, bos);
in.close();
bos.close();
return bos.getOut().toString();
}
}