This chapter provides an overview of User API and describes the use cases using this API.
This chapter contains the following sections:
The User Subsystem provides a Web Services-based mechanism that is used to create, read, update, query, and otherwise manipulate Oracle Enterprise Repository User accounts.
For more information, see Chapter 26, "Role API".
import com.flashline.registry.openapi.entity.RegistryUser; import com.flashline.registry.openapi.query.UserCriteria;
This section describes the use cases using the User API. It contains the following topics:
Create a new user.
Retrieve an existing user.
Update a user.
Deactivate a user.
Query for users.
package com.flashline.sample.userapi; import java.net.MalformedURLException; import java.net.URL; import java.rmi.RemoteException; import java.util.Calendar; import javax.xml.rpc.ServiceException; import com.flashline.registry.openapi.base.OpenAPIException; import com.flashline.registry.openapi.entity.AuthToken; import com.flashline.registry.openapi.entity.RegistryUser; import com.flashline.registry.openapi.query.UserCriteria; import com.flashline.registry.openapi.service.v300.FlashlineRegistry; import com.flashline.registry.openapi.service.v300.FlashlineRegistryServiceLocator; public class Users { public static void main(String pArgs[]) throws OpenAPIException, RemoteException, ServiceException { try { /////////////////////////////////////////////////////////// // Connect to Oracle Enterprise Repository /////////////////////////////////////////////////////////// URL lURL = null; lURL = new URL(pArgs[0]); FlashlineRegistry repository = new FlashlineRegistryServiceLocator() .getFlashlineRegistry(lURL); // ////////////////////////////// // Authenticate with OER // ////////////////////////////// AuthToken authToken = repository.authTokenCreate(pArgs[1], pArgs[2]); // ----------------------------------------- // Create a new user String lUserName = "testUserCreate _"+Calendar.getInstance().getTimeInMillis(); String lFirstName = "testUserCreate_FirstName"; String lLastName = "testUserCreate_LastName"; String lEmail = lUserName+"@example.com"; String lPassword = "testUserCreate_Password"; boolean lMustChangePassword = false; boolean lPasswordNeverExpires = false; boolean lAssignDefafultRoles = true; RegistryUser RbacRegistrySecUser = repository.userCreate( authToken, lUserName, lFirstName, lLastName, lEmail, lPassword, lMustChangePassword, lPasswordNeverExpires, lAssignDefafultRoles); // ----------------------------------------- // Read a User long lId = 50000; // user id must exist in OER RegistryUser lUser1 = repository.userRead(authToken, lId); // ----------------------------------------- // Update a User lUser1.setActiveStatus(10); lUser1.setUserName("xxx"); lUser1.setPhoneNumber("412-521-4914"); lUser1.setMustChangePassword(true); lUser1.setPasswordNeverExpires(false); lUser1.setPassword("changed_password"); lUser1.setEmail("[email protected]"); try { lUser1 = repository.userUpdate(authToken, lUser1); } catch (OpenAPIException e) { e.printStackTrace(); } // ----------------------------------------- // Deactivate a User RegistryUser lUser2 = null; try { lUser2 = repository.userDeactivate(authToken, lId); } catch (OpenAPIException e) { e.printStackTrace(); } // ----------------------------------------- // Query for Users RegistryUser lUsers[] = null; UserCriteria lUserCriteria = null; lUserCriteria = new UserCriteria(); lUserCriteria.setNameCriteria("testname"); lUsers = repository.userQuery(authToken, lUserCriteria); } catch (OpenAPIException lEx) { System.out.println("ServerCode = " + lEx.getServerErrorCode()); System.out.println("Message = " + lEx.getMessage()); System.out.println("StackTrace:"); lEx.printStackTrace(); } catch (RemoteException lEx) { lEx.printStackTrace(); } catch (ServiceException lEx) { lEx.printStackTrace(); } catch (MalformedURLException lEx) { lEx.printStackTrace(); } } }