blob: 8d946b5723fe98d2a82a1f2533bb80850f3e4f04 [file] [log] [blame]
/*
* 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 test.server;
import org.oasisopen.sca.annotation.Callback;
import org.oasisopen.sca.annotation.Service;
import test.client.CreditCardPaymentCallback;
import test.client.CreditCardPaymentCallbackSync;
import com.example.test.jaxb.server.CreditCardDetailsType;
import com.example.test.jaxws.server.AuthorizeFault;
import com.example.test.jaxws.server.CreditCardPayment;
/**
* Mocked implementation of CreditCardPayment
*/
@Service({CreditCardPayment.class, CreditCardPaymentRequestServer.class, CreditCardPaymentRequestServerSync.class})
public class CreditCardPaymentImpl implements CreditCardPayment, CreditCardPaymentRequestServer,
CreditCardPaymentRequestServerSync {
@Callback
protected CreditCardPaymentCallback callback;
@Callback
protected CreditCardPaymentCallbackSync callbackSync;
@Override
public void authorizeRequestOneway(CreditCardDetailsType creditCard, float amount) {
String status;
try {
status = authorize(creditCard, amount);
} catch (AuthorizeFault e) {
status = "FAIL: " + e.getFaultInfo().getErrorCode();
}
callback.authorizeResponseOneway(creditCard.getCreditCardNumber(), status);
}
@Override
public String authorizeRequest(CreditCardDetailsType creditCard, float amount) {
String status;
try {
status = authorize(creditCard, amount);
} catch (AuthorizeFault e) {
status = "FAIL: " + e.getFaultInfo().getErrorCode();
}
callbackSync.authorizeResponse(creditCard.getCreditCardNumber(), status);
return "ACK";
}
@Override
public String authorize(CreditCardDetailsType creditCard, float amount) throws AuthorizeFault {
if (creditCard != null) {
System.out.println("Checking card: name = " + creditCard.getCardOwner().getName()
+ " number = "
+ creditCard.getCreditCardNumber()
+ " for amount "
+ amount);
} else {
System.out.println("Checking card is null");
}
return "OK";
}
}