Package org.apache.juddi.portlets.server.service

Source Code of org.apache.juddi.portlets.server.service.InquiryServiceImpl

/*
* Copyright 2001-2009 The Apache Software Foundation.
*
* Licensed 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.juddi.portlets.server.service;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.juddi.portlets.client.model.Business;
import org.apache.juddi.portlets.client.model.Service;
import org.apache.juddi.portlets.client.model.ServiceBinding;
import org.apache.juddi.portlets.client.service.InquiryResponse;
import org.apache.juddi.portlets.client.service.InquiryService;
import org.apache.juddi.portlets.client.service.SearchResponse;
import org.apache.juddi.v3.client.config.WebHelper;
import org.apache.juddi.v3.client.i18n.EntityForLang;
import org.apache.juddi.v3.client.transport.Transport;
import org.apache.log4j.Logger;
import org.uddi.api_v3.BindingTemplate;
import org.uddi.api_v3.BusinessDetail;
import org.uddi.api_v3.BusinessEntity;
import org.uddi.api_v3.BusinessService;
import org.uddi.api_v3.GetBusinessDetail;
import org.uddi.api_v3.GetServiceDetail;
import org.uddi.api_v3.GetTModelDetail;
import org.uddi.api_v3.ServiceDetail;
import org.uddi.api_v3.TModel;
import org.uddi.api_v3.TModelDetail;
import org.uddi.v3_service.UDDIInquiryPortType;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
/**
*
* @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
*
*/
public class InquiryServiceImpl extends RemoteServiceServlet implements InquiryService {

  private static final long serialVersionUID = 8509627428299232161L;
  private Logger logger = Logger.getLogger(this.getClass());
 
  public InquiryServiceImpl() {
    super();
   
  }

  public SearchResponse queryJUDDI(String query) {
    HttpServletRequest request = this.getThreadLocalRequest();
    HttpSession session = request.getSession();
    SearchResponse response = new SearchResponse();
     try {
       Transport transport = WebHelper.getTransport(session.getServletContext());
       UDDIInquiryPortType inquiryService = transport.getUDDIInquiryService();
       org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService uis =
         new org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService();
            String reply = uis.inquire(inquiryService, query);
            response.setMessage(reply);
            response.setSuccess(true);         
       } catch (Exception e) {
         logger.error("Could not obtain token. " + e.getMessage(), e);
         response.setSuccess(false);
         response.setMessage(e.getMessage());
         response.setErrorCode("102");
       catch (Throwable t) {
         logger.error("Could not obtain token. " + t.getMessage(), t);
         response.setSuccess(false);
         response.setMessage(t.getMessage());
         response.setErrorCode("102");
       }
     return response;
  }
 
  public InquiryResponse getTModelDetail(String authToken, String tModelKey)
  {
    HttpServletRequest request = this.getThreadLocalRequest();
    HttpSession session = request.getSession();
    GetTModelDetail getTModelDetail = new GetTModelDetail();
    getTModelDetail.setAuthInfo(authToken);
    getTModelDetail.getTModelKey().add(tModelKey);
    InquiryResponse response = new InquiryResponse();
    logger.debug("TModelDetail " + getTModelDetail + " sending tmodelDetail request..");
    Map<String,String> tmodelDetailMap = new HashMap<String,String>();
    try {
       Transport transport = WebHelper.getTransport(session.getServletContext());
           UDDIInquiryPortType inquiryService = transport.getUDDIInquiryService();
           TModelDetail tmodelDetail = inquiryService.getTModelDetail(getTModelDetail);
           //demo code fix up what to return for real.
           for (TModel tmodel : tmodelDetail.getTModel()) {
             tmodelDetailMap.put("name",tmodel.getName().getValue());
       }
           response.setSuccess(true);
          
       } catch (Exception e) {
         logger.error("Could not obtain token. " + e.getMessage(), e);
         response.setSuccess(false);
         response.setMessage(e.getMessage());
         response.setErrorCode("102");
       catch (Throwable t) {
         logger.error("Could not obtain token. " + t.getMessage(), t);
         response.setSuccess(false);
         response.setMessage(t.getMessage());
         response.setErrorCode("102");
       }
     return response;
  }
 
  public InquiryResponse getBusinessDetail(String authToken, String businessKey)
  {
    HttpServletRequest request = this.getThreadLocalRequest();
    HttpSession session = request.getSession();
    String lang = request.getLocale().getLanguage();
   
    GetBusinessDetail getBusinessDetail = new GetBusinessDetail();
    getBusinessDetail.setAuthInfo(authToken);
    getBusinessDetail.getBusinessKey().add(businessKey);
    InquiryResponse response = new InquiryResponse();
    logger.debug("BusinessDetail " + getBusinessDetail + " sending businessDetail request..");
    try {
       Transport transport = WebHelper.getTransport(session.getServletContext());
           UDDIInquiryPortType inquiryService = transport.getUDDIInquiryService();
           BusinessDetail businessDetail = inquiryService.getBusinessDetail(getBusinessDetail);
           for (BusinessEntity businessEntity : businessDetail.getBusinessEntity()) {
             Business business = new Business(
                 businessEntity.getBusinessKey(),
                 EntityForLang.getName(businessEntity.getName(),lang).getValue(),
                 EntityForLang.getDescription(businessEntity.getDescription(),lang).getValue());
             if (businessEntity.getBusinessServices()!=null) {
               for (BusinessService businessService : businessEntity.getBusinessServices().getBusinessService()) {
                 Service service = new Service(
                     businessService.getServiceKey(),
                     EntityForLang.getName(businessService.getName(),lang).getValue(),
                     EntityForLang.getDescription(businessService.getDescription(),lang).getValue());
                 business.getServices().add(service);
               }
             }
             //for (Contact contact : businessEntity.getContacts().getContact()) {
               //contact.get
             //}
             response.setBusiness(business);
       }
          
           response.setSuccess(true);
       } catch (Exception e) {
         logger.error("Could not obtain token. " + e.getMessage(), e);
         response.setSuccess(false);
         response.setMessage(e.getMessage());
         response.setErrorCode("102");
       catch (Throwable t) {
         logger.error("Could not obtain token. " + t.getMessage(), t);
         response.setSuccess(false);
         response.setMessage(t.getMessage());
         response.setErrorCode("102");
       }
     return response;
  }
 
  public InquiryResponse getServiceDetail(String authToken, String serviceKey)
  {
    HttpServletRequest request = this.getThreadLocalRequest();
    HttpSession session = request.getSession();
    String lang = request.getLocale().getLanguage();
 
    GetServiceDetail getServiceDetail = new GetServiceDetail();
    getServiceDetail.setAuthInfo(authToken);
    getServiceDetail.getServiceKey().add(serviceKey);
    InquiryResponse response = new InquiryResponse();
    logger.debug("ServiceDetail " + getServiceDetail + " sending serviceDetail request..");
    try {
       Transport transport = WebHelper.getTransport(session.getServletContext());
           UDDIInquiryPortType inquiryService = transport.getUDDIInquiryService();
           ServiceDetail serviceDetail = inquiryService.getServiceDetail(getServiceDetail);
           for (BusinessService businessService : serviceDetail.getBusinessService()) {
             Service service = new Service(
                 businessService.getServiceKey(),
                 EntityForLang.getName(businessService.getName(),lang).getValue(),
                 EntityForLang.getDescription(businessService.getDescription(),lang).getValue());
             for (BindingTemplate bindingTemplate : businessService.getBindingTemplates().getBindingTemplate()) {
               ServiceBinding serviceBinding = new ServiceBinding(
                   bindingTemplate.getBindingKey(),
                   bindingTemplate.getAccessPoint().getValue(),
                   EntityForLang.getDescription(bindingTemplate.getDescription(),lang).getValue(),
                   bindingTemplate.getAccessPoint().getUseType());
               service.getServiceBindings().add(serviceBinding);
             }
             response.setService(service);
       }
           response.setSuccess(true);
       } catch (Exception e) {
         logger.error("Could not obtain token. " + e.getMessage(), e);
         response.setSuccess(false);
         response.setMessage(e.getMessage());
         response.setErrorCode("102");
       catch (Throwable t) {
         logger.error("Could not obtain token. " + t.getMessage(), t);
         response.setSuccess(false);
         response.setMessage(t.getMessage());
         response.setErrorCode("102");
       }
     return response;
  }
}
TOP

Related Classes of org.apache.juddi.portlets.server.service.InquiryServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.