/* * Copyright (C) 2003-2008 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.ecm.webui.component.admin.folksonomy; import javax.jcr.Node; import org.exoplatform.ecm.webui.component.admin.UIECMAdminPortlet; import org.exoplatform.services.cms.folksonomy.NewFolksonomyService; import org.exoplatform.webui.config.annotation.ComponentConfig; import org.exoplatform.webui.core.UIContainer; import org.exoplatform.webui.core.UIPopupWindow; import org.exoplatform.webui.core.lifecycle.UIContainerLifecycle; /** * Created by The eXo Platform SARL * Author : Nguyen Anh Vu * anhvurz90@gmail.com * Dec 11, 2009 * 4:31:33 PM */ @ComponentConfig(lifecycle = UIContainerLifecycle.class) public class UITagManager extends UIContainer { public UITagManager() throws Exception { addChild(UITagStyleList.class, null, null); } public void refresh() throws Exception { update(); } public void update() throws Exception { getChild(UITagStyleList.class).refresh(1); } public void initTaggingFormPopup(Node selectedTagStyle) throws Exception { removeChildById("FolksonomyPopup") ; UIPopupWindow uiPopup = addChild(UIPopupWindow.class, null, "FolksonomyPopup") ; uiPopup.setShowMask(true); uiPopup.setWindowSize(600, 280) ; UITagStyleForm uiForm = createUIComponent(UITagStyleForm.class, null, null) ; uiForm.setTagStyle(selectedTagStyle) ; uiPopup.setUIComponent(uiForm) ; uiPopup.setRendered(true) ; uiPopup.setShow(true) ; uiPopup.setResizable(true) ; } public Node getSelectedTagStyle(String tagStyleName) throws Exception { NewFolksonomyService newFolksonomyService = getApplicationComponent(NewFolksonomyService.class) ; String repository = getAncestorOfType(UIECMAdminPortlet.class).getPreferenceRepository() ; String workspace = getAncestorOfType(UIECMAdminPortlet.class).getDMSSystemWorkspace(repository); for(Node tagStyle: newFolksonomyService.getAllTagStyle(workspace)) { if(tagStyle.getName().equals(tagStyleName)) return tagStyle ; } return null ; } }