Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2011, Red Hat, Inc., and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of 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.jboss.as.domain.controller.operations;
 
 import static org.jboss.as.domain.controller.DomainControllerMessages.MESSAGES;
 import static org.jboss.as.domain.controller.resources.ServerGroupResourceDefinition.PROFILE;
 import static org.jboss.as.domain.controller.resources.ServerGroupResourceDefinition.SOCKET_BINDING_GROUP;
 
 

Author(s):
Emanuel Muckenhuber
 
 public class ServerGroupAddHandler implements OperationStepHandler {
 
     private final boolean master;
 
     public ServerGroupAddHandler(boolean master) {
         this. = master;
     }

    
 
     public void execute(final OperationContext contextfinal ModelNode operationthrows OperationFailedException {
 
         final Resource resource = context.createResource(.);
         final ModelNode model = resource.getModel();
 
             attr.validateAndSet(operationmodel);
         }
 
         // Validate the profile reference.
 
         // Future proofing: We resolve the profile in Stage.MODEL even though system properties may not be available yet
         // solely because currently the attribute doesn't support expressions. In the future if system properties
         // can safely be resolved in stage model, this profile attribute can be changed and this will still work.
         boolean reloadRequired = false;
         final String profile = .resolveModelAttribute(contextmodel).asString();
         try {
             context.readResourceFromRoot(PathAddress.pathAddress(PathElement.pathElement(.getName(), profile)));
         } catch (Exception e) {
             if () {
                 throw ..noProfileCalled(profile);
             } else {
                 //We are a slave HC and we don't have the socket-binding-group required, so put the slave into reload-required
                 reloadRequired = true;
                 context.reloadRequired();
             }
         }
 
         final String socketBindingGroup;
         if (operation.hasDefined(.getName())) {
             socketBindingGroup =  .resolveModelAttribute(contextmodel).asString();
             try {
                 context.readResourceFromRoot(PathAddress.pathAddress(PathElement.pathElement(.getName(), socketBindingGroup)));
             } catch (NoSuchElementException e) {
                 if () {
                     throw new OperationFailedException(new ModelNode().set(.unknown(.getName(), socketBindingGroup)));
                 } else {
                     //We are a slave HC and we don't have the socket-binding-group required, so put the slave into reload-required
                     reloadRequired = true;
                     context.reloadRequired();
                 }
             }
         } else {
             socketBindingGroup = null;
         }
        final boolean revertReloadRequiredOnRollback = reloadRequired;
        context.completeStep(new OperationContext.ResultHandler() {
            @Override
            public void handleResult(ResultAction resultActionOperationContext contextModelNode operation) {
                if (resultAction == .) {
                    if (revertReloadRequiredOnRollback){
                        context.revertReloadRequired();
                    }
                }
            }
        });
    }
    protected boolean requiresRuntime(OperationContext context) {
        return false;
    }
New to GrepCode? Check out our FAQ X