/* * Copyright 2013 Red Hat Inc. and/or its affiliates and other contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.switchyard.as7.extension; import org.jboss.as.controller.OperationDefinition; import org.jboss.as.controller.SimpleAttributeDefinition; import org.jboss.as.controller.SimpleAttributeDefinitionBuilder; import org.jboss.as.controller.SimpleOperationDefinitionBuilder; import org.jboss.as.controller.descriptions.ModelDescriptionConstants; import org.jboss.as.controller.descriptions.NonResolvingResourceDescriptionResolver; import org.jboss.dmr.ModelType; /** * @author Magesh Kumar B <mageshbk@jboss.com> (C) 2013 Red Hat Inc. */ interface Operations { SimpleAttributeDefinition NAME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.NAME, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition APPLICATION = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.APPLICATION, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition APPLICATION_NAME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.APPLICATION_NAME, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition INTERFACE = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.INTERFACE, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition IMPLEMENTATION = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.IMPLEMENTATION, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition IMPLEMENTATION_CONFIGURATION = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.IMPLEMENTATION_CONFIGURATION, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition PROMOTED_REFERENCE = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.PROMOTED_REFERENCE, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition PROMOTED_SERVICE = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.PROMOTED_SERVICE, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition TYPE = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.TYPE, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition CONFIGURATION = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.CONFIGURATION, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition FROM = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.FROM, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition TO = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.TO, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition URL = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.URL, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition REFERENCE_NAME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.REFERENCE_NAME, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition SERVICE_NAME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.SERVICE_NAME, ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition SUCCESS_COUNT = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.SUCCESS_COUNT, ModelType.INT) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition FAULT_COUNT = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.FAULT_COUNT, ModelType.INT) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition TOTAL_COUNT = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.TOTAL_COUNT, ModelType.INT) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition AVERAGE_TIME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.AVERAGE_TIME, ModelType.BIG_DECIMAL) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition MIN_TIME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.MIN_TIME, ModelType.INT) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition MAX_TIME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.MAX_TIME, ModelType.INT) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition TOTAL_TIME = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.TOTAL_TIME, ModelType.LONG) .setAllowExpression(true) .setAllowNull(true) .build(); SimpleAttributeDefinition GATEWAYS = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.GATEWAYS, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(2) .setMaxSize(2) .build(); SimpleAttributeDefinition REFERENCES = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.GATEWAYS, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(2) .setMaxSize(2) .build(); SimpleAttributeDefinition TRANSFORMERS = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.TRANSFORMERS, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(3) .setMaxSize(3) .build(); SimpleAttributeDefinition ARTIFACTS = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.ARTIFACTS, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(2) .setMaxSize(2) .build(); SimpleAttributeDefinition VALIDATORS = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.VALIDATORS, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(2) .setMaxSize(2) .build(); SimpleAttributeDefinition PROPERTIES = SimpleAttributeDefinitionBuilder.create(ModelDescriptionConstants.PROPERTIES, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(2) .setMaxSize(2) .build(); SimpleAttributeDefinition SERVICES = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.SERVICES, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(5) .setMaxSize(5) .build(); SimpleAttributeDefinition COMPONENT_SERVICES = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.COMPONENT_SERVICES, ModelType.LIST) .setAllowExpression(true) .setAllowNull(true) .setMinSize(5) .setMaxSize(5) .build(); SimpleAttributeDefinition THROTTLING = SimpleAttributeDefinitionBuilder.create(SwitchYardModelConstants.THROTTLING, ModelType.OBJECT) .setAllowExpression(true) .build(); OperationDefinition GET_VERSION = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.GET_VERSION, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .build(); OperationDefinition LIST_APPLICATIONS = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.LIST_APPLICATIONS, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setReplyParameters(NAME) .setReplyType(ModelType.LIST) .build(); OperationDefinition LIST_REFERENCES = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.LIST_REFERENCES, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(APPLICATION_NAME) .setReplyParameters(NAME, APPLICATION) .setReplyType(ModelType.LIST) .build(); OperationDefinition LIST_SERVICES = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.LIST_SERVICES, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(APPLICATION_NAME) .setReplyParameters(NAME, APPLICATION) .setReplyType(ModelType.LIST) .build(); OperationDefinition READ_APPLICATION = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.READ_APPLICATION, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(NAME) .setReplyParameters(NAME, SERVICES, COMPONENT_SERVICES, TRANSFORMERS, ARTIFACTS, VALIDATORS, PROPERTIES) .setReplyType(ModelType.LIST) .build(); OperationDefinition READ_REFERENCE = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.READ_REFERENCE, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(REFERENCE_NAME, APPLICATION_NAME) .setReplyParameters(NAME, APPLICATION, INTERFACE, PROMOTED_REFERENCE, GATEWAYS) .setReplyType(ModelType.LIST) .build(); OperationDefinition READ_SERVICE = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.READ_SERVICE, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(SERVICE_NAME, APPLICATION_NAME) .setReplyParameters(NAME, APPLICATION, INTERFACE, PROMOTED_SERVICE, GATEWAYS) .setReplyType(ModelType.LIST) .build(); OperationDefinition USES_ARTIFACT = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.USES_ARTIFACT, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(NAME, URL) .setReplyParameters(NAME) .setReplyType(ModelType.LIST) .build(); OperationDefinition SHOW_METRICS = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.SHOW_METRICS, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(SERVICE_NAME, TYPE) .setReplyParameters(SUCCESS_COUNT, FAULT_COUNT, TOTAL_COUNT, AVERAGE_TIME, MIN_TIME, MAX_TIME, TOTAL_TIME) .setReplyType(ModelType.LIST) .build(); OperationDefinition RESET_METRICS = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.RESET_METRICS, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(NAME, APPLICATION_NAME) .build(); OperationDefinition STOP_GATEWAY = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.STOP_GATEWAY, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(NAME, SERVICE_NAME, APPLICATION_NAME) .build(); OperationDefinition START_GATEWAY = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.START_GATEWAY, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(NAME, SERVICE_NAME, APPLICATION_NAME) .build(); OperationDefinition UPDATE_THROTTLING = new SimpleOperationDefinitionBuilder(SwitchYardModelConstants.UPDATE_THROTTLING, new NonResolvingResourceDescriptionResolver()) .setReadOnly() .setRuntimeOnly() .setParameters(SERVICE_NAME, APPLICATION_NAME, THROTTLING) .build(); }