/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.cxf.systest.coloc;
import java.util.ResourceBundle;
import javax.xml.ws.Holder;
import org.apache.commons.logging.Log;
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.interceptor.Fault;
import org.apache.headers.coloc.types.FaultDetailT;
import org.apache.headers.coloc.types.HeaderInfo;
import org.apache.headers.coloc.types.InHeaderResponseT;
import org.apache.headers.coloc.types.InHeaderT;
import org.apache.headers.coloc.types.InoutHeaderResponseT;
import org.apache.headers.coloc.types.InoutHeaderT;
import org.apache.headers.coloc.types.OutHeaderResponseT;
import org.apache.headers.coloc.types.OutHeaderT;
import org.apache.headers.coloc.types.PingMeResponseT;
import org.apache.headers.coloc.types.PingMeT;
import org.apache.headers.rpc_lit.HeaderTester;
import org.apache.headers.rpc_lit.PingMeFault;
import static org.junit.Assert.assertEquals;
public class BaseHeaderTesterRpcLitImpl implements HeaderTester {
private Log logger;
public InHeaderResponseT inHeader(InHeaderT in, HeaderInfo header) {
getLogger().debug("Server: inHeader called");
assertEquals(HeaderTesterUtil.IN_REQUEST_TYPE, in.getRequestType());
assertEquals(HeaderTesterUtil.IN_MESSAGE, header.getMessage());
assertEquals(HeaderTesterUtil.IN_ORIGINATOR, header.getOriginator());
InHeaderResponseT inHeaderResponse = new InHeaderResponseT();
inHeaderResponse.setResponseType(HeaderTesterUtil.OUT_RESPONSE_TYPE);
return inHeaderResponse;
}
public InoutHeaderResponseT inoutHeader(InoutHeaderT in, Holder<HeaderInfo> header) {
getLogger().debug("Server: inoutHeader called");
assertEquals(HeaderTesterUtil.INOUT_REQUEST_TYPE_IN, in.getRequestType());
assertEquals(HeaderTesterUtil.INOUT_MESSAGE_IN, header.value.getMessage());
assertEquals(HeaderTesterUtil.INOUT_ORIGINATOR_IN, header.value.getOriginator());
HeaderInfo out = new HeaderInfo();
out.setMessage(HeaderTesterUtil.INOUT_MESSAGE_OUT);
out.setOriginator(HeaderTesterUtil.INOUT_ORIGINATOR_OUT);
header.value = out;
InoutHeaderResponseT inoutHeaderResponse = new InoutHeaderResponseT();
inoutHeaderResponse.setResponseType(HeaderTesterUtil.INOUT_REQUEST_TYPE_OUT);
return inoutHeaderResponse;
}
public void outHeader(OutHeaderT in, Holder<OutHeaderResponseT> out, Holder<HeaderInfo> header) {
getLogger().debug("Server: outHeader called");
assertEquals(HeaderTesterUtil.OUT_REQUEST_TYPE, in.getRequestType());
HeaderInfo outHeader = new HeaderInfo();
outHeader.setMessage(HeaderTesterUtil.OUT_MESSAGE_OUT);
outHeader.setOriginator(HeaderTesterUtil.OUT_ORIGINATOR_OUT);
header.value = outHeader;
OutHeaderResponseT resp = new OutHeaderResponseT();
resp.setResponseType(HeaderTesterUtil.OUT_RESPONSE_TYPE);
out.value = resp;
}
public PingMeResponseT pingMe(PingMeT in) throws PingMeFault {
String msgType = in.getFaultType();
getLogger().debug("Server: in pingMe:" + msgType);
if ("USER".equals(msgType)) {
FaultDetailT detail = new FaultDetailT();
detail.setMajor((short)1);
detail.setMinor((short)2);
throw new PingMeFault("USER FAULT TEST", detail);
} else if ("SYSTEM".equals(msgType)) {
throw new Fault(new Message(HeaderTesterUtil.EX_STRING,
(ResourceBundle)null,
new Object[]{"FAULT TEST"}));
} else if ("RUNTIME".equals(msgType)) {
throw new IllegalArgumentException(HeaderTesterUtil.EX_STRING);
}
return new PingMeResponseT();
}
public void init(Log log) {
logger = log;
}
protected Log getLogger() {
return logger;
}
}