/* ********************************************************************
Licensed to Jasig under one or more contributor license
agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership.
Jasig licenses this file to you under the Apache License,
Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a
copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
package org.bedework.calsvc.jmx;
import org.bedework.calfacade.configs.SystemProperties;
import org.bedework.util.config.ConfInfo;
import org.bedework.util.config.ConfigBase;
import org.bedework.util.misc.ToString;
import java.util.List;
/** These are the system properties that the server needs to know about, either
* because it needs to apply these limits or just to report them to clients.
*
* @author douglm
*
*/
@ConfInfo(elementName = "system-properties",
type = "org.bedework.calfacade.configs.SystemProperties")
public class SystemPropertiesImpl extends ConfigBase<SystemPropertiesImpl>
implements SystemProperties {
/* Default time zone */
private String tzid;
private String tzServeruri;
/* The system id */
private String systemid;
private String rootUsers;
private String featureFlags;
private String userauthClass;
private String mailerClass;
private String admingroupsClass;
private String usergroupsClass;
private String adminContact;
/* ischedule service uri - null for no ischedule service */
private String ischeduleURI;
/* Free busy service uri - null for no freebusy service */
private String fburlServiceURI;
/* Web calendar service uri - null for no web calendar service */
private String webcalServiceURI;
/* CalWS SOAP web service uri - null for no service */
private String calSoapWsURI;
/* CalWS SOAP web service WSDL uri - null for no service */
private String calSoapWsWSDLURI;
private boolean timezonesByReference;
private String localeList;
private String eventregAdminToken;
private String eventregUrl;
private String cacheUrlPrefix;
private int autoKillMinutes;
private boolean suggestionEnabled;
private boolean workflowEnabled;
private String workflowRoot;
private boolean userSubscriptionsOnly;
private Integer vpollMaxItems;
private Integer vpollMaxActive;
private Integer vpollMaxVoters;
private List<String> syseventsProperties;
@Override
public void setTzid(final String val) {
tzid = val;
}
@Override
public String getTzid() {
return tzid;
}
@Override
public void setTzServeruri(final String val) {
tzServeruri = val;
}
@Override
public String getTzServeruri() {
return tzServeruri;
}
@Override
public void setSystemid(final String val) {
systemid = val;
}
@Override
public String getSystemid() {
return systemid;
}
@Override
public void setRootUsers(final String val) {
rootUsers = val;
}
@Override
public String getRootUsers() {
return rootUsers;
}
@Override
public void setFeatureFlags(final String val) {
featureFlags = val;
}
@Override
public String getFeatureFlags() {
return featureFlags;
}
@Override
public void setAdminContact(final String val) {
adminContact = val;
}
@Override
public String getAdminContact() {
return adminContact;
}
@Override
public void setIscheduleURI(final String val) {
ischeduleURI = val;
}
@Override
public String getIscheduleURI() {
return ischeduleURI;
}
@Override
public void setFburlServiceURI(final String val) {
fburlServiceURI = val;
}
@Override
public String getFburlServiceURI() {
return fburlServiceURI;
}
@Override
public void setWebcalServiceURI(final String val) {
webcalServiceURI = val;
}
@Override
public String getWebcalServiceURI() {
return webcalServiceURI;
}
@Override
public void setCalSoapWsURI(final String val) {
calSoapWsURI = val;
}
@Override
public String getCalSoapWsURI() {
return calSoapWsURI;
}
@Override
public void setCalSoapWsWSDLURI(final String val) {
calSoapWsWSDLURI = val;
}
@Override
public String getCalSoapWsWSDLURI() {
return calSoapWsWSDLURI;
}
@Override
public void setTimezonesByReference(final boolean val) {
timezonesByReference = val;
}
@Override
public boolean getTimezonesByReference() {
return timezonesByReference;
}
@Override
public void setUserauthClass(final String val) {
userauthClass = val;
}
@Override
public String getUserauthClass() {
return userauthClass;
}
@Override
public void setMailerClass(final String val) {
mailerClass = val;
}
@Override
public String getMailerClass() {
return mailerClass;
}
@Override
public void setAdmingroupsClass(final String val) {
admingroupsClass = val;
}
@Override
public String getAdmingroupsClass() {
return admingroupsClass;
}
@Override
public void setUsergroupsClass(final String val) {
usergroupsClass = val;
}
@Override
public String getUsergroupsClass() {
return usergroupsClass;
}
@Override
public void setLocaleList(final String val) {
localeList = val;
}
@Override
public String getLocaleList() {
return localeList;
}
@Override
public void setEventregAdminToken(final String val) {
eventregAdminToken = val;
}
@Override
public String getEventregAdminToken() {
return eventregAdminToken;
}
@Override
public void setEventregUrl(final String val) {
eventregUrl = val;
}
@Override
public String getEventregUrl() {
return eventregUrl;
}
@Override
public void setCacheUrlPrefix(final String val) {
cacheUrlPrefix = val;
}
@Override
public String getCacheUrlPrefix() {
return cacheUrlPrefix;
}
@Override
public void setAutoKillMinutes(final int val) {
autoKillMinutes = val;
}
@Override
public void setSuggestionEnabled(final boolean val) {
suggestionEnabled = val;
}
@Override
public boolean getSuggestionEnabled() {
return suggestionEnabled;
}
@Override
public void setWorkflowEnabled(final boolean val) {
workflowEnabled = val;
}
@Override
public boolean getWorkflowEnabled() {
return workflowEnabled;
}
@Override
public void setWorkflowRoot(final String val) {
workflowRoot = val;
}
@Override
public String getWorkflowRoot() {
return workflowRoot;
}
@Override
public void setUserSubscriptionsOnly(final boolean val) {
userSubscriptionsOnly = val;
}
@Override
public boolean getUserSubscriptionsOnly() {
return userSubscriptionsOnly;
}
@Override
public int getAutoKillMinutes() {
return autoKillMinutes;
}
@Override
public void setVpollMaxItems(final Integer val) {
vpollMaxItems = val;
}
@Override
public Integer getVpollMaxItems() {
return vpollMaxItems;
}
@Override
public void setVpollMaxActive(final Integer val) {
vpollMaxActive = val;
}
@Override
public Integer getVpollMaxActive() {
return vpollMaxActive;
}
@Override
public void setVpollMaxVoters(final Integer val) {
vpollMaxVoters = val;
}
@Override
public Integer getVpollMaxVoters() {
return vpollMaxVoters;
}
/* ====================================================================
* Object methods
* ==================================================================== */
@Override
public String toString() {
final ToString ts = new ToString(this);
ts.newLine();
ts.append("name", getName());
ts.append("tzid", getTzid());
ts.append("tzServeruri", getTzServeruri());
ts.append("systemid", getSystemid());
ts.newLine();
ts.newLine();
ts.append("userauthClass", getUserauthClass());
ts.newLine();
ts.append("mailerClass", getMailerClass());
ts.newLine();
ts.append("admingroupsClass", getAdmingroupsClass());
ts.newLine();
ts.append("usergroupsClass", getUsergroupsClass());
ts.newLine();
ts.append("localeList", getLocaleList());
ts.newLine();
ts.append("rootUsers", getRootUsers());
ts.append("autoKillMinutes", getAutoKillMinutes());
ts.append("workflowEnabled", getWorkflowEnabled());
ts.newLine();
ts.append("vpollMaxItems", getVpollMaxItems());
ts.append("vpollMaxActive", getVpollMaxActive());
ts.append("vpollMaxVoters", getVpollMaxVoters());
ts.append("syseventsProperties", getSyseventsProperties());
return ts.toString();
}
@Override
public SystemProperties cloneIt() {
final SystemPropertiesImpl clone = new SystemPropertiesImpl();
clone.setName(getName());
clone.setTzid(getTzid());
clone.setSystemid(getSystemid());
clone.setUserauthClass(getUserauthClass());
clone.setMailerClass(getMailerClass());
clone.setAdmingroupsClass(getAdmingroupsClass());
clone.setUsergroupsClass(getUsergroupsClass());
clone.setLocaleList(getLocaleList());
clone.setRootUsers(getRootUsers());
clone.setLocaleList(getLocaleList());
clone.setEventregAdminToken(getEventregAdminToken());
clone.setEventregUrl(getEventregUrl());
clone.setVpollMaxItems(getVpollMaxItems());
clone.setVpollMaxActive(getVpollMaxActive());
clone.setVpollMaxVoters(getVpollMaxVoters());
clone.setSyseventsProperties(getSyseventsProperties());
return clone;
}
@Override
public void setSyseventsProperties(final List<String> val) {
syseventsProperties = val;
}
@Override
@ConfInfo(collectionElementName = "syseventsProperty" ,
elementType = "java.lang.String")
public List<String> getSyseventsProperties() {
return syseventsProperties;
}
@Override
public void addSyseventsProperty(final String name,
final String val) {
setSyseventsProperties(addListProperty(getSyseventsProperties(),
name, val));
}
@Override
public String getSyseventsProperty(final String name) {
return getProperty(getSyseventsProperties(), name);
}
@Override
public void removeSyseventsProperty(final String name) {
removeProperty(getSyseventsProperties(), name);
}
@Override
public void setSyseventsProperty(final String name,
final String val) {
setSyseventsProperties(setListProperty(getSyseventsProperties(),
name, val));
}
}