public TransactionalProtocolClientImpl(final ManagementChannelAssociation channelAssociation) { assert channelAssociation != null; this.channelAssociation = channelAssociation; final File temp = channelAssociation.getAttachments().getAttachment(ManagementChannelHandler.TEMP_DIR); if (temp != null && temp.isDirectory()) { tempDir = temp; } else { tempDir = javaTempDir; } }
public TransactionalProtocolClientImpl(final ManagementChannelAssociation channelAssociation) { assert channelAssociation != null; this.channelAssociation = channelAssociation; final File temp = channelAssociation.getAttachments().getAttachment(ManagementChannelHandler.TEMP_DIR); if (temp != null && temp.isDirectory()) { tempDir = temp; } else { tempDir = javaTempDir; } }
static ExecutableRequest parse(DataInput input, ManagementChannelAssociation channelAssociation) throws IOException { final ModelNode operation = new ModelNode(); ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_OPERATION); operation.readExternal(input); ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); final int attachmentsLength = input.readInt(); final PropagatedIdentity propagatedIdentity; final Boolean readIdentity = channelAssociation.getAttachments().getAttachment(TransactionalProtocolClient.SEND_IDENTITY); propagatedIdentity = (readIdentity != null && readIdentity) ? read(input) : null; final Boolean readSendInVm = channelAssociation.getAttachments().getAttachment(TransactionalProtocolClient.SEND_IN_VM); boolean inVmCall = false; if (readSendInVm != null && readSendInVm) { ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_IN_VM_CALL); inVmCall = input.readBoolean(); } return new ExecutableRequest(operation, attachmentsLength, propagatedIdentity, inVmCall); } }
static ExecutableRequest parse(DataInput input, ManagementChannelAssociation channelAssociation) throws IOException { final ModelNode operation = new ModelNode(); ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_OPERATION); operation.readExternal(input); ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); final int attachmentsLength = input.readInt(); final PropagatedIdentity propagatedIdentity; final Boolean readIdentity = channelAssociation.getAttachments().getAttachment(TransactionalProtocolClient.SEND_IDENTITY); propagatedIdentity = (readIdentity != null && readIdentity) ? read(input) : null; final Boolean readSendInVm = channelAssociation.getAttachments().getAttachment(TransactionalProtocolClient.SEND_IN_VM); boolean inVmCall = false; if (readSendInVm != null && readSendInVm) { ProtocolUtils.expectHeader(input, ModelControllerProtocol.PARAM_IN_VM_CALL); inVmCall = input.readBoolean(); } return new ExecutableRequest(operation, attachmentsLength, propagatedIdentity, inVmCall); } }
final Boolean readSubject = channelAssociation.getAttachments().getAttachment(TransactionalProtocolClient.SEND_SUBJECT); if (readSubject != null && readSubject) { subject = readSubject(input);
@Override protected void sendRequest(final ActiveOperation.ResultHandler<ModelNode> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context, final FlushableDataOutput output) throws IOException { // Write the operation final ExecuteRequestContext executionContext = context.getAttachment(); final List<InputStream> streams = executionContext.getInputStreams(); final ModelNode operation = executionContext.getOperation(); int inputStreamLength = 0; if (streams != null) { inputStreamLength = streams.size(); } output.write(ModelControllerProtocol.PARAM_OPERATION); operation.writeExternal(output); output.write(ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); output.writeInt(inputStreamLength); final Boolean sendSubject = channelAssociation.getAttachments().getAttachment(SEND_SUBJECT); if (sendSubject != null && sendSubject) { final Subject subject = context.getAttachment().getSerializableSubject(); writeSubject(output, subject); } }
@Override protected void sendRequest(final ActiveOperation.ResultHandler<OperationResponse> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context, final FlushableDataOutput output) throws IOException { ControllerLogger.MGMT_OP_LOGGER.tracef("transmitting ExecuteRequest for %d", context.getOperationId()); // Write the operation final ExecuteRequestContext executionContext = context.getAttachment(); final List<InputStream> streams = executionContext.getInputStreams(); final ModelNode operation = executionContext.getOperation(); int inputStreamLength = 0; if (streams != null) { inputStreamLength = streams.size(); } output.write(ModelControllerProtocol.PARAM_OPERATION); operation.writeExternal(output); output.write(ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); output.writeInt(inputStreamLength); final Boolean sendIdentity = channelAssociation.getAttachments().getAttachment(SEND_IDENTITY); if (sendIdentity != null && sendIdentity) { ExecuteRequestContext attachment = context.getAttachment(); write(output, attachment.getSecurityIdentity(), attachment.getRemoteAddress()); } final Boolean sendInVm = channelAssociation.getAttachments().getAttachment(SEND_IN_VM); if (sendInVm != null && sendInVm) { ExecuteRequestContext attachment = context.getAttachment(); output.writeByte(ModelControllerProtocol.PARAM_IN_VM_CALL); output.writeBoolean(attachment.isInVmCall()); } }
@Override protected void sendRequest(final ActiveOperation.ResultHandler<OperationResponse> resultHandler, final ManagementRequestContext<ExecuteRequestContext> context, final FlushableDataOutput output) throws IOException { ControllerLogger.MGMT_OP_LOGGER.tracef("transmitting ExecuteRequest for %d", context.getOperationId()); // Write the operation final ExecuteRequestContext executionContext = context.getAttachment(); final List<InputStream> streams = executionContext.getInputStreams(); final ModelNode operation = executionContext.getOperation(); int inputStreamLength = 0; if (streams != null) { inputStreamLength = streams.size(); } output.write(ModelControllerProtocol.PARAM_OPERATION); operation.writeExternal(output); output.write(ModelControllerProtocol.PARAM_INPUTSTREAMS_LENGTH); output.writeInt(inputStreamLength); final Boolean sendIdentity = channelAssociation.getAttachments().getAttachment(SEND_IDENTITY); if (sendIdentity != null && sendIdentity) { ExecuteRequestContext attachment = context.getAttachment(); write(output, attachment.getSecurityIdentity(), attachment.getRemoteAddress()); } final Boolean sendInVm = channelAssociation.getAttachments().getAttachment(SEND_IN_VM); if (sendInVm != null && sendInVm) { ExecuteRequestContext attachment = context.getAttachment(); output.writeByte(ModelControllerProtocol.PARAM_IN_VM_CALL); output.writeBoolean(attachment.isInVmCall()); } }