PageRenderTime 36ms CodeModel.GetById 27ms app.highlight 7ms RepoModel.GetById 0ms app.codeStats 0ms

/jboss-as-7.1.1.Final/jacorb/src/main/java/org/jboss/as/jacorb/JacORBExtension.java

#
Java | 69 lines | 31 code | 10 blank | 28 comment | 0 complexity | 808f98cedd1d2ca480798f7153d94e5f MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
 1/*
 2 * JBoss, Home of Professional Open Source.
 3 * Copyright 2011, Red Hat, Inc., and individual contributors
 4 * as indicated by the @author tags. See the copyright.txt file in the
 5 * distribution for a full listing of individual contributors.
 6 *
 7 * This is free software; you can redistribute it and/or modify it
 8 * under the terms of the GNU Lesser General Public License as
 9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */
22
23package org.jboss.as.jacorb;
24
25import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DESCRIBE;
26
27import org.jboss.as.controller.Extension;
28import org.jboss.as.controller.ExtensionContext;
29import org.jboss.as.controller.SubsystemRegistration;
30import org.jboss.as.controller.descriptions.ResourceDescriptionResolver;
31import org.jboss.as.controller.descriptions.StandardResourceDescriptionResolver;
32import org.jboss.as.controller.operations.common.GenericSubsystemDescribeHandler;
33import org.jboss.as.controller.parsing.ExtensionParsingContext;
34import org.jboss.as.controller.registry.ManagementResourceRegistration;
35import org.jboss.as.controller.registry.OperationEntry;
36
37/**
38 * <p>
39 * The JacORB extension implementation.
40 * </p>
41 *
42 * @author <a href="mailto:sguilhen@redhat.com">Stefan Guilhen</a>
43 */
44public class JacORBExtension implements Extension {
45
46    private static final JacORBSubsystemParser PARSER = JacORBSubsystemParser.INSTANCE;
47
48    public static final String SUBSYSTEM_NAME = "jacorb";
49
50    private static final String RESOURCE_NAME = JacORBExtension.class.getPackage().getName() + ".LocalDescriptions";
51
52    static ResourceDescriptionResolver getResourceDescriptionResolver(final String keyPrefix) {
53        return new StandardResourceDescriptionResolver(keyPrefix, RESOURCE_NAME, JacORBExtension.class.getClassLoader(), true, false);
54    }
55
56    @Override
57    public void initialize(ExtensionContext context) {
58        final SubsystemRegistration subsystem = context.registerSubsystem(SUBSYSTEM_NAME, 1, 0);
59        final ManagementResourceRegistration subsystemRegistration = subsystem.registerSubsystemModel(JacORBSubsystemResource.INSTANCE);
60        subsystemRegistration.registerOperationHandler(DESCRIBE, GenericSubsystemDescribeHandler.INSTANCE, GenericSubsystemDescribeHandler.INSTANCE, false, OperationEntry.EntryType.PRIVATE);
61        subsystem.registerXMLElementWriter(PARSER);
62    }
63
64    @Override
65    public void initializeParsers(ExtensionParsingContext context) {
66        context.setSubsystemXmlMapping(SUBSYSTEM_NAME, JacORBSubsystemParser.Namespace.JacORB_1_0.getUriString(), PARSER);
67        context.setSubsystemXmlMapping(SUBSYSTEM_NAME, JacORBSubsystemParser.Namespace.JacORB_1_1.getUriString(), PARSER);
68    }
69}