List of usage examples for org.apache.commons.lang ArrayUtils add
public static short[] add(short[] array, short element)
Copies the given array and adds the given element at the end of the new array.
From source file:org.wso2.carbon.identity.oauth2.dao.AccessTokenDAOImpl.java
@Override public Set<AccessTokenDO> getAccessTokensOfUserStore(int tenantId, String userStoreDomain) throws IdentityOAuth2Exception { if (log.isDebugEnabled()) { log.debug("Retrieving all ACTIVE and EXPIRED access tokens of userstore: " + userStoreDomain + " tenant " + "id: " + tenantId); }/* w w w . j ava 2 s . c o m*/ // we do not support access token partitioning here Connection connection = IdentityDatabaseUtil.getDBConnection(); userStoreDomain = OAuth2Util.getSanitizedUserStoreDomain(userStoreDomain); PreparedStatement prepStmt = null; ResultSet resultSet = null; Map<String, AccessTokenDO> accessTokenDOMap = new HashMap<>(); try { String sql = OAuth2Util.getTokenPartitionedSqlByUserStore(SQLQueries.LIST_ALL_TOKENS_IN_USER_STORE, userStoreDomain); prepStmt = connection.prepareStatement(sql); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userStoreDomain); resultSet = prepStmt.executeQuery(); while (resultSet.next()) { String accessToken = null; if (isHashDisabled) { accessToken = getPersistenceProcessor() .getPreprocessedAccessTokenIdentifier(resultSet.getString(1)); } if (accessTokenDOMap.get(accessToken) == null) { String refreshToken = null; if (isHashDisabled) { refreshToken = getPersistenceProcessor() .getPreprocessedRefreshToken(resultSet.getString(2)); } Timestamp issuedTime = resultSet.getTimestamp(3, Calendar.getInstance(TimeZone.getTimeZone(UTC))); Timestamp refreshTokenIssuedTime = resultSet.getTimestamp(4, Calendar.getInstance(TimeZone.getTimeZone(UTC))); long validityPeriodInMillis = resultSet.getLong(5); long refreshTokenValidityPeriodMillis = resultSet.getLong(6); String tokenType = resultSet.getString(7); String[] scope = OAuth2Util.buildScopeArray(resultSet.getString(8)); String tokenId = resultSet.getString(9); String authzUser = resultSet.getString(10); String consumerKey = resultSet.getString(11); AuthenticatedUser user = new AuthenticatedUser(); user.setUserName(authzUser); user.setTenantDomain(OAuth2Util.getTenantDomain(tenantId)); user.setUserStoreDomain(userStoreDomain); AccessTokenDO dataDO = new AccessTokenDO(consumerKey, user, scope, issuedTime, refreshTokenIssuedTime, validityPeriodInMillis, refreshTokenValidityPeriodMillis, tokenType); dataDO.setAccessToken(accessToken); dataDO.setRefreshToken(refreshToken); dataDO.setTokenId(tokenId); dataDO.setTenantID(tenantId); accessTokenDOMap.put(accessToken, dataDO); } else { String scope = resultSet.getString(8).trim(); AccessTokenDO accessTokenDO = accessTokenDOMap.get(accessToken); accessTokenDO.setScope((String[]) ArrayUtils.add(accessTokenDO.getScope(), scope)); } } connection.commit(); } catch (SQLException e) { String errorMsg = "Error occurred while retrieving 'ACTIVE or EXPIRED' access tokens for " + "user in store domain : " + userStoreDomain + " and tenant id : " + tenantId; throw new IdentityOAuth2Exception(errorMsg, e); } finally { IdentityDatabaseUtil.closeAllConnections(connection, resultSet, prepStmt); } return new HashSet<>(accessTokenDOMap.values()); }
From source file:org.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.java
public Set<AccessTokenDO> retrieveAccessTokens(String consumerKey, String userName, String userStoreDomain, boolean includeExpired) throws IdentityOAuth2Exception { Connection connection = IdentityDatabaseUtil.getDBConnection(); boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName); String tenantDomain = MultitenantUtils.getTenantDomain(userName); String tenantAwareUsername = MultitenantUtils.getTenantAwareUsername(userName); String tenantAwareUsernameWithNoUserDomain = UserCoreUtil.removeDomainFromName(tenantAwareUsername); String userDomain = UserCoreUtil.extractDomainFromName(userName).toUpperCase(); PreparedStatement prepStmt = null; Map<String, AccessTokenDO> accessTokenDOMap = new HashMap<>(); try {//from w w w. j av a 2s. c o m int tenantId = OAuth2Util.getTenantId(tenantDomain); String sql = SQLQueries.RETRIEVE_ACTIVE_ACCESS_TOKEN_BY_CLIENT_ID_USER; if (includeExpired) { sql = SQLQueries.RETRIEVE_ACTIVE_EXPIRED_ACCESS_TOKEN_BY_CLIENT_ID_USER; } if (StringUtils.isNotEmpty(userStoreDomain)) { sql = sql.replace(IDN_OAUTH2_ACCESS_TOKEN, IDN_OAUTH2_ACCESS_TOKEN + "_" + userStoreDomain); } if (!isUsernameCaseSensitive) { sql = sql.replace(AUTHZ_USER, LOWER_AUTHZ_USER); } prepStmt = connection.prepareStatement(sql); prepStmt.setString(1, persistenceProcessor.getProcessedClientId(consumerKey)); if (isUsernameCaseSensitive) { prepStmt.setString(2, tenantAwareUsernameWithNoUserDomain); } else { prepStmt.setString(2, tenantAwareUsernameWithNoUserDomain.toLowerCase()); } prepStmt.setInt(3, tenantId); prepStmt.setString(4, userDomain); ResultSet resultSet = prepStmt.executeQuery(); while (resultSet.next()) { String accessToken = persistenceProcessor .getPreprocessedAccessTokenIdentifier(resultSet.getString(1)); if (accessTokenDOMap.get(accessToken) == null) { String refreshToken = persistenceProcessor.getPreprocessedRefreshToken(resultSet.getString(2)); Timestamp issuedTime = resultSet.getTimestamp(3, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); Timestamp refreshTokenIssuedTime = resultSet.getTimestamp(4, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); long validityPeriodInMillis = resultSet.getLong(5); long refreshTokenValidityPeriodMillis = resultSet.getLong(6); String tokenType = resultSet.getString(7); String[] scope = OAuth2Util.buildScopeArray(resultSet.getString(8)); String tokenId = resultSet.getString(9); User user = new User(); user.setUserName(tenantAwareUsernameWithNoUserDomain); user.setTenantDomain(tenantDomain); user.setUserStoreDomain(userStoreDomain); AccessTokenDO dataDO = new AccessTokenDO(consumerKey, user, scope, issuedTime, refreshTokenIssuedTime, validityPeriodInMillis, refreshTokenValidityPeriodMillis, tokenType); dataDO.setAccessToken(accessToken); dataDO.setRefreshToken(refreshToken); dataDO.setTokenId(tokenId); accessTokenDOMap.put(accessToken, dataDO); } else { String scope = resultSet.getString(8).trim(); AccessTokenDO accessTokenDO = accessTokenDOMap.get(accessToken); accessTokenDO.setScope((String[]) ArrayUtils.add(accessTokenDO.getScope(), scope)); } } connection.commit(); } catch (SQLException e) { String errorMsg = "Error occurred while retrieving 'ACTIVE' access tokens for " + "Client ID : " + consumerKey + " and User ID : " + userName; if (includeExpired) { errorMsg = errorMsg.replace("ACTIVE", "ACTIVE or EXPIRED"); } throw new IdentityOAuth2Exception(errorMsg, e); } finally { IdentityDatabaseUtil.closeAllConnections(connection, null, prepStmt); } return new HashSet<>(accessTokenDOMap.values()); }
From source file:org.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.java
public Set<AccessTokenDO> getAccessTokensOfTenant(int tenantId) throws IdentityOAuth2Exception { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; Map<String, AccessTokenDO> accessTokenDOMap = new HashMap<>(); try {//from ww w .ja v a 2s. c o m String sql = SQLQueries.LIST_ALL_TOKENS_IN_TENANT; prepStmt = connection.prepareStatement(sql); prepStmt.setInt(1, tenantId); ResultSet resultSet = prepStmt.executeQuery(); while (resultSet.next()) { String accessToken = persistenceProcessor .getPreprocessedAccessTokenIdentifier(resultSet.getString(1)); if (accessTokenDOMap.get(accessToken) == null) { String refreshToken = persistenceProcessor.getPreprocessedRefreshToken(resultSet.getString(2)); Timestamp issuedTime = resultSet.getTimestamp(3, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); Timestamp refreshTokenIssuedTime = resultSet.getTimestamp(4, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); long validityPeriodInMillis = resultSet.getLong(5); long refreshTokenValidityPeriodMillis = resultSet.getLong(6); String tokenType = resultSet.getString(7); String[] scope = OAuth2Util.buildScopeArray(resultSet.getString(8)); String tokenId = resultSet.getString(9); String authzUser = resultSet.getString(10); String userStoreDomain = resultSet.getString(11); String consumerKey = resultSet.getString(12); User user = new User(); user.setUserName(authzUser); user.setTenantDomain(OAuth2Util.getTenantDomain(tenantId)); user.setUserStoreDomain(userStoreDomain); AccessTokenDO dataDO = new AccessTokenDO(consumerKey, user, scope, issuedTime, refreshTokenIssuedTime, validityPeriodInMillis, refreshTokenValidityPeriodMillis, tokenType); dataDO.setAccessToken(accessToken); dataDO.setRefreshToken(refreshToken); dataDO.setTokenId(tokenId); accessTokenDOMap.put(accessToken, dataDO); } else { String scope = resultSet.getString(8).trim(); AccessTokenDO accessTokenDO = accessTokenDOMap.get(accessToken); accessTokenDO.setScope((String[]) ArrayUtils.add(accessTokenDO.getScope(), scope)); } } connection.commit(); } catch (SQLException e) { String errorMsg = "Error occurred while retrieving 'ACTIVE or EXPIRED' access tokens for " + "user tenant id : " + tenantId; throw new IdentityOAuth2Exception(errorMsg, e); } finally { IdentityDatabaseUtil.closeAllConnections(connection, null, prepStmt); } return new HashSet<>(accessTokenDOMap.values()); }
From source file:org.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.java
public Set<AccessTokenDO> getAccessTokensOfUserStore(int tenantId, String userStoreDomain) throws IdentityOAuth2Exception { //we do not support access token partitioning here Connection connection = IdentityDatabaseUtil.getDBConnection(); userStoreDomain = userStoreDomain.toUpperCase(); PreparedStatement prepStmt = null; Map<String, AccessTokenDO> accessTokenDOMap = new HashMap<>(); try {/*w ww. jav a 2 s . c o m*/ String sql = SQLQueries.LIST_ALL_TOKENS_IN_USER_STORE; prepStmt = connection.prepareStatement(sql); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userStoreDomain); ResultSet resultSet = prepStmt.executeQuery(); while (resultSet.next()) { String accessToken = persistenceProcessor .getPreprocessedAccessTokenIdentifier(resultSet.getString(1)); if (accessTokenDOMap.get(accessToken) == null) { String refreshToken = persistenceProcessor.getPreprocessedRefreshToken(resultSet.getString(2)); Timestamp issuedTime = resultSet.getTimestamp(3, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); Timestamp refreshTokenIssuedTime = resultSet.getTimestamp(4, Calendar.getInstance(TimeZone.getTimeZone("UTC"))); long validityPeriodInMillis = resultSet.getLong(5); long refreshTokenValidityPeriodMillis = resultSet.getLong(6); String tokenType = resultSet.getString(7); String[] scope = OAuth2Util.buildScopeArray(resultSet.getString(8)); String tokenId = resultSet.getString(9); String authzUser = resultSet.getString(10); String consumerKey = resultSet.getString(11); User user = new User(); user.setUserName(authzUser); user.setTenantDomain(OAuth2Util.getTenantDomain(tenantId)); user.setUserStoreDomain(userStoreDomain); AccessTokenDO dataDO = new AccessTokenDO(consumerKey, user, scope, issuedTime, refreshTokenIssuedTime, validityPeriodInMillis, refreshTokenValidityPeriodMillis, tokenType); dataDO.setAccessToken(accessToken); dataDO.setRefreshToken(refreshToken); dataDO.setTokenId(tokenId); accessTokenDOMap.put(accessToken, dataDO); } else { String scope = resultSet.getString(8).trim(); AccessTokenDO accessTokenDO = accessTokenDOMap.get(accessToken); accessTokenDO.setScope((String[]) ArrayUtils.add(accessTokenDO.getScope(), scope)); } } connection.commit(); } catch (SQLException e) { String errorMsg = "Error occurred while retrieving 'ACTIVE or EXPIRED' access tokens for " + "user in store domain : " + userStoreDomain + " and tenant id : " + tenantId; throw new IdentityOAuth2Exception(errorMsg, e); } finally { IdentityDatabaseUtil.closeAllConnections(connection, null, prepStmt); } return new HashSet<>(accessTokenDOMap.values()); }
From source file:org.wso2.carbon.identity.oauth2.internal.OAuthApplicationMgtListener.java
private void addClientSecret(ServiceProvider serviceProvider) throws IdentityApplicationManagementException { if (serviceProvider == null) { return; // if service provider is not present no need to add this information }//from ww w . j ava 2 s . co m try { InboundAuthenticationConfig inboundAuthenticationConfig = serviceProvider .getInboundAuthenticationConfig(); if (inboundAuthenticationConfig != null) { InboundAuthenticationRequestConfig[] inboundRequestConfigs = inboundAuthenticationConfig .getInboundAuthenticationRequestConfigs(); if (inboundRequestConfigs != null) { for (InboundAuthenticationRequestConfig inboundRequestConfig : inboundRequestConfigs) { if (inboundRequestConfig.getInboundAuthType().equals(OAUTH2)) { Property[] props = inboundRequestConfig.getProperties(); Property property = new Property(); property.setName(OAUTH2_CONSUMER_SECRET); property.setValue(getClientSecret(inboundRequestConfig.getInboundAuthKey())); props = (Property[]) ArrayUtils.add(props, property); inboundRequestConfig.setProperties(props); continue;// we are interested only on oauth2 config. Only one will be present. } else { //ignore } } } else { //ignore } } else { //nothing to do } } catch (IdentityOAuthAdminException e) { throw new IdentityApplicationManagementException("Injecting client secret failed.", e); } return; }
From source file:padl.creator.classfile.util.Utils.java
private static IFirstClassEntity searchForEnclosedEntity(final IAbstractLevelModel anAbstractModel, final IFirstClassEntity anEnclosingEntity, final char[] anEntityName) { final char[] nameFirstPart; if (Utils.isMemberEntity(anEntityName)) { nameFirstPart = ArrayUtils.subarray(anEntityName, 0, ArrayUtils.indexOf(anEntityName, '$')); } else {//from w w w. ja va 2 s . c om nameFirstPart = ArrayUtils.subarray(anEntityName, 0, anEntityName.length); } // Yann 2016/09/18: Member IDs! // Member entities have their fully-qualified names (with $) as IDs... final char[] id = ArrayUtils.addAll(ArrayUtils.add(anEnclosingEntity.getID(), '$'), nameFirstPart); IFirstClassEntity firstClassEntity = (IFirstClassEntity) anEnclosingEntity.getConstituentFromID(id); if (firstClassEntity == null) { firstClassEntity = Utils.createMemberGhost(anAbstractModel, anEnclosingEntity, id); } if (Utils.isMemberEntity(anEntityName)) { return Utils.searchForEnclosedEntity(anAbstractModel, firstClassEntity, ArrayUtils .subarray(anEntityName, ArrayUtils.indexOf(anEntityName, '$') + 1, anEntityName.length)); } else { return firstClassEntity; } }
From source file:padl.creator.cppfile.eclipse.plugin.internal.GeneratorHelper.java
private void addEntityToModelOrMemberToClass(final Accumulator anAccumulator, final ICPPClassType aCPPEntity, final Stack<IContainer> someContainers) { final IContainer container = someContainers.peek(); char[] id;//from w w w .j a v a 2s .co m try { id = Utils.getQualifiedName(aCPPEntity.getQualifiedNameCharArray()); } catch (final DOMException e) { e.printStackTrace(ProxyConsole.getInstance().errorOutput()); throw new RuntimeException(e); } char[] name = aCPPEntity.getNameCharArray(); // It is possible for the name to be empty, // for enumeration for example if (id.length == 0 || name.length == 0) { // id.length could be 1 in case of union... id = Utils.createAnonymousName(GeneratorHelper.UniqueID++); name = id; } // Yann 2013/09/28: Name vs. ID! // Member entities have for name the simple name of the entity // but for ID the ID of their container and "$" and their ID. char[] memberID = ((IConstituent) container).getID(); memberID = ArrayUtils.add(memberID, IConstants.MEMBER_ENTITY_SYMBOL); memberID = ArrayUtils.addAll(memberID, name); // It is possible that the entity already exists in the case of // In one file: // class DebuggerWrapper; // In another file: // class DebuggerWrapper { // ... if (container.doesContainConstituentWithID(id) || container.doesContainConstituentWithID(memberID)) { return; } final IFirstClassEntity entity; final int type = aCPPEntity.getKey(); if (type == ICPPASTCompositeTypeSpecifier.k_class) { if (container instanceof IFirstClassEntity) { if (Utils.isInterface(aCPPEntity)) { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createMemberInterface(memberID, name); } else { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createMemberClass(memberID, name); entity.setAbstract(Utils.isAbstract(aCPPEntity)); } } else { if (Utils.isInterface(aCPPEntity)) { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createInterface(id, name); } else { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createClass(id, name); entity.setAbstract(Utils.isAbstract(aCPPEntity)); entity.equals(entity); } } } else if (type == IASTCompositeTypeSpecifier.k_struct) { if (container instanceof IFirstClassEntity) { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createMemberStructure(memberID); } else { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createStructure(id); } } else if (type == IASTCompositeTypeSpecifier.k_union) { entity = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createUnion(id); } else { entity = null; // Should never happen! Would fail fast! } container.addConstituent(entity); anAccumulator.addClassTypes(aCPPEntity, entity); }
From source file:padl.creator.cppfile.eclipse.plugin.internal.GeneratorHelper.java
void convertDeclaration(final Accumulator accumulator, final ICPPASTUsingDirective aDeclaration, final Stack<IContainer> someContainers) { // Example: using namespace std; // Here, I am sure that the name (even // qualified), is the name of a package. IContainer container = this.codeLevelModel; final char[][] names = Utils.getQualifiedName(aDeclaration.getQualifiedName().toCharArray()); for (int i = 0; i < names.length; i++) { final char[] name = names[i]; char[] id = name; if (i > 0) { id = ArrayUtils.addAll(ArrayUtils.add(id, Utils.SEPARATOR), name); }/*from ww w.j a va 2 s.co m*/ if (!container.doesContainConstituentWithID(id)) { container.addConstituent( ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createPackageGhost(id)); } container = (IContainer) container.getConstituentFromName(name); } }
From source file:padl.creator.cppfile.eclipse.plugin.internal.SearchHelper.java
private static IContainer findContainerOrCreateGhostInContainer(final IContainer aContainer, final char[] anID, final char[] aName, boolean isGlobalFunction, boolean isLastPartOfFullyQualifiedName) { // Yann 2013/09/28: Name vs. ID! // Member entities have for name the simple name of the entity // but for ID the ID of their container and "$" and their ID. char[] memberID = ((IConstituent) aContainer).getID(); memberID = ArrayUtils.add(memberID, IConstants.MEMBER_ENTITY_SYMBOL); memberID = ArrayUtils.addAll(memberID, aName); IContainer container = (IContainer) aContainer.getConstituentFromID(anID); if (container == null) { container = (IContainer) aContainer.getConstituentFromID(memberID); }/*from w w w. java2 s. c o m*/ if (container == null) { if (isLastPartOfFullyQualifiedName) { if (aContainer instanceof IPackage) { if (isGlobalFunction) { // Yann 2013/07/16: Interesting! // Here, I must create a "ghost" global function, // I should probably add this type to the meta-model. container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()) .createGlobalFunctionGhost(anID, aName); } else { container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createGhost(anID, aName); } } else if (aContainer instanceof IFirstClassEntity) { if (isGlobalFunction) { // Yann 2013/07/16: Interesting! // Here, I must create a "ghost" global function, // I should probably add this type to the meta-model. container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()) .createGlobalFunctionGhost(anID, aName); } else { container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()) .createMemberGhost(memberID, aName); } } else { // Yes, it is legal in C++ to have structure in methods... // Certainly classes too, but at this point I don't want // to distinguish one from the others... container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()) .createMemberStructure(memberID); } } else { if (aContainer instanceof IPackage) { container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createGhost(anID, aName); } else if (aContainer instanceof IFirstClassEntity) { container = ((ICPPFactoryEclipse) CPPFactoryEclipse.getInstance()).createMemberGhost(memberID, aName); } } aContainer.addConstituent((IConstituent) container); } return container; }
From source file:padl.creator.cppfile.eclipse.plugin.internal.SearchHelper.java
static IContainer findContainerOrCreateGhostInModelRecursively(final ICodeLevelModel aCodeLevelModel, final char[][] qualifiedName, boolean isGlobalFunction) { char[] name = qualifiedName[0]; char[] id = qualifiedName[0]; IContainer container = SearchHelper.findContainerOrCreateGhostInModel(aCodeLevelModel, id, name, isGlobalFunction, qualifiedName.length == 1); for (int i = 1; i < qualifiedName.length; i++) { name = qualifiedName[i];//from w ww . jav a 2 s . c om id = ArrayUtils.addAll(ArrayUtils.add(id, Utils.SEPARATOR), qualifiedName[i]); container = SearchHelper.findContainerOrCreateGhostInContainer((IContainer) container, id, name, isGlobalFunction, i == qualifiedName.length - 1); } return container; }