/* * Copyright (C) 2009 eXo Platform SAS. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.exoplatform.services.jcr.config; /** * Created by The eXo Platform SAS. * * @author <a href="mailto:geaz@users.sourceforge.net">Gennady Azarenkov </a> * @version $Id: $ * * Short repository info, does not include workspaces collection. * Tends to be extended with some workspaces collection info. * */ public class RepositoryInfo { protected String name; protected String systemWorkspaceName; protected String defaultWorkspaceName; protected String accessControl; protected String securityDomain; protected String authenticationPolicy; protected long sessionTimeOut; protected int lockRemoverMaxThreadCount; public RepositoryInfo() { } /** * @return the name */ public String getName() { return name; } /** * @param name */ public void setName(String name) { this.name = name; } /** * Get system workspace name. * * @return Returns the systemWorkspace. */ public String getSystemWorkspaceName() { return systemWorkspaceName; } /** * Set system workspace name. * * @param systemWorkspace * The systemWorkspace to set. */ public void setSystemWorkspaceName(String systemWorkspace) { this.systemWorkspaceName = systemWorkspace; } /** * Get Access control. * * @return Returns the accessControl. */ public String getAccessControl() { return accessControl; } /** * Set access control. * * @param accessControl * The accessControl to set. */ public void setAccessControl(String accessControl) { this.accessControl = accessControl; } /** * Get security domain. * * @return Returns the securityDomain. */ public String getSecurityDomain() { return securityDomain; } /** * Set security domain. * * @param securityDomain * The securityDomain to set. */ public void setSecurityDomain(String securityDomain) { this.securityDomain = securityDomain; } /** * Get authentication policy. * * @return Returns the authenticationPolicy. */ public String getAuthenticationPolicy() { return authenticationPolicy; } /** * Set authentication policy. * * @param authenticationPolicy * The authenticationPolicy to set. */ public void setAuthenticationPolicy(String authenticationPolicy) { this.authenticationPolicy = authenticationPolicy; } /** * Get default workspace name. * * @return Returns the defaultWorkspaceName. */ public String getDefaultWorkspaceName() { return defaultWorkspaceName; } /** * Set default workspace name. * * @param defaultWorkspaceName * The defaultWorkspaceName to set. */ public void setDefaultWorkspaceName(String defaultWorkspaceName) { this.defaultWorkspaceName = defaultWorkspaceName; } /** * @return session timeout in milliseconds */ public long getSessionTimeOut() { return sessionTimeOut; } /** * sets session timeout in milliseconds * @param sessionTimeOut */ public void setSessionTimeOut(long sessionTimeOut) { this.sessionTimeOut = sessionTimeOut; } /** * Returns LockRemovers per-repository max threads count. * @return LockRemovers per-repository max threads count */ public int getLockRemoverThreadsCount() { return lockRemoverMaxThreadCount; } /** * Sets LockRemovers per-repository max threads count. * @param lockRemoverMaxThreadCount */ public void setLockRemoverThreadsCount(int lockRemoverMaxThreadCount) { this.lockRemoverMaxThreadCount = lockRemoverMaxThreadCount; } /** * Merges the current {@link RepositoryInfo} with the given one. The current {@link RepositoryInfo} * has the highest priority thus only absent data will be overrode * @param entry the entry to merge with the current {@link RepositoryInfo} */ void merge(RepositoryInfo entry) { if (systemWorkspaceName == null) setSystemWorkspaceName(entry.systemWorkspaceName); if (defaultWorkspaceName == null) setDefaultWorkspaceName(entry.defaultWorkspaceName); if (accessControl == null) setAccessControl(entry.accessControl); if (securityDomain == null) setSecurityDomain(entry.securityDomain); if (authenticationPolicy == null) setAuthenticationPolicy(entry.authenticationPolicy); if (sessionTimeOut == 0) setSessionTimeOut(entry.sessionTimeOut); if (lockRemoverMaxThreadCount == 0) setLockRemoverThreadsCount(entry.lockRemoverMaxThreadCount); } }