/* * Copyright (c) 2011 Lockheed Martin Corporation * * 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.eurekastreams.server.persistence.mappers.debug; import java.io.PrintWriter; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonGenerator; import org.eurekastreams.server.persistence.mappers.DomainMapper; /** * Debugging mapper that dumps the request to standard output. * * @param <TRequestType> * Request type. * @param <TReturnType> * Return type. */ public class DebugDisplayRequestMapper<TRequestType, TReturnType> implements DomainMapper<TRequestType, TReturnType> { /** JSON Factory for building JSON Generators. */ private final JsonFactory jsonFactory; /** * Constructor. * * @param inJsonFactory * JSON Factory for building JSON Generators. */ public DebugDisplayRequestMapper(final JsonFactory inJsonFactory) { jsonFactory = inJsonFactory; } /** * {@inheritDoc} */ @Override public TReturnType execute(final TRequestType inRequest) { if (inRequest == null) { System.out.println("DebugDisplayRequestMapper: null request"); return null; } System.out.println("DebugDisplayRequestMapper: " + inRequest.getClass().getName()); PrintWriter writer = new PrintWriter(System.out); try { JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(writer); jsonGenerator.writeObject(inRequest); } catch (Exception ex) { System.out.println("Error converting request to JSON"); ex.printStackTrace(); } writer.flush(); System.out.println(); return null; } }