/* * Copyright (C) 2003-2011 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * 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, see<http://www.gnu.org/licenses/>. */ package org.exoplatform.wiki.service.search; import javax.jcr.Node; import javax.jcr.PathNotFoundException; import org.chromattic.api.NoSuchNodeException; import org.chromattic.api.UndeclaredRepositoryException; import org.exoplatform.container.ExoContainerContext; import org.exoplatform.portal.config.model.PortalConfig; import org.exoplatform.services.jcr.ext.common.SessionProvider; import org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator; import org.exoplatform.wiki.mow.api.WikiNodeType; import org.exoplatform.wiki.utils.Utils; /** * Created by The eXo Platform SAS * Author : Lai Trung Hieu * hieu.lai@exoplatform.com * 28 Jan 2011 */ public class SearchData { public String text; public String title; public String content; public String wikiType; public String wikiOwner; public String pageId; public String jcrQueryPath; public static final String ALL_PATH = "%/"; protected static String PORTAL_PATH = "/exo:applications/" + WikiNodeType.Definition.WIKI_APPLICATION + "/" + WikiNodeType.Definition.WIKIS + "/%/"; protected static String GROUP_PATH = "/Groups/%/ApplicationData/" + WikiNodeType.Definition.WIKI_APPLICATION + "/"; protected String USER_PATH = "/Users/%/ApplicationData/" + WikiNodeType.Definition.WIKI_APPLICATION + "/"; public SearchData(String text, String title, String content, String wikiType, String wikiOwner, String pageId) { this.text = text; this.title = title; this.content = content; this.wikiType = wikiType; this.wikiOwner = Utils.validateWikiOwner(wikiType, wikiOwner); this.pageId = pageId; if (PortalConfig.USER_TYPE.equals(wikiType)) { NodeHierarchyCreator nodeHierachyCreator = (NodeHierarchyCreator) ExoContainerContext.getCurrentContainer() .getComponentInstanceOfType(NodeHierarchyCreator.class); try { if (wikiOwner != null && wikiOwner.length() > 0) { Node userNode = nodeHierachyCreator.getUserApplicationNode(SessionProvider.createSystemProvider(), wikiOwner); USER_PATH = userNode.getPath() + "/" + WikiNodeType.Definition.WIKI_APPLICATION + "/"; } } catch (Exception e) { if (e instanceof PathNotFoundException) throw new NoSuchNodeException(e); else throw new UndeclaredRepositoryException(e.getMessage()); } } } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getWikiType() { return wikiType; } public void setWikiType(String wikiType) { this.wikiType = wikiType; } public String getWikiOwner() { return wikiOwner; } public void setWikiOwner(String wikiOwner) { this.wikiOwner = wikiOwner; } public String getPageId() { return pageId; } public void setPageId(String pageId) { this.pageId = pageId; } public String getJcrQueryPath() { return jcrQueryPath; } public void setJcrQueryPath(String jcrQueryPath) { this.jcrQueryPath = jcrQueryPath; } public String getStatement() { return null; } }