Java tutorial
/* * Copyright Siemens AG, 2017. Part of the SW360 Portal Project. * * SPDX-License-Identifier: EPL-1.0 * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.eclipse.sw360.rest.resourceserver.user; import org.apache.thrift.TException; import org.apache.thrift.protocol.TCompactProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.THttpClient; import org.apache.thrift.transport.TTransportException; import org.eclipse.sw360.datahandler.thrift.users.User; import org.eclipse.sw360.datahandler.thrift.users.UserService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; @Service public class Sw360UserService { @Value("${sw360.thrift-server-url:http://localhost:8080}") private String thriftServerUrl; public List<User> getAllUsers() { try { UserService.Iface sw360UserClient = getThriftUserClient(); return sw360UserClient.getAllUsers(); } catch (TException e) { throw new RuntimeException(e); } } public User getUserByEmail(String email) { try { UserService.Iface sw360UserClient = getThriftUserClient(); return sw360UserClient.getByEmail(email); } catch (TException e) { throw new RuntimeException(e); } } public User getUser(String id) { try { UserService.Iface sw360UserClient = getThriftUserClient(); return sw360UserClient.getUser(id); } catch (TException e) { throw new RuntimeException(e); } } private UserService.Iface getThriftUserClient() throws TTransportException { THttpClient thriftClient = new THttpClient(thriftServerUrl + "/users/thrift"); TProtocol protocol = new TCompactProtocol(thriftClient); return new UserService.Client(protocol); } }