/* * Copyright 2008-2013 Red Hat, Inc, and individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.projectodd.polyglot.stomp.as; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DESCRIPTION; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.HEAD_COMMENT_ALLOWED; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.NAMESPACE; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OPERATION_NAME; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.REPLY_PROPERTIES; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.REQUEST_PROPERTIES; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.TAIL_COMMENT_ALLOWED; import java.util.Locale; import java.util.ResourceBundle; import org.jboss.as.controller.descriptions.DescriptionProvider; import org.jboss.dmr.ModelNode; public class StompSubsystemProviders { static final String RESOURCE_NAME = StompSubsystemProviders.class.getPackage().getName() + ".LocalDescriptions"; static final DescriptionProvider SUBSYSTEM = new DescriptionProvider() { @Override public ModelNode getModelDescription(Locale locale) { final ResourceBundle bundle = getResourceBundle(locale); final ModelNode subsystem = new ModelNode(); subsystem.get(DESCRIPTION).set(bundle.getString("polyglot-stomp")); subsystem.get(HEAD_COMMENT_ALLOWED).set(true); subsystem.get(TAIL_COMMENT_ALLOWED).set(true); subsystem.get(NAMESPACE).set(Namespace.CURRENT.getUriString()); return subsystem; } }; static final DescriptionProvider SUBSYSTEM_ADD = new DescriptionProvider() { @Override public ModelNode getModelDescription(Locale locale) { final ResourceBundle bundle = getResourceBundle(locale); final ModelNode operation = new ModelNode(); operation.get(OPERATION_NAME).set(ADD); operation.get(DESCRIPTION).set(bundle.getString("polyglot-stomp.add")); operation.get(REQUEST_PROPERTIES).setEmptyObject(); operation.get(REPLY_PROPERTIES).setEmptyObject(); return operation; } }; private static ResourceBundle getResourceBundle(Locale locale) { if (locale == null) { locale = Locale.getDefault(); } return ResourceBundle.getBundle(RESOURCE_NAME, locale); } }