Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
   * as indicated by the @authors tag. All rights reserved.
   * See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
  * This program is distributed in the hope that it will be useful, but WITHOUT A
  * 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,
  * v.2.1 along with this distribution; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  */
 package org.jboss.as.domain.controller.operations.deployment;
 
 import static org.jboss.as.domain.controller.DomainControllerLogger.DEPLOYMENT_LOGGER;
 
 import java.util.Set;
 
Base class for operation handlers that can handle the upload of deployment content.

Author(s):
Brian Stansberry (c) 2011 Red Hat Inc.
 
 public abstract class AbstractDeploymentUploadHandler implements OperationStepHandler {
 
     private static final Set<Action.ActionEffectACTION_EFFECT_SET =
             EnumSet.of(..);
 
     private final ContentRepository contentRepository;
     protected final AttributeDefinition attribute;
 
     protected AbstractDeploymentUploadHandler(final ContentRepository contentRepositoryfinal AttributeDefinition attribute) {
         this. = contentRepository;
         this. = attribute;
     }

    
 
     @Override
     public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
 
         if ( != null) {
             // Trigger authz
             AuthorizationResult authorizationResult = context.authorize(operation);
             if (authorizationResult.getDecision() == ..) {
                 throw ..unauthorized(operation.get(.).asString(),
                         PathAddress.pathAddress(operation.get(.)),
                         authorizationResult.getExplanation());
             }
             try {
                 InputStream is = getContentInputStream(contextoperation);
                 try {
                     byte[] hash = .addContent(is);
                     context.getResult().set(hash);
                 }
                 finally {
                     safeClose(is);
                 }
             }
             catch (IOException e) {
                 throw new OperationFailedException(new ModelNode().set(e.toString()));
             }
         }
         // else this is a slave domain controller and we should ignore this operation
 
         context.stepCompleted();
     }
 
     protected abstract InputStream getContentInputStream(OperationContext contextModelNode operationthrows OperationFailedException;
 
     private static void safeClose(InputStream is) {
         if (is != null) {
             try {
                 is.close();
             }
             catch (Exception e) {
                 .caughtExceptionClosingInputStream(e);
            }
        }
    }
New to GrepCode? Check out our FAQ X