private NamingBindingResourceDefinition() { super(NamingSubsystemModel.BINDING_PATH, NamingExtension.getResourceDescriptionResolver(NamingSubsystemModel.BINDING), NamingBindingAdd.INSTANCE, NamingBindingRemove.INSTANCE); }
@Override public String toString() { return getLocalName(); } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { installRuntimeServices(context); }
private void parseBindings(final XMLExtendedStreamReader reader, final List<ModelNode> operations) throws XMLStreamException { // no attributes expected requireNoAttributes(reader); while (reader.hasNext() && reader.nextTag() != XMLStreamConstants.END_ELEMENT) { switch (NamingSubsystemXMLElement.forName(reader.getLocalName())) { case SIMPLE: { this.parseSimpleBinding(reader, operations); break; } case OBJECT_FACTORY: { this.parseObjectFactoryBinding(reader, operations); break; } case LOOKUP: { this.parseLookupBinding(reader, operations); break; } default: { throw unexpectedElement(reader); } } } }
private void parseBindings(final XMLExtendedStreamReader reader, final List<ModelNode> operations) throws XMLStreamException { // no attributes expected requireNoAttributes(reader); while (reader.hasNext() && reader.nextTag() != XMLStreamConstants.END_ELEMENT) { switch (NamingSubsystemXMLElement.forName(reader.getLocalName())) { case SIMPLE: { this.parseSimpleBinding(reader, operations); break; } case OBJECT_FACTORY: { this.parseObjectFactoryBinding(reader, operations); break; } case LOOKUP: { this.parseLookupBinding(reader, operations); break; } default: { throw unexpectedElement(reader); } } } }
private void parseBindings(final XMLExtendedStreamReader reader, final List<ModelNode> operations, PathAddress address) throws XMLStreamException { // no attributes expected requireNoAttributes(reader); while (reader.hasNext() && reader.nextTag() != XMLStreamConstants.END_ELEMENT) { switch (NamingSubsystemXMLElement.forName(reader.getLocalName())) { case SIMPLE: { this.parseSimpleBinding(reader, operations, address); break; } case OBJECT_FACTORY: { this.parseObjectFactoryBinding(reader, operations, address); break; } case LOOKUP: { this.parseLookupBinding(reader, operations, address); break; } default: { throw unexpectedElement(reader); } } } }
private void parseBindings(final XMLExtendedStreamReader reader, final List<ModelNode> operations, PathAddress address) throws XMLStreamException { // no attributes expected requireNoAttributes(reader); while (reader.hasNext() && reader.nextTag() != XMLStreamConstants.END_ELEMENT) { switch (NamingSubsystemXMLElement.forName(reader.getLocalName())) { case SIMPLE: { this.parseSimpleBinding(reader, operations, address); break; } case OBJECT_FACTORY: { this.parseObjectFactoryBinding(reader, operations, address); break; } case LOOKUP: { this.parseLookupBinding(reader, operations, address); break; } case EXTERNAL_CONTEXT: { this.parseExternalContext(reader, operations, address); break; } default: { throw unexpectedElement(reader); } } } }
private void writeLookupBinding(final Property binding, final XMLExtendedStreamWriter writer) throws XMLStreamException { writer.writeStartElement(NamingSubsystemXMLElement.LOOKUP.getLocalName()); writer.writeAttribute(NamingSubsystemXMLAttribute.NAME.getLocalName(), binding.getName()); NamingBindingResourceDefinition.LOOKUP.marshallAsAttribute(binding.getValue(), writer); writer.writeEndElement(); }
void installObjectFactory(final OperationContext context, final String name, final ModelNode model) throws OperationFailedException { final ObjectFactory objectFactoryClassInstance = createObjectFactory(context, model); final Hashtable<String, String> environment = getObjectFactoryEnvironment(context, model); ContextListAndJndiViewManagedReferenceFactory factory = new ObjectFactoryManagedReference(objectFactoryClassInstance, name, environment); final ServiceTarget serviceTarget = context.getServiceTarget(); final ContextNames.BindInfo bindInfo = ContextNames.bindInfoFor(name); final BinderService binderService = new BinderService(name, objectFactoryClassInstance); binderService.getManagedObjectInjector().inject(new MutableManagedReferenceFactory(factory)); serviceTarget.addService(bindInfo.getBinderServiceName(), binderService) .addDependency(bindInfo.getParentContextServiceName(), ServiceBasedNamingStore.class, binderService.getNamingStoreInjector()) .install(); }
NamingSubsystemRootResourceDefinition() { super(PathElement.pathElement(ModelDescriptionConstants.SUBSYSTEM, NamingExtension.SUBSYSTEM_NAME), NamingExtension.getResourceDescriptionResolver(NamingExtension.SUBSYSTEM_NAME), new NamingSubsystemAdd(), new NamingSubsystemRemove()); }
/** * Converts the value of the directory grouping to a model node. * * @return a new model node for the value. */ public ModelNode toModelNode() { return new ModelNode().set(toString()); }
public static BindingType forName(String localName) { if (localName == null) return null; final BindingType directoryGrouping = MAP.get(localName.toLowerCase()); return directoryGrouping == null ? BindingType.valueOf(localName.toUpperCase()) : directoryGrouping; }
private Object createSimpleBinding(OperationContext context, ModelNode model) throws OperationFailedException { final String value = NamingBindingResourceDefinition.VALUE.resolveModelAttribute(context, model).asString(); final String type; if (model.hasDefined(TYPE)) { type = NamingBindingResourceDefinition.TYPE.resolveModelAttribute(context, model).asString(); } else { type = null; } return coerceToType(value, type); }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String name = PathAddress.pathAddress(operation.get(ModelDescriptionConstants.ADDRESS)).getLastElement().getValue(); installRuntimeServices(context, name, model); }
@Override public void registerAttributes(ManagementResourceRegistration resourceRegistration) { OperationStepHandler writeHandler = new WriteAttributeHandler(ATTRIBUTES); for (AttributeDefinition attr : ATTRIBUTES) { resourceRegistration.registerReadWriteAttribute(attr, null, writeHandler); } }
/** * {@inheritDoc} */ @Override public void initializeParsers(ExtensionParsingContext context) { context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_1_0, () -> new NamingSubsystem10Parser(context.getProcessType() == ProcessType.APPLICATION_CLIENT)); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_1_1, NamingSubsystem11Parser::new); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_1_2, NamingSubsystem12Parser::new); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_1_3, NamingSubsystem13Parser::new); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_1_4, NamingSubsystem14Parser::new); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, NAMESPACE_2_0, NamingSubsystem20Parser::new); }
private void writeSimpleBinding(final Property binding, final XMLExtendedStreamWriter writer) throws XMLStreamException { writer.writeStartElement(NamingSubsystemXMLElement.SIMPLE.getLocalName()); writer.writeAttribute(NamingSubsystemXMLAttribute.NAME.getLocalName(), binding.getName()); NamingBindingResourceDefinition.VALUE.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.TYPE.marshallAsAttribute(binding.getValue(), writer); writer.writeEndElement(); }
private RemoteNamingResourceDefinition() { super(new Parameters(NamingSubsystemModel.REMOTE_NAMING_PATH, NamingExtension.getResourceDescriptionResolver(NamingSubsystemModel.REMOTE_NAMING)) .setAddHandler(RemoteNamingAdd.INSTANCE) .setRemoveHandler(RemoteNamingRemove.INSTANCE) .addCapabilities(REMOTE_NAMING_CAPABILITY)); } }
private void writeObjectFactoryBinding(final Property binding, final XMLExtendedStreamWriter writer) throws XMLStreamException { writer.writeStartElement(NamingSubsystemXMLElement.OBJECT_FACTORY.getLocalName()); writer.writeAttribute(NamingSubsystemXMLAttribute.NAME.getLocalName(), binding.getName()); NamingBindingResourceDefinition.MODULE.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.CLASS.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.ENVIRONMENT.marshallAsElement(binding.getValue(), writer); writer.writeEndElement(); }
private void writeExternalContext(final Property binding, final XMLExtendedStreamWriter writer) throws XMLStreamException { writer.writeStartElement(NamingSubsystemXMLElement.EXTERNAL_CONTEXT.getLocalName()); writer.writeAttribute(NamingSubsystemXMLAttribute.NAME.getLocalName(), binding.getName()); NamingBindingResourceDefinition.MODULE.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.CLASS.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.CACHE.marshallAsAttribute(binding.getValue(), writer); NamingBindingResourceDefinition.ENVIRONMENT.marshallAsElement(binding.getValue(), writer); writer.writeEndElement(); }