private void deleteResource(com.sun.enterprise.config.serverbeans.CustomResource customResource, ResourceInfo resourceInfo) throws NamingException { if (ResourcesUtil.createInstance().isEnabled(customResource, resourceInfo)){ // converts the config data to j2ee resource //JavaEEResource j2eeResource = toCustomJavaEEResource(customRes, resourceInfo); // removes the resource from jndi naming cns.unpublishObject(resourceInfo, resourceInfo.getName()); }else{ _logger.log(Level.FINEST, "core.resource_disabled", new Object[] {customResource.getJndiName(), ConnectorConstants.RES_TYPE_CUSTOM}); } }
public static ResourcesUtil createInstance() { //stateless, no synchronization needed if(resourcesUtil == null){ resourcesUtil = new ResourcesUtil(); } return resourcesUtil; }
private boolean isRarEnabled(String raName) { if(raName == null || raName.length() == 0) return false; Application application = getDomain().getApplications().getApplication(raName); if(application != null) { return isApplicationReferenceEnabled(raName); } else if(ConnectorsUtil.belongsToSystemRA(raName)) { return true; } else { return belongToEmbeddedRarAndEnabled(raName); } }
/** This method is used to find out if pool is linked to data-source or not * if pool is not linked then ping will not take changes to pool * dynamically. * @param poolInfo pool-name * @return boolean indicating whether the pool is referred or not */ private boolean isPoolReferredByResource(PoolInfo poolInfo){ ResourcesUtil resUtil = ResourcesUtil.createInstance(); return (resUtil.isPoolReferredInServerInstance(poolInfo) || resUtil.isJdbcPoolReferredInServerInstance(poolInfo)); } //END CR 6597868
private ConnectorDescriptor loadConnectorDescriptorForEmbeddedRAR(String rarName) throws ConnectorRuntimeException { //If the RAR is embedded try loading the descriptor directly //using the applicationarchivist ResourcesUtil resutil = ResourcesUtil.createInstance(); String rarFileName = ConnectorAdminServiceUtils.getConnectorModuleName(rarName) + ".rar"; return resutil.getConnectorDescriptorFromUri(rarName, rarFileName); }
InitialContext ic = new InitialContext(); for (ConnectorResource connResource : connResources) { if(getResourcesUtil().isEnabled(connResource)) { try { ic.lookup(connResource.getJndiName()); ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(connResource); com.sun.enterprise.config.serverbeans.ConnectorConnectionPool connConnectionPool = ResourcesUtil.createInstance().getConnectorConnectionPoolOfResource(resourceInfo); if(connConnectionPool != null){
/** * Determines if a JDBC connection pool is referred in a * server-instance via resource-refs * @param poolName pool-name * @return boolean true if pool is referred in this server instance as well enabled, false * otherwise */ public boolean isJdbcPoolReferredInServerInstance(PoolInfo poolInfo) { Collection<JdbcResource> jdbcResources = getRuntime().getResources(poolInfo).getResources(JdbcResource.class); for (JdbcResource resource : jdbcResources) { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(resource); //Have to check isReferenced here! if ((resource.getPoolName().equalsIgnoreCase(poolInfo.getName())) && isReferenced(resourceInfo) && isEnabled(resource)){ if (_logger.isLoggable(Level.FINE)) { _logger.fine("pool " + poolInfo + "resource " + resourceInfo + " referred " + isReferenced(resourceInfo)); _logger.fine("JDBC resource " + resource.getJndiName() + "refers " + poolInfo + "in this server instance and is enabled"); } return true; } } if(_logger.isLoggable(Level.FINE)) { _logger.fine("No JDBC resource refers [ " + poolInfo + " ] in this server instance"); } return false; }
if(getResourcesUtil().isEnabled(jdbcResource)) { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(jdbcResource); JdbcConnectionPool pool = ResourcesUtil.createInstance().getJdbcConnectionPoolOfResource(resourceInfo); if (pool != null && "javax.sql.XADataSource".equals(pool.getResType())) { jdbcPools.add(pool);
ResourcesUtil resourcesUtil = ResourcesUtil.createInstance(); ResourcePool pool = resourcesUtil.getPoolConfig(poolInfo); Resources resources = resourcesUtil.getResources(poolInfo); String raName = resourcesUtil.getRarNameOfResource(pool, resources);
private void validateResourceAndPool() throws ResourceException { ResourceInfo resourceInfo = this.resourceInfo; ResourcesUtil resourcesUtil = ResourcesUtil.createInstance(); (BindableResource) resourcesUtil.getResource(resourceInfo, BindableResource.class); if (resourceConfiguration == null) { String suffix = ConnectorsUtil.getValidSuffix(resourceInfo.getName()); resourceInfo.getModuleName()); resourceConfiguration = (BindableResource) resourcesUtil.getResource(resourceInfo, BindableResource.class); throw new ResourceException("No such resource : " + resourceInfo); if (!resourcesUtil.isEnabled(resourceConfiguration, resourceInfo)) { throw new ResourceException(resourceInfo + " is not enabled");
private List<Resource> getAllConnectorResources() { Resources allResources = resourceManager.getAllResources(); Collection<ConnectorConnectionPool> connectionPools = ConnectorsUtil.getAllPoolsOfModule(moduleName, allResources); Collection<String> poolNames = ConnectorsUtil.getAllPoolNames(connectionPools); Collection<Resource> connectorResources = ConnectorsUtil.getAllResources(poolNames, allResources); Collection<AdminObjectResource> adminObjectResources = ResourcesUtil.createInstance().getEnabledAdminObjectResources(moduleName); List<Resource> resources = new ArrayList<Resource>(); resources.addAll(connectorResources); resources.addAll(connectionPools); resources.addAll(adminObjectResources); return resources; }
try { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(cr); ConnectorConnectionPool ccp = ResourcesUtil.createInstance().getConnectorConnectionPoolOfResource(resourceInfo); PoolInfo poolInfo = ConnectorsUtil.getPoolInfo(ccp); ResourcesUtil.createInstance().isPoolReferredInServerInstance(poolInfo); if (!poolReferred) { if(_logger.isLoggable(Level.FINE)) {
return Boolean.valueOf(bindableResource.getEnabled()); ResourceRef resRef = getServer().getResourceRef( ((BindableResource) resource).getJndiName()); return isEnabled((BindableResource) resource) && ((resRef != null) && parseBoolean(resRef.getEnabled())); } else if(resource instanceof ResourcePool) { return isEnabled((ResourcePool) resource); }else if(resource instanceof WorkSecurityMap || resource instanceof ResourceAdapterConfig){ return true;
boolean found = false; for (Resource resource : resources.getResources()) { ResourcesUtil resourcesUtil = ResourcesUtil.createInstance(); if (resourcesUtil.isRARResource(resource)) { String rarNameOfResource = resourcesUtil.getRarNameOfResource(resource, resources); if (rarNameOfResource.contains(ConnectorConstants.EMBEDDEDRAR_NAME_DELIMITER)) { String embeddedRARName = ConnectorsUtil.getRarNameFromApplication(rarNameOfResource);
private ResourcesUtil getResourcesUtil(){ if(resourcesUtil == null){ resourcesUtil = ResourcesUtil.createInstance(); } return resourcesUtil; }
boolean refEnabled = isResourceReferenceEnabled(resourceInfo); String poolName = cr.getPoolName(); ConnectorConnectionPool ccp = (ConnectorConnectionPool) getResources(resourceInfo).getResourceByName(ConnectorConnectionPool.class, poolName); if (ccp == null) { return false; boolean poolEnabled = isEnabled(ccp); enabled = poolEnabled && resourceEnabled && refEnabled ; } else if(br instanceof AdminObjectResource) {
public boolean isEnabled(BindableResource br) { ResourceInfo resourceInfo = ConnectorsUtil.getResourceInfo(br); return isEnabled(br, resourceInfo); }
public static boolean isPoolSystemPool(String poolName) { Pattern pattern = Pattern.compile("#"); Matcher matcher = pattern.matcher(poolName); // If the pool name does not contain #, return false if (!matcher.find()) { return false; } matcher.reset(); String moduleNameFromPoolName = null; int matchCount = 0; while (matcher.find()) { matchCount++; int patternStart = matcher.start(); moduleNameFromPoolName = poolName.substring(0, patternStart); } // If pool name contains more than 2 #, return false as the // default system pool will have exacly one # for a standalone rar // and exactly two #s for an embedded rar ResourcesUtil resUtil = ResourcesUtil.createInstance(); switch (matchCount) { case 1: if (resUtil.belongToStandAloneRar(moduleNameFromPoolName)) return true; default: return false; } }
private boolean belongToEmbeddedRarAndEnabled(String resourceAdapterName) { String appName = getAppNameToken(resourceAdapterName); if(appName==null) return false; Applications apps = getDomain().getApplications(); Application app = apps.getApplication(appName); if(app == null || !ConnectorsUtil.parseBoolean(app.getEnabled())) return false; return isApplicationReferenceEnabled(appName); }
private void validateResource(ResourceInfo resourceInfo) throws ConnectorRuntimeException { ResourcesUtil resourcesUtil = ResourcesUtil.createInstance(); String jndiName = resourceInfo.getName(); String suffix = ConnectorsUtil.getValidSuffix(jndiName); if(suffix != null){ //Typically, resource is created without suffix. Try without suffix. String tmpJndiName = jndiName.substring(0, jndiName.lastIndexOf(suffix)); if(resourcesUtil.getResource(tmpJndiName, resourceInfo.getApplicationName(), resourceInfo.getModuleName(), JdbcResource.class) != null){ return; } } if(resourcesUtil.getResource(resourceInfo, JdbcResource.class) == null){ throw new ConnectorRuntimeException("Invalid resource : " + resourceInfo); } }