/*************************************************************************** * Copyright (C) 2003-2009 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.services.cms.taxonomy; import java.util.ArrayList; import java.util.List; /** * Created by The eXo Platform SARL Author : Hoang Van Hung hunghvit@gmail.com * Apr 3, 2009 */ public class TaxonomyTreeData implements Comparable<TaxonomyTreeData> { private String taxoTreeName; private String repository; private String taxoTreeWorkspace; private String taxoTreePermissions; private String taxoTreeHomePath; private String taxoTreeActionName; private String taxoTreeActionTargetPath; private String taxoTreeActionTargetWorkspace; private String taxoTreeActionTypeName; private boolean edit = false; public static final String ACTION_TAXONOMY_TREE = "exo:taxonomyAction"; public TaxonomyTreeData() { } /** * @return the name of repository */ public String getRepository() { return repository; } /** * Register repository to drive * * @param rp repository name */ public void setRepository(String rp) { repository = rp; } /** * @return the permissions of drive */ public String getPermissions() { return this.taxoTreePermissions; } /** * Check the state of permission is existing or not * @param allPermissions the string array permission of drive * @param permission permission name * @return the state of permission is existing or not. */ public boolean hasPermission(String[] allPermissions, String permission) { List<String> permissionList = new ArrayList<String>(); for (String per : allPermissions) { permissionList.add(per.trim()); } if (permission == null) return false; if (permission.indexOf(":/") > -1) { String[] array = permission.split(":/"); if (array == null || array.length < 2) return false; if (permissionList.contains("*:/" + array[1])) return true; } return permissionList.contains(permission); } public int compareTo(TaxonomyTreeData arg) { return taxoTreeName.compareToIgnoreCase(arg.getTaxoTreeName()); } /** * Get taxonomy tree home path * @return taxoTreeHomePath */ public String getTaxoTreeHomePath() { return taxoTreeHomePath; } /** * Register home path to taxonomy Tree * @param taxoTreeHomePath the home path of drive */ public void setTaxoTreeHomePath(String taxoTreeHomePath) { this.taxoTreeHomePath = taxoTreeHomePath; } /** * get taxonomy tree name */ public String getTaxoTreeName() { return taxoTreeName; } /** * Register taxonomy tree name * @param taxoTreeName the name of taxonomy tree */ public void setTaxoTreeName(String taxoTreeName) { this.taxoTreeName = taxoTreeName; } public String getTaxoTreePermissions() { return taxoTreePermissions; } /** * Register permission to taxonomy tree * @param permission */ public void setTaxoTreePermissions(String permission) { this.taxoTreePermissions = permission; } /** * @return the name of workspace */ public String getTaxoTreeWorkspace() { return taxoTreeWorkspace; } /** * Register workspace to tree * @param taxoTreeWorkspace the workspace name */ public void setTaxoTreeWorkspace(String taxoTreeWorkspace) { this.taxoTreeWorkspace = taxoTreeWorkspace; } /** * Get action name of Taxonomy tree */ public String getTaxoTreeActionName() { return taxoTreeActionName; } /** * Set action name of Taxonomy tree * @param taxoTreeActionName */ public void setTaxoTreeActionName(String taxoTreeActionName) { this.taxoTreeActionName = taxoTreeActionName; } public String getTaxoTreeActionTypeName() { return taxoTreeActionTypeName; } public void setTaxoTreeActionTypeName(String taxoTreeActionTypeName) { this.taxoTreeActionTypeName = taxoTreeActionTypeName; } /** * Check data in edited state or not */ public boolean isEdit() { return edit; } /** * Set edit state * @param edit */ public void setEdit(boolean edit) { this.edit = edit; } }