/*******************************************************************************
* Copyright (c) 2012 IBM Corporation.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v. 1.0 which accompanies this distribution.
*
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
*
* Keith Wells - initial API and implementation
* Sam Padgett - initial API and Implementation
* Jim Conallen - initial API and implementation
*
*******************************************************************************/
package org.eclipse.lyo.samples.sharepoint.adapter;
import java.io.IOException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.lyo.samples.sharepoint.Library;
import org.eclipse.lyo.samples.sharepoint.SharepointConnector;
import org.eclipse.lyo.samples.sharepoint.util.AcceptType;
//import jbugz.base.Product;
//import jbugz.rpc.GetAccessibleProducts;
//import jbugz.rpc.GetProducts;
/**
* OSLC CM Change Request Service
*/
public class ServiceProviderCatalogService extends HttpServlet {
private static final long serialVersionUID = -5280734755943517104L;
public ServiceProviderCatalogService() {
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
System.err.println("Catalog Service.doGET Accept: " + request.getHeader("Accept"));
final String dispatchTo;
if (AcceptType.willAccept("text/html", request) && SharepointInitializer.isProvideHtml()) {
dispatchTo = "/sharepoint/serviceprovidercatalog_html.jsp";
} else if (AcceptType.willAccept("application/rdf+xml", request) ||
AcceptType.willAccept("application/xml", request)) {
dispatchTo = "/sharepoint/serviceprovidercatalog_rdfxml.jsp";
} else {
response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
return;
}
final SharepointConnector sc = SharepointInitializer.getSharepointConnector();
request.setAttribute("sharepointUri", SharepointInitializer.getSharepointUri());
List<Library> libraries = sc.getLibraries();
request.setAttribute("libraries", libraries);
response.setHeader("OSLC-Core-Version", "2.0");
final RequestDispatcher rd = request.getRequestDispatcher(dispatchTo);
rd.forward(request, response);
response.flushBuffer();
} catch (Throwable e) {
throw new ServletException(e);
}
}
}