CCM NG: Entities for org.libreccm.formbuilder

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3429 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2015-05-26 11:30:35 +00:00
parent ae01470ca3
commit c05c7b20e1
7 changed files with 875 additions and 0 deletions

View File

@ -0,0 +1,101 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_data_driven_selects")
public class DataDrivenSelect extends Widget implements Serializable {
private static final long serialVersionUID = -4477753441663454661L;
@Column(name = "multiple")
private boolean multiple;
@Column(name = "query")
private String query;
public boolean isMultiple() {
return multiple;
}
public void setMultiple(final boolean multiple) {
this.multiple = multiple;
}
public String getQuery() {
return query;
}
public void setQuery(final String query) {
this.query = query;
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 41 * hash + (multiple ? 1 : 0);
hash = 41 * hash + Objects.hashCode(query);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final DataDrivenSelect other = (DataDrivenSelect) obj;
if (!other.canEqual(this)) {
return false;
}
if (multiple != other.isMultiple()) {
return false;
}
return Objects.equals(query, other.getQuery());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof DataDrivenSelect;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", multiple = %b,"
+ "query = \"%s\"%s",
multiple,
query,
data));
}
}

View File

@ -0,0 +1,115 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.hibernate.annotations.CollectionId;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_formsections")
public class FormSection extends Component implements Serializable {
private static final long serialVersionUID = -3195157282292906945L;
@Column(name = "formsection_action")
private String action;
@OneToMany(mappedBy = "formSection")
private List<ProcessListener> processListeners;
public FormSection() {
super();
processListeners = new ArrayList<>();
}
public String getAction() {
return action;
}
public void setAction(final String action) {
this.action = action;
}
public List<ProcessListener> getProcessListeners() {
return Collections.unmodifiableList(processListeners);
}
protected void setProcessListeners(
final List<ProcessListener> processListeners) {
this.processListeners = processListeners;
}
protected void addProcessListener(final ProcessListener listener) {
processListeners.add(listener);
}
protected void removeListener(final ProcessListener listener) {
processListeners.remove(listener);
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 29 * hash + Objects.hashCode(action);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final FormSection other = (FormSection) obj;
if (!other.canEqual(this)) {
return false;
}
return Objects.equals(action, other.getAction());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof FormSection;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", action = \"%s\"%s",
action,
data));
}
}

View File

@ -0,0 +1,137 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.libreccm.core.CcmObject;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = " formbuilder_metaobjects")
public class MetaObject extends CcmObject implements Serializable {
private static final long serialVersionUID = -3770682858640493776L;
@Column(name = "pretty_name")
private String prettyName;
@Column(name = "pretty_plural")
private String prettyPlural;
@Column(name = "class_name")
private String className;
@Column(name = "properties_form")
private String propertiesForm;
public String getPrettyName() {
return prettyName;
}
public void setPrettyName(final String prettyName) {
this.prettyName = prettyName;
}
public String getPrettyPlural() {
return prettyPlural;
}
public void setPrettyPlural(final String prettyPlural) {
this.prettyPlural = prettyPlural;
}
public String getClassName() {
return className;
}
public void setClassName(final String className) {
this.className = className;
}
public String getPropertiesForm() {
return propertiesForm;
}
public void setPropertiesForm(final String propertiesForm) {
this.propertiesForm = propertiesForm;
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 37 * hash + Objects.hashCode(prettyName);
hash = 37 * hash + Objects.hashCode(prettyPlural);
hash = 37 * hash + Objects.hashCode(className);
hash = 37 * hash + Objects.hashCode(propertiesForm);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final MetaObject other = (MetaObject) obj;
if (!other.canEqual(this)) {
return false;
}
if (!Objects.equals(prettyName, other.getPrettyName())) {
return false;
}
if (!Objects.equals(prettyPlural, other.getPrettyPlural())) {
return false;
}
if (!Objects.equals(className, other.getClassName())) {
return false;
}
return Objects.equals(propertiesForm, other.getPropertiesForm());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof MetaObject;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", prettyName = \"%s\", "
+ "prettyPlural = \"%s\", "
+ "className = \"%s\", "
+ "propertiesForm = \"%s\"%s",
prettyName,
prettyPlural,
className,
propertiesForm,
data));
}
}

View File

@ -0,0 +1,103 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.libreccm.core.CcmObject;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_object_types")
public class ObjectType extends CcmObject implements Serializable {
private static final long serialVersionUID = 5236718507025096569L;
@Column(name = "app_name")
private String appName;
@Column(name = "class_name")
private String className;
public String getAppName() {
return appName;
}
public void setAppName(final String appName) {
this.appName = appName;
}
public String getClassName() {
return className;
}
public void setClassName(final String className) {
this.className = className;
}
@Override
public int hashCode() {
int hash = 7;
hash = 61 * hash + Objects.hashCode(appName);
hash = 61 * hash + Objects.hashCode(className);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ObjectType other = (ObjectType) obj;
if (!canEqual(this)) {
return false;
}
if (!Objects.equals(appName, other.getAppName())) {
return false;
}
return Objects.equals(className, other.getClassName());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof ObjectType;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", appName = \"%s\", "
+ "className = \"%s\"%s",
appName,
className,
data));
}
}

View File

@ -0,0 +1,111 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.libreccm.l10n.LocalizedString;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.AssociationOverride;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_options")
public class Option extends Component implements Serializable {
private static final long serialVersionUID = -7528058391772415511L;
@Column(name = "parameter_value")
private String parameterValue;
@AssociationOverride(name = "values",
joinTable = @JoinTable(name
= "formbuilder_option_labels",
joinColumns = {
@JoinColumn(name
= "option_id")}))
private LocalizedString label;
public String getParameterValue() {
return parameterValue;
}
public void setParameterValue(final String parameterValue) {
this.parameterValue = parameterValue;
}
public LocalizedString getLabel() {
return label;
}
public void setLabel(final LocalizedString label) {
this.label = label;
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 67 * hash + Objects.hashCode(parameterValue);
hash = 67 * hash + Objects.hashCode(label);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Option other = (Option) obj;
if (!other.canEqual(this)) {
return false;
}
if (!Objects.equals(parameterValue, other.getParameterValue())) {
return false;
}
return Objects.equals(label, other.getLabel());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof Option;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", parameterValue = \"%s\", "
+ "label = %s%s",
parameterValue,
Objects.toString(label),
data));
}
}

View File

@ -0,0 +1,136 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.libreccm.core.CcmObject;
import org.libreccm.l10n.LocalizedString;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.AssociationOverride;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_data_queries")
public class PersistentDataQuery extends CcmObject implements Serializable {
private static final long serialVersionUID = -7344153915501267752L;
@Column(name = "query_id")
private String queryId;
@AssociationOverride(
name = "values",
joinTable = @JoinTable(name
= "formbuilder_data_query_names",
joinColumns = {
@JoinColumn(name
= "data_query_id")}))
private LocalizedString name;
@AssociationOverride(
name = "values",
joinTable = @JoinTable(name
= "formbuilder_data_query_descriptions",
joinColumns = {
@JoinColumn(name
= "data_query_id")}))
private LocalizedString description;
public String getQueryId() {
return queryId;
}
public void setQueryId(final String queryId) {
this.queryId = queryId;
}
public LocalizedString getName() {
return name;
}
public void setName(final LocalizedString name) {
this.name = name;
}
public LocalizedString getDescription() {
return description;
}
public void setDescription(final LocalizedString description) {
this.description = description;
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 23 * hash + Objects.hashCode(queryId);
hash = 23 * hash + Objects.hashCode(name);
hash = 23 * hash + Objects.hashCode(description);
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final PersistentDataQuery other = (PersistentDataQuery) obj;
if (!other.canEqual(this)) {
return false;
}
if (!Objects.equals(queryId, other.getQueryId())) {
return false;
}
if (!Objects.equals(name, other.getName())) {
return false;
}
return Objects.equals(description, other.getDescription());
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof PersistentDataQuery;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", queryId = \"%s\", "
+ "name = %s, "
+ "description = %s%s",
queryId,
Objects.toString(name),
Objects.toString(description),
data));
}
}

View File

@ -0,0 +1,172 @@
/*
* Copyright (C) 2015 LibreCCM Foundation.
*
* This library 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 library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.libreccm.formbuilder;
import org.libreccm.core.CcmObject;
import org.libreccm.l10n.LocalizedString;
import java.io.Serializable;
import java.util.Objects;
import javax.persistence.AssociationOverride;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Entity
@Table(name = "formbuilder_process_listeners")
public class ProcessListener extends CcmObject implements Serializable {
private static final long serialVersionUID = -3029184333026605708L;
@AssociationOverride(
name = "values",
joinTable = @JoinTable(name
= "formbuilder_process_listener_names",
joinColumns = {
@JoinColumn(name
= "process_listener_id")}))
private LocalizedString name;
@AssociationOverride(
name = "values",
joinTable = @JoinTable(name
= "formbuilder_process_listener_descriptions",
joinColumns = {
@JoinColumn(name
= "process_listener_id")}))
private LocalizedString description;
@Column(name = "listener_class")
private String listenerClass;
@ManyToOne
private FormSection formSection;
@Column(name = "process_listener_order")
private long order;
public LocalizedString getName() {
return name;
}
public void setName(final LocalizedString name) {
this.name = name;
}
public LocalizedString getDescription() {
return description;
}
public void setDescription(final LocalizedString description) {
this.description = description;
}
public String getListenerClass() {
return listenerClass;
}
public void setListenerClass(final String listenerClass) {
this.listenerClass = listenerClass;
}
public FormSection getFormSection() {
return formSection;
}
protected void setFormSection(final FormSection formSection) {
this.formSection = formSection;
}
public long getOrder() {
return order;
}
public void setOrder(final long order) {
this.order = order;
}
@Override
public int hashCode() {
int hash = super.hashCode();
hash = 37 * hash + Objects.hashCode(name);
hash = 37 * hash + Objects.hashCode(description);
hash = 37 * hash + Objects.hashCode(listenerClass);
hash = 37 * hash + Objects.hashCode(formSection);
hash = 37 * hash + (int) (order ^ (order >>> 32));
return hash;
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ProcessListener other = (ProcessListener) obj;
if (!other.canEqual(this)) {
return false;
}
if (!Objects.equals(name, other.getName())) {
return false;
}
if (!Objects.equals(description, other.getDescription())) {
return false;
}
if (!Objects.equals(listenerClass, other.getListenerClass())) {
return false;
}
if (!Objects.equals(formSection, other.getFormSection())) {
return false;
}
return order == other.getOrder();
}
@Override
public boolean canEqual(final Object obj) {
return obj instanceof ProcessListener;
}
@Override
public String toString(final String data) {
return super.toString(String.format(", name = %s, "
+ "description = %s, "
+ "listenerClass = \"%s\", "
+ "formSection = %s, "
+ "order = %d%s",
Objects.toString(name),
Objects.toString(description),
listenerClass,
Objects.toString(formSection),
order,
data));
}
}