All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jp.go.nict.langrid.cosee.AppAuthEndpointRewriter Maven / Gradle / Ivy

Go to download

Service container including JSON-RPC handler for the Service Grid Server Software and java web services.

There is a newer version: 1.1.3
Show newest version
/*
 * $Id: AppAuthEndpointRewriter.java 1364 2014-12-29 05:25:10Z t-nakaguchi $
 *
 * This is a program for Language Grid Core Node. This combines multiple language resources and provides composite language services.
 * Copyright (C) 2010 NICT Language Grid Project.
 *
 * This program is free software: you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation, either version 2.1 of the License, or (at 
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 
 * General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License 
 * along with this program. If not, see .
 */
package jp.go.nict.langrid.cosee;

import java.net.URI;
import java.util.Map;

import jp.go.nict.langrid.commons.ws.ServiceContext;

/**
 * 
 * 
 * @author $Author: t-nakaguchi $
 * @version $Revision: 1364 $
 */
public class AppAuthEndpointRewriter extends AbstractEndpointRewriter{
	@Override
	public void extractProperties(
			ServiceContext serviceContext
			, Map properties){
		super.extractProperties(serviceContext, properties);
		properties.put(prefix + ".key", serviceContext.getInitParameter("langrid.appAuthKey"));
		properties.put(prefix + ".userId", serviceContext.getAuthUser());
	}

	@Override
	public Endpoint rewrite(
			Endpoint original, Map properties
			, URI processNamespace, String partnerLinkName, URI serviceNamespace
			)
	{
		if(original.getUserName() != null && original.getUserName().length() > 0) return original;
		String key = (String)properties.get(prefix + ".key");
		String userId = (String)properties.get(prefix + ".userId");
		if(key == null || userId == null) return original;
		Endpoint ep = new Endpoint(
				original.getServiceId()
				, original.getAddress(), key, userId
				);
		ep.setProtocol(original.getProtocol());
		return ep;
	}

	private static String prefix = AppAuthEndpointRewriter.class.getName();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy