package org.exoplatform.faq.webui.viewer;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.faq.service.FAQService;
import org.exoplatform.resolver.ResourceResolver;

public class FAQResourceResolver extends ResourceResolver {

  @Override
  public InputStream getInputStream(String url) throws Exception {
    ExoContainer container = ExoContainerContext.getCurrentContainer();
    FAQService faqService = (FAQService) container.getComponentInstanceOfType(FAQService.class);
    byte[] data = faqService.getTemplate();
    return new ByteArrayInputStream(data);
  }

  @Override
  public List<InputStream> getInputStreams(String url) throws Exception {
    ArrayList<InputStream> inputStreams = new ArrayList<InputStream>(1);
    inputStreams.add(getInputStream(url));
    return inputStreams;
  }

  @Override
  public URL getResource(String arg0) throws Exception {
    throw new Exception("This method is not  supported");
  }

  @Override
  public String getResourceScheme() {
    return "jcr:";
  }

  @Override
  public List<URL> getResources(String arg0) throws Exception {
    throw new Exception("This method is not  supported");
  }

  @Override
  public boolean isModified(String arg0, long arg1) {
    return false;
  }

}
