/**
* 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.doc_lit.HeaderTester;
import org.apache.headers.doc_lit.PingMeFault;
import static org.junit.Assert.assertEquals;
public class BaseHeaderTesterDocLitImpl implements HeaderTester {
private Log logger;
public InHeaderResponseT inHeader(InHeaderT me, HeaderInfo headerInfo) {
getLogger().debug("Server: inHeader called");
assertEquals(HeaderTesterUtil.IN_REQUEST_TYPE, me.getRequestType());
assertEquals(HeaderTesterUtil.IN_MESSAGE, headerInfo.getMessage());
assertEquals(HeaderTesterUtil.IN_ORIGINATOR, headerInfo.getOriginator());
InHeaderResponseT inHeaderResponse = new InHeaderResponseT();
inHeaderResponse.setResponseType(HeaderTesterUtil.OUT_RESPONSE_TYPE);
return inHeaderResponse;
}
public InoutHeaderResponseT inoutHeader(InoutHeaderT me, Holder<HeaderInfo> headerInfo) {
getLogger().debug("Server: inoutHeader called");
assertEquals(HeaderTesterUtil.INOUT_REQUEST_TYPE_IN, me.getRequestType());
assertEquals(HeaderTesterUtil.INOUT_MESSAGE_IN, headerInfo.value.getMessage());
assertEquals(HeaderTesterUtil.INOUT_ORIGINATOR_IN, headerInfo.value.getOriginator());
HeaderInfo out = new HeaderInfo();
out.setMessage(HeaderTesterUtil.INOUT_MESSAGE_OUT);
out.setOriginator(HeaderTesterUtil.INOUT_ORIGINATOR_OUT);
headerInfo.value = out;
InoutHeaderResponseT inoutHeaderResponse = new InoutHeaderResponseT();
inoutHeaderResponse.setResponseType(HeaderTesterUtil.INOUT_REQUEST_TYPE_OUT);
return inoutHeaderResponse;
}
public void outHeader(OutHeaderT me, Holder<OutHeaderResponseT> theResponse,
Holder<HeaderInfo> headerInfo) {
getLogger().debug("Server: outHeader called");
assertEquals(HeaderTesterUtil.OUT_REQUEST_TYPE, me.getRequestType());
HeaderInfo out = new HeaderInfo();
out.setMessage(HeaderTesterUtil.OUT_MESSAGE_OUT);
out.setOriginator(HeaderTesterUtil.OUT_ORIGINATOR_OUT);
headerInfo.value = out;
OutHeaderResponseT resp = new OutHeaderResponseT();
resp.setResponseType(HeaderTesterUtil.OUT_RESPONSE_TYPE);
theResponse.value = resp;
}
public void pingMe(String msgType) throws PingMeFault {
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);
}
}
public void init(Log log) {
logger = log;
}
protected Log getLogger() {
return logger;
}
}