/** * 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 cxf.server; import java.util.HashMap; import java.util.Map; import bank.common.Account; import bank.common.AccountAlreadyExistsException; import bank.common.AccountAlreadyExistsExceptionType; import bank.common.AccountNotFoundException; import bank.common.AccountNotFoundExceptionType; import bank.common.Bank; @javax.jws.WebService(portName = "BankCORBAPort", serviceName = "BankCORBAService", targetNamespace = "http://cxf.apache.org/schemas/cxf/idl/bank", wsdlLocation = "classpath:/wsdl/bank.wsdl", endpointInterface = "bank.common.Bank") public class BankImpl implements Bank { Map<String, Account> accounts = new HashMap<>(); public boolean createAccount(String name, javax.xml.ws.Holder<Account> account) throws AccountAlreadyExistsException { System.out.println("Creating account: " + name); boolean result = false; if (accounts.get(name) == null) { account.value = new Account(); account.value.setName(name); account.value.setBalance(100); accounts.put(name, account.value); result = true; } else { AccountAlreadyExistsExceptionType ex = new AccountAlreadyExistsExceptionType(); ex.setName(name); throw new AccountAlreadyExistsException("Account Already Exists", ex); } return result; } public Account getAccount(String name) throws AccountNotFoundException { System.out.println("Getting account: " + name); Account result = accounts.get(name); if (result == null) { AccountNotFoundExceptionType ex = new AccountNotFoundExceptionType(); ex.setName(name); throw new AccountNotFoundException("Account Not Found", ex); } return result; } }