本文整理汇总了Java中org.switchyard.component.resteasy.composer.RESTEasyBindingData类的典型用法代码示例。如果您正苦于以下问题:Java RESTEasyBindingData类的具体用法?Java RESTEasyBindingData怎么用?Java RESTEasyBindingData使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
RESTEasyBindingData类属于org.switchyard.component.resteasy.composer包,在下文中一共展示了RESTEasyBindingData类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compose
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public Message compose(RESTEasyBindingData source, Exchange exchange) throws Exception {
final Message message = super.compose(source, exchange);
if (message.getContent() instanceof BaseClientResponse) {
BaseClientResponse<?> clientResponse = (BaseClientResponse<?>) message.getContent();
if (clientResponse.getResponseStatus() == Response.Status.NOT_FOUND) {
throw new ItemNotFoundException("Item not found");
}
} else if (source.getOperationName().equals("addItem") && (source.getParameters().length == 2)) {
// Wrap the parameters
Item item = new Item((Integer) source.getParameters()[0], (String) source.getParameters()[1]);
message.setContent(item);
}
return message;
}
示例2: decompose
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public RESTEasyBindingData decompose(Exchange exchange, RESTEasyBindingData target) throws Exception {
Object content = exchange.getMessage().getContent();
if (exchange.getState().equals(ExchangeState.FAULT)) {
if (content instanceof HandlerException) {
HandlerException he = (HandlerException) content;
if (he.getCause() instanceof ItemNotFoundException) {
throw (Exception) he.getCause();
}
}
}
target = super.decompose(exchange, target);
if (target.getOperationName().equals("addItem") && (content != null) && (content instanceof Item)) {
// Unwrap the parameters
target.setParameters(new Object[] { ((Item) content).getItemId(), ((Item) content).getName() });
}
return target;
}
示例3: invoke
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
public RESTEasyBindingData invoke(final RESTEasyBindingData restMessageRequest, final boolean oneWay) {
Object input = restMessageRequest.getParameters().length == 0 ? null : restMessageRequest.getParameters()[0];
String operationName = restMessageRequest.getOperationName();
if (operationName.equals("getItem")) {
Assert.assertTrue(input instanceof Integer);
Assert.assertTrue((Integer)input == 1);
Assert.assertFalse(oneWay);
return new RESTEasyBindingData(new Item(1, "Apple"));
} else if (operationName.equals("addItem") || operationName.equals("updateItem")) {
Assert.assertTrue(input instanceof Item);
Assert.assertFalse(oneWay);
return new RESTEasyBindingData(((Item)input).toString());
} else if (operationName.equals("removeItem")) {
Assert.assertTrue(input instanceof Integer);
Assert.assertFalse(oneWay);
return new RESTEasyBindingData("2");
} else if (operationName.equals("getItemCount")) {
Assert.assertTrue(input == null);
Assert.assertFalse(oneWay);
return new RESTEasyBindingData(0);
} else if (operationName.equals("testVoid")) {
Assert.assertTrue(input == null);
Assert.assertTrue(oneWay);
}
return null;
}
示例4: decompose
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public RESTEasyBindingData decompose(Exchange exchange, RESTEasyBindingData target) throws Exception {
Object content = exchange.getMessage().getContent();
String opName = exchange.getContract().getProviderOperation().getName();
if (opName.equals("getItem") && (content == null)) {
exchange.getContext().setProperty(RESTEasyContextMapper.HTTP_RESPONSE_STATUS, 404)
.addLabels(new String[] { EndpointLabel.HTTP.label() });
}
target = super.decompose(exchange, target);
if (target.getOperationName().equals("addItem") && (content != null) && (content instanceof Item)) {
// Unwrap the parameters
target.setParameters(new Object[] { ((Item) content).getItemId(), ((Item) content).getName(),
((Item) content).getPrice() });
}
return target;
}
示例5: mapTo
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void mapTo(Context context, RESTEasyBindingData target) throws Exception {
// delegate to parent to pick up existing context mapping logic for RESTEasy
super.mapTo(context, target);
// add a custom header
target.addHeader("bar", "123");
target.addHeader("bar", "456");
}
示例6: mapTo
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void mapTo(Context context, RESTEasyBindingData target) throws Exception {
// delegate to parent to pick up existing context mapping logic for RESTEasy
super.mapTo(context, target);
// add a custom header
target.addHeader("foo", "123");
}
示例7: compose
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public Message compose(RESTEasyBindingData source, Exchange exchange) throws Exception {
final Message message = super.compose(source, exchange);
if (source.getOperationName().equals("addItem") && (source.getParameters().length == 3)) {
// Wrap the parameters
Item item = new Item((Integer) source.getParameters()[0], (String) source.getParameters()[1],
(Integer) source.getParameters()[2]);
message.setContent(item);
}
return message;
}
示例8: invoke
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
String methodName = method.getName();
if (methodName.equals("toString")) {
return this.toString();
} else if (methodName.equals("equals")) {
if (proxy == null || args[0] == null) {
return false;
} else if (proxy == args[0]) {
return true;
}
return false;
} else if (methodName.equals("hashCode")) {
return this.hashCode();
}
RESTEasyBindingData requestData = new RESTEasyBindingData();
HttpHeaders headers = ResteasyProviderFactory.getContextData(HttpHeaders.class);
if (headers != null) {
requestData.setHeaders(headers.getRequestHeaders());
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Incoming Headers to SwitchYard through InboundHandler [");
traceLog(LOGGER, headers.getRequestHeaders());
LOGGER.trace("]");
}
}
SecurityContext securityContext = ResteasyProviderFactory.getContextData(SecurityContext.class);
if (securityContext != null) {
if (securityContext instanceof ServletSecurityContext && SERVLET_REQUEST_ACCESS != null) {
HttpServletRequest servletRequest = SERVLET_REQUEST_ACCESS.read((ServletSecurityContext)securityContext);
requestData.setServletRequest(servletRequest);
}
requestData.setSecured(securityContext.isSecure());
requestData.setPrincipal(securityContext.getUserPrincipal());
}
requestData.setOperationName(methodName);
if ((args != null) && (args.length > 0)) {
requestData.setParameters(args);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(args);
}
}
RESTEasyBindingData responseData = _serviceConsumer.invoke(requestData, method.getReturnType().equals(Void.TYPE));
Response.ResponseBuilder builder = Response.ok();
if (responseData != null) {
if (method.getReturnType().equals(Response.class)) {
if (responseData.getParameters().length > 0) {
Object param = responseData.getParameters()[0];
if (param instanceof Response) {
// In future use builder = Response.ResponseBuilder.fromResponse((Response)param);
Response response = (Response)param;
builder.entity(response.getEntity());
builder.status(response.getStatus());
} else {
builder.entity(param);
}
}
// Data overrides status
if (responseData.getStatusCode() != null) {
builder.status(responseData.getStatusCode());
}
for (Map.Entry<String, List<String>> entry : responseData.getHeaders().entrySet()) {
String name = entry.getKey();
List<String> values = entry.getValue();
for (String value : values) {
builder.header(name, value);
}
}
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Outgoing Headers from SwitchYard through InboundHandler [");
traceLog(LOGGER, responseData.getHeaders());
LOGGER.trace("]");
}
} else if (responseData.getParameters().length > 0) {
return responseData.getParameters()[0];
}
}
return builder.build();
}
示例9: mapTo
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
@Override
public void mapTo(Context context, RESTEasyBindingData target) throws Exception {
super.mapTo(context, target);
Map<String, List<String>> httpHeaders = target.getHeaders();
httpHeaders.put("Access-Control-Allow-Origin", Arrays.asList("http://localhost:18080"));
}
示例10: invoke
import org.switchyard.component.resteasy.composer.RESTEasyBindingData; //导入依赖的package包/类
/**
* Invokes the JAX-RS method.
*
* @param exchange SwitchYard exchange
* @param args the method arguments
* @param headers the HTTP headers to be set on the request
* @return the method's response entity and headers wrapped in RESTEasyBindingData
*/
RESTEasyBindingData invoke(Exchange exchange, Object[] args, MultivaluedMap<String, String> headers);