/* * _____________________________________________________________________________ * * INAF - OATS National Institute for Astrophysics - Astronomical Observatory of * Trieste INAF - IA2 Italian Center for Astronomical Archives * _____________________________________________________________________________ * * Copyright (C) 2016 Istituto Nazionale di Astrofisica * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License Version 3 as published by the * Free Software Foundation. * * 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 General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package it.inaf.ia2.tsm.webapp; import java.io.IOException; import java.io.InputStream; import java.util.Scanner; import javax.faces.application.Resource; import javax.faces.application.ResourceHandler; import javax.faces.application.ResourceHandlerWrapper; import javax.faces.application.ResourceWrapper; /** * * @author Sonia Zorba */ public class TSMResourceHandlerWrapper extends ResourceHandlerWrapper { private final ResourceHandler wrapped; public TSMResourceHandlerWrapper(ResourceHandler wrapped) { this.wrapped = wrapped; } @Override public Resource createResource(String resourceName) { return createResource(resourceName, null, null); } @Override public Resource createResource(String resourceName, String libraryName) { return createResource(resourceName, libraryName, null); } @Override public Resource createResource(String resourceName, String libraryName, String contentType) { final Resource resource = super.createResource(resourceName, libraryName, contentType); if (resource == null) { return null; } return new ResourceWrapper() { @Override public String getRequestPath() { return super.getRequestPath() + "&v=" + Version.NUMBER; } @Override public Resource getWrapped() { return resource; } }; } @Override public ResourceHandler getWrapped() { return wrapped; } }