public String[] getResourceAdaptorEntities(ResourceAdaptorEntityState state) throws NullPointerException, ManagementException { if (state == null) throw new NullPointerException("null entity state"); Iterator resourceAdaptorEntityIterator = resourceAdaptorEntities .values().iterator(); ArrayList resultEntityNamesArrayList = new ArrayList(); while (resourceAdaptorEntityIterator.hasNext()) { ResourceAdaptorEntity resourceAdaptorEntity = (ResourceAdaptorEntity) resourceAdaptorEntityIterator .next(); if (resourceAdaptorEntity.getState().equals(state)) resultEntityNamesArrayList.add(resourceAdaptorEntity.getName()); } String[] resultEntityNames = new String[resultEntityNamesArrayList .size()]; resultEntityNames = (String[]) resultEntityNamesArrayList .toArray(resultEntityNames); return resultEntityNames; }
/** * * Remembers in memory active Resource Adaptors so that they can be * reactivated on start. (NOTE: the list should be persisted info according * to SLEE spec #14.6.1, #2.2.17) * */ private void rememberActiveResourceAdaptorsBeforeStop() throws Exception { HashMap<String, ResourceAdaptorEntity> map = sleeContainer .getResourceAdaptorEntities(); for (String entityName : map.keySet()) { ResourceAdaptorEntity entity = map.get(entityName); if (!entityName.equals("tck") && entity.getState().equals( ResourceAdaptorEntityState.ACTIVE)) this.activeRAEntities.add(entityName); } }
/** * * Deactivate all active resource adaptors in preparation for moving to the * STOPPED state. See SLEE #14.6.1 * */ private void stopAllResourceAdaptors() { HashMap<String, ResourceAdaptorEntity> entities = this.sleeContainer .getResourceAdaptorEntities(); Iterator<ResourceAdaptorEntity> it = entities.values().iterator(); while (it.hasNext()) { ResourceAdaptorEntity entity = it.next(); if (!entity.getName().equals("tck") && entity.getState().equals( ResourceAdaptorEntityState.ACTIVE)) try { entity.deactivate(); } catch (InvalidStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }