@Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Resource untransformedResource = context.readResource(PathAddress.EMPTY_ADDRESS); ModelNode untransformedModel = Resource.Tools.readModel(untransformedResource); String statefulCache = untransformedModel.get(DEFAULT_SFSB_CACHE).asString(); String statefulPassivationDisabledCache = untransformedModel.get(DEFAULT_SFSB_PASSIVATION_DISABLED_CACHE).asString(); ModelNode transformed = resource.getModel(); transformed.get(DEFAULT_SFSB_CACHE).set(statefulPassivationDisabledCache); transformed.get(EJB3SubsystemModel.DEFAULT_CLUSTERED_SFSB_CACHE).set(statefulCache); transformed.remove(DEFAULT_SFSB_PASSIVATION_DISABLED_CACHE); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); childContext.processChildren(resource); } }
@Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { Resource untransformedResource = context.readResource(PathAddress.EMPTY_ADDRESS); ModelNode untransformedModel = Resource.Tools.readModel(untransformedResource); String defaultDataStore = untransformedModel.get(TimerServiceResourceDefinition.DEFAULT_DATA_STORE.getName()).asString(); ModelNode transformed = resource.getModel(); transformed.remove(TimerServiceResourceDefinition.DEFAULT_DATA_STORE.getName()); ModelNode fileStore = untransformedModel.get(EJB3SubsystemModel.FILE_DATA_STORE, defaultDataStore); if (!fileStore.isDefined()) {//happens where default is not file-store rejectIncompatibleDataStores(context, address); } else if ((untransformedModel.hasDefined(EJB3SubsystemModel.DATABASE_DATA_STORE) && untransformedModel.get(EJB3SubsystemModel.DATABASE_DATA_STORE).keys().size() > 0) || untransformedModel.get(EJB3SubsystemModel.FILE_DATA_STORE).keys().size() > 1) { rejectIncompatibleDataStores(context, address); } ModelNode path = fileStore.get(EJB3SubsystemModel.PATH); transformed.get(EJB3SubsystemModel.PATH).set(path); transformed.get(EJB3SubsystemModel.RELATIVE_TO).set(fileStore.get(EJB3SubsystemModel.RELATIVE_TO)); context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); //do not process children! }