Package ch.entwine.weblounge.common.repository

Examples of ch.entwine.weblounge.common.repository.ContentRepository


    // This request handler can only be used with the prefix
    if (!path.startsWith(URI_PREFIX))
      return false;

    // Get hold of the content repository
    ContentRepository contentRepository = site.getContentRepository();
    if (contentRepository == null) {
      logger.warn("No content repository found for site '{}'", site);
      return false;
    } else if (contentRepository.isIndexing()) {
      logger.debug("Content repository of site '{}' is currently being indexed", site);
      DispatchUtils.sendServiceUnavailable(request, response);
      return true;
    }

    // Check if the request uri matches the special uri for previews. If so, try
    // to extract the id from the last part of the path. If not, check if there
    // is an image with the current path.
    ResourceURI resourceURI = null;
    Resource<?> resource = null;
    try {
      String id = null;
      String imagePath = null;

      String uriSuffix = StringUtils.chomp(path.substring(URI_PREFIX.length()), "/");
      uriSuffix = URLDecoder.decode(uriSuffix, "utf-8");

      // Check whether we are looking at a uuid or a url path
      if (uriSuffix.length() == UUID_LENGTH) {
        id = uriSuffix;
      } else if (uriSuffix.length() >= UUID_LENGTH) {
        int lastSeparator = uriSuffix.indexOf('/');
        if (lastSeparator == UUID_LENGTH && uriSuffix.indexOf('/', lastSeparator + 1) < 0) {
          id = uriSuffix.substring(0, lastSeparator);
          fileName = uriSuffix.substring(lastSeparator + 1);
        } else {
          imagePath = uriSuffix;
          fileName = FilenameUtils.getName(imagePath);
        }
      } else {
        imagePath = "/" + uriSuffix;
        fileName = FilenameUtils.getName(imagePath);
      }

      // Try to load the resource
      resourceURI = new ResourceURIImpl(null, site, imagePath, id);
      resource = contentRepository.get(resourceURI);
      if (resource == null) {
        logger.debug("No resource found at {}", resourceURI);
        return false;
      }
    } catch (ContentRepositoryException e) {
View Full Code Here


      DispatchUtils.sendBadRequest(request, response);
      return true;
    }

    // Load the content repository
    ContentRepository repository = site.getContentRepository();
    if (repository == null) {
      DispatchUtils.sendServiceUnavailable(request, response);
      return true;
    }

    // Create the search expression and the query
    SearchQuery q = new SearchQueryImpl(site);
    q.withText(true, queryString);
    q.withVersion(Resource.LIVE);
    q.withRececyPriority();
    q.withOffset(offset);
    q.withLimit(limit);
    q.withTypes(Page.TYPE);

    // Return the result
    SearchResult result = null;
    try {
      result = repository.find(q);
    } catch (ContentRepositoryException e) {
      logger.error("Error trying to access the content repository", e);
      throw new WebApplicationException(e);
    }
View Full Code Here

    }

    // We are about to render the action output in the composers of the target
    // page. This is why we have to make sure that this target page exists,
    // otherwise the user will get a 404.
    ContentRepository contentRepository = site.getContentRepository();
    if (contentRepository == null) {
      logger.warn("Content repository not available to read target page {}", target);
      return null;
    }

    // Does the page exist?
    page = (Page) contentRepository.get(target);
    if (page == null) {
      if (targetForced) {
        logger.warn("Output of search request is configured to render on non existing page {}", target);
        return null;
      }

      // Fall back to site homepage
      target = new PageURIImpl(site, "/");
      page = (Page) contentRepository.get(target);
      if (page == null) {
        logger.debug("Site {} has no homepage as fallback to render search result", site);
        return null;
      }
    }
View Full Code Here

    }

    // We are about to render the action output in the composers of the target
    // page. This is why we have to make sure that this target page exists,
    // otherwise the user will get a 404.
    ContentRepository contentRepository = site.getContentRepository();
    if (contentRepository == null) {
      logger.warn("Content repository not available to read target page for action '{}'", action, target);
      return null;
    }

    // Does the page exist?
    page = (Page) contentRepository.get(target);
    if (page == null) {
      if (targetForced) {
        logger.warn("Output of action '{}' is configured to render on non existing page {}", action, target);
        return null;
      }

      // Fall back to site homepage
      target = new PageURIImpl(site, "/");
      page = (Page) contentRepository.get(target);
      if (page == null) {
        logger.debug("Site {} has no homepage as fallback to render actions", site);
        return null;
      }
    }
View Full Code Here

   */
  public int doStartTag() throws JspException {
    super.doStartTag();

    try {
      ContentRepository repository = request.getSite().getContentRepository();
      if (repository == null) {
        logger.debug("Content repository is offline");
        response.invalidate();
        return SKIP_BODY;
      }
     
      ResourceURI pageURI = new PageURIImpl(request.getSite(), null, resourceid);
      Page page = (Page) repository.get(pageURI);
      if (page == null) {
        logger.warn("Unable to link to non-existing page {}", pageURI);
        return SKIP_BODY;
      }

View Full Code Here

    if (RequestUtils.isPrecompileRequest(request))
      return SKIP_BODY;

    Site site = request.getSite();

    ContentRepository repository = site.getContentRepository();
    if (repository == null) {
      logger.debug("Unable to load content repository for site '{}'", site);
      response.invalidate();
      throw new JspException();
    }

    // Create the image uri, either from the id or the path. If none is
    // specified, and we are not in jsp compilation mode, issue a warning
    ResourceURI uri = null;
    if (StringUtils.isNotBlank(imageId))
      uri = new ImageResourceURIImpl(site, null, imageId);
    if (uri == null && StringUtils.isNotBlank(imagePath))
      uri = new ImageResourceURIImpl(site, imagePath, null);
    if (uri == null && imageSubjects != null && imageSubjects.size() > 0) {
      SearchQuery query = new SearchQueryImpl(site);
      query.withVersion(Resource.LIVE);
      query.withTypes(ImageResource.TYPE);
      query.withSubjects(SearchQuery.Quantifier.All, imageSubjects.toArray(new String[imageSubjects.size()]));
      SearchResult result;
      try {
        result = repository.find(query);
      } catch (ContentRepositoryException e) {
        logger.warn("Error searching for image with given subjects ({}): {}", StringUtils.join(imageSubjects, ", "), e.getMessage());
        return SKIP_BODY;
      }
      if (result.getHitCount() > 1)
        logger.warn("Search returned {} images for subjects '{}' on {}", new Object[] { result.getHitCount(), StringUtils.join(imageSubjects, ", "), request.getUrl() });
      if (result.getHitCount() > 0)
        uri = new ImageResourceURIImpl(site, null, result.getItems()[0].getId());
    }
    if (uri == null && StringUtils.isNotBlank(altImageId))
      uri = new ImageResourceURIImpl(site, null, altImageId);
    if (uri == null && StringUtils.isNotBlank(altImagePath))
      uri = new ImageResourceURIImpl(site, altImagePath, null);
    if (uri == null) {
      logger.debug("None of the several possibilities returned a valid image on {}", request.getUrl());
      return SKIP_BODY;
    }

    // Try to load the image from the content repository
    try {
      if (!repository.exists(uri)) {
        logger.warn("Non existing image {} requested on {}", uri, request.getUrl());
        return SKIP_BODY;
      }
    } catch (ContentRepositoryException e) {
      logger.error("Error trying to look up image {} from {}", imageId, repository);
      return SKIP_BODY;
    }

    ImageResource image = null;
    ImageContent imageContent = null;
    ImageStyle style = null;
    String linkToImage = null;
    int imageWidth = 0;
    int imageHeight = 0;

    // Try to determine the language
    Language language = request.getLanguage();

    // Load the content
    try {
      image = (ImageResource) repository.get(uri);
      if (image == null) {
        logger.warn("Non existing image {} requested on {}", uri, request.getUrl());
        return SKIP_BODY;
      }
      image.switchTo(language);
View Full Code Here

      return SKIP_BODY;

    Site site = request.getSite();
    Language language = request.getLanguage();

    ContentRepository repository = site.getContentRepository();
    if (repository == null) {
      logger.debug("Unable to load content repository for site '{}'", site);
      response.invalidate();
      return SKIP_BODY;
    }

    // Create the resource uri, either from the id or the path. If none is
    // specified, and we are not in jsp compilation mode, issue a warning
    ResourceURI uri = null;
    if (StringUtils.isNotBlank(videoId)) {
      uri = new MovieResourceURIImpl(site, null, videoId);
    } else if (StringUtils.isNotBlank(videoResourcePath)) {
      uri = new MovieResourceURIImpl(site, videoResourcePath);
    } else {
      throw new JspException("Neither video id nor video path were specified");
    }

    // Try to load the video resource from the content repository
    try {
      if (!repository.exists(uri)) {
        logger.warn("Non existing video resource {} requested on {}", uri, request.getUrl());
        return SKIP_BODY;
      }
    } catch (ContentRepositoryException e) {
      logger.error("Error trying to look up video resource {} from {}", videoId, repository);
      return SKIP_BODY;
    }

    MovieResource video = null;
    MovieContent videoContent = null;

    // Store the result in the jsp page context
    try {
      video = (MovieResource) repository.get(uri);
      video.switchTo(language);
      videoContent = video.getContent(language);
      if (videoContent == null)
        videoContent = video.getOriginalContent();
    } catch (ContentRepositoryException e) {
View Full Code Here

      pad("languages", buf.toString());
    }

    // Pages and revisions
    try {
      ContentRepository repository = site.getContentRepository();
      long pages = repository != null ? repository.getResourceCount() : -1;
      pad("pages", (pages >= 0 ? Long.toString(pages) : "n/a"));
      long revisions = repository != null ? repository.getVersionCount() : -1;
      pad("revisions", (revisions >= 0 ? Long.toString(revisions) : "n/a"));
    } catch (ContentRepositoryException e) {
      System.err.println("Error trying to access the content repository");
      e.printStackTrace(System.err);
    }
View Full Code Here

      System.err.println("Usage: site <id> inspect <url>|<id>");
      return;
    }

    // What are we looking at?
    ContentRepository repository = site.getContentRepository();
    Page page = null;

    // Is it a page?
    try {
      String objectId = args[0];
      // TODO: What if we hit a file or an image?
      if (objectId.startsWith("/"))
        page = (Page) repository.get(new PageURIImpl(site, args[0]));
      else
        page = (Page) repository.get(new PageURIImpl(site, null, args[0]));
      if (page != null) {
        title("page");
        pad("id", page.getURI().getIdentifier().toString());
        pad("path", page.getURI().getPath());
View Full Code Here

    // Build the search expression
    // TODO: Use AND?
    String text = StringUtils.join(args, " ");

    // Get hold of the content repository
    ContentRepository repository = site.getContentRepository();
    SearchQuery query = new SearchQueryImpl(site);
    query.withVersion(Resource.LIVE);
    query.withFulltext(text.toString());

    // Is it a page?
    Formatter formatter = null;
    try {
      SearchResult result = repository.find(query);

      // Format the output
      formatter = new Formatter(System.out);
      StringBuffer format = new StringBuffer();
      int padding = Long.toString(result.getDocumentCount()).length();
View Full Code Here

TOP

Related Classes of ch.entwine.weblounge.common.repository.ContentRepository

Copyright © 2018 www.massapicom. 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.