diff --git a/ccm-cms-types-article/pom.xml b/ccm-cms-types-article/pom.xml deleted file mode 100644 index 5a6f296b2..000000000 --- a/ccm-cms-types-article/pom.xml +++ /dev/null @@ -1,337 +0,0 @@ - - - - 4.0.0 - - - libreccm-parent - org.libreccm - 7.0.0-SNAPSHOT - - - - UTF-8 - ${maven.build.timestamp} - yyyy-MM-dd'T'HH:mm:ss'Z'Z - - - - org.librecms - ccm-cms-types-article - - LibreCMS Contenttype Article - - - - javax - javaee-api - jar - provided - - - - org.libreccm - ccm-core - ${project.parent.version} - provided - - - - org.librecms - ccm-cms - ${project.parent.version} - provided - - - - org.hibernate - hibernate-entitymanager - provided - - - - org.hibernate - hibernate-envers - provided - - - - org.hibernate - hibernate-validator - provided - - - org.hibernate - hibernate-validator-cdi - provided - - - - - junit - junit - test - - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - - org.libreccm - ccm-testutils - ${project.parent.version} - test - - - - nl.jqno.equalsverifier - equalsverifier - test - - - - org.jboss.arquillian.junit - arquillian-junit-container - test - - - org.jboss.arquillian.extension - arquillian-persistence-dbunit - test - - - org.jboss.arquillian.extension - arquillian-transaction-impl-base - test - - - org.jboss.shrinkwrap.resolver - shrinkwrap-resolver-impl-maven - test - - - - com.h2database - h2 - test - - - - - - ccm-cms-types-article - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.7 - 1.7 - true - true - ${project.build.sourceEncoding} - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - org.libreccm.tests.categories.UnitTest - - - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - default-prepare-agent - - prepare-agent - - - - default-report - prepare-package - - report - - - - default-check - - check - - - - - BUNDLE - - - COMPLEXITY - COVEREDRATIO - 0.60 - - - - - - - - - - - de.jpdigital - hibernate5-ddl-maven-plugin - - - h2 - oracle10g - postgresql9 - - - org.libreccm - - true - - - - - gen-ddl - - process-classes - - - - - - - - src/main/resources - true - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.3 - - true - true - - http://docs.oracle.com/javase/7/docs/api/ - http://docs.oracle.com/javaee/7/api/ - http://docs.jboss.org/hibernate/orm/4.3/javadocs/ - - private - true - UTF-8 - UTF-8 - UTF-8 - true - true - true - true - false - org.jboss.apiviz.APIviz - - org.jboss.apiviz - apiviz - 1.3.2.GA - - true - -sourceclasspath ${project.build.outputDirectory} - - - - - org.apache.maven.plugins - maven-jxr-plugin - 2.5 - - - org.apache.maven.plugins - maven-surefire-report-plugin - 2.18.1 - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - org.codehaus.mojo - findbugs-maven-plugin - 3.0.1 - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.4 - - true - utf-8 - 1.7 - - /rulesets/java/basic.xml - /rulesets/java/braces.xml - /rulesets/java/clone.xml - /rulesets/java/codesize.xml - /rulesets/java/design.xml - /rulesets/java/empty.xml - /rulesets/java/finalizers.xml - /rulesets/java/imports.xml - /rulesets/java/junit.xml - /rulesets/java/naming.xml - /rulesets/java/optimizations.xml - /rulesets/java/strictexception.xml - /rulesets/java/strings.xml - /rulesets/java/sunsecure.xml - /rulesets/java/typeresolution.xml - /rulesets/java/unnecessary.xml - /rulesets/java/unusedcode.xml - - - - - org.codehaus.mojo - javancss-maven-plugin - 2.1 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.8 - - - - dependencies - license - - - - - false - - - - - diff --git a/ccm-cms-types-article/src/main/java/org/librecms/article/Article.java b/ccm-cms-types-article/src/main/java/org/librecms/article/Article.java deleted file mode 100644 index e1fbf39ab..000000000 --- a/ccm-cms-types-article/src/main/java/org/librecms/article/Article.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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.librecms.article; - -import static org.librecms.article.ArticleConstants.*; - -import org.hibernate.envers.Audited; - -import org.librecms.contentsection.ContentItem; - -import java.io.Serializable; - -import javax.persistence.Entity; -import javax.persistence.Table; -import org.librecms.contenttypes.GenericArticle; - -/** - * This type simply exposes the {@link GenericArticle} type from the - * @code{ccm-cms} module. - * - * @author Jens Pelzetter - */ -@Entity -@Audited -@Table(name = "${type_name}", schema = DB_SCHEMA) -public class Article extends ContentItem implements Serializable { - - private static final long serialVersionUID = 1L; - -} diff --git a/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleConstants.java b/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleConstants.java deleted file mode 100644 index c97ab5a21..000000000 --- a/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleConstants.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * 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.librecms.article; - -public final class ArticleConstants { - - public static final String DB_SCHEMA = "cms_article"; - - private ArticleConstants() { - //Nothing - } - -} diff --git a/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleModule.java b/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleModule.java deleted file mode 100644 index 8d4b03cce..000000000 --- a/ccm-cms-types-article/src/main/java/org/librecms/article/ArticleModule.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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.librecms.article; - -import org.libreccm.modules.CcmModule; -import org.libreccm.modules.InitEvent; -import org.libreccm.modules.InstallEvent; -import org.libreccm.modules.Module; -import org.libreccm.modules.RequiredModule; -import org.libreccm.modules.ShutdownEvent; -import org.libreccm.modules.UnInstallEvent; - -@Module(packageName="org.librecms.article", - requiredModules = {@RequiredModule(module = org.libreccm.core.CcmCore.class)}) -public class ArticleModule implements CcmModule { - - @Override - public void install(final InstallEvent event) { - //ToDo Create initial data for the module if neccessary - } - - @Override - public void init(final InitEvent event) { - //ToDo Add initialisation logic necessary for your module - } - - @Override - public void shutdown(final ShutdownEvent event) { - //ToDo Add shutdown logic if necessary - } - - @Override - public void uninstall(final UnInstallEvent event) { - //ToDo Remove module data - } - - -} diff --git a/ccm-cms-types-article/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-cms-types-article/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule deleted file mode 100644 index 409cf304f..000000000 --- a/ccm-cms-types-article/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule +++ /dev/null @@ -1 +0,0 @@ -org.librecms.article.Article diff --git a/ccm-cms-types-article/src/main/resources/module-info/org.librecms.ccm-cms-types-article.properties b/ccm-cms-types-article/src/main/resources/module-info/org.librecms.ccm-cms-types-article.properties deleted file mode 100644 index b9f3b36c8..000000000 --- a/ccm-cms-types-article/src/main/resources/module-info/org.librecms.ccm-cms-types-article.properties +++ /dev/null @@ -1,4 +0,0 @@ -groupId=${project.groupId} -artifactId=${project.artifactId} -version=${project.version} -build.date=${timestamp} diff --git a/ccm-cms-types-article/src/test/java/org/librecms/article/AppTest.java b/ccm-cms-types-article/src/test/java/org/librecms/article/AppTest.java deleted file mode 100644 index b439ce635..000000000 --- a/ccm-cms-types-article/src/test/java/org/librecms/article/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.librecms.article; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/ccm-cms-types-event/pom.xml b/ccm-cms-types-event/pom.xml deleted file mode 100644 index 83a76973f..000000000 --- a/ccm-cms-types-event/pom.xml +++ /dev/null @@ -1,338 +0,0 @@ - - - - 4.0.0 - - - libreccm-parent - org.libreccm - 7.0.0-SNAPSHOT - - - - UTF-8 - ${maven.build.timestamp} - yyyy-MM-dd'T'HH:mm:ss'Z'Z - - - - org.librecms - ccm-cms-types-event - 7.0.0-SNAPSHOT - - ccm-cms-types-event - - - - javax - javaee-api - jar - provided - - - - org.libreccm - ccm-core - ${project.parent.version} - provided - - - - org.librecms - ccm-cms - ${project.parent.version} - provided - - - - org.hibernate - hibernate-entitymanager - provided - - - - org.hibernate - hibernate-envers - provided - - - - org.hibernate - hibernate-validator - provided - - - org.hibernate - hibernate-validator-cdi - provided - - - - - junit - junit - test - - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - - org.libreccm - ccm-testutils - ${project.parent.version} - test - - - - nl.jqno.equalsverifier - equalsverifier - test - - - - org.jboss.arquillian.junit - arquillian-junit-container - test - - - org.jboss.arquillian.extension - arquillian-persistence-dbunit - test - - - org.jboss.arquillian.extension - arquillian-transaction-impl-base - test - - - org.jboss.shrinkwrap.resolver - shrinkwrap-resolver-impl-maven - test - - - - com.h2database - h2 - test - - - - - - ccm-cms-types-event - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.7 - 1.7 - true - true - ${project.build.sourceEncoding} - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - org.libreccm.tests.categories.UnitTest - - - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - default-prepare-agent - - prepare-agent - - - - default-report - prepare-package - - report - - - - default-check - - check - - - - - BUNDLE - - - COMPLEXITY - COVEREDRATIO - 0.60 - - - - - - - - - - - de.jpdigital - hibernate5-ddl-maven-plugin - - - h2 - oracle10g - postgresql9 - - - org.libreccm - - true - - - - - gen-ddl - - process-classes - - - - - - - - src/main/resources - true - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.3 - - true - true - - http://docs.oracle.com/javase/7/docs/api/ - http://docs.oracle.com/javaee/7/api/ - http://docs.jboss.org/hibernate/orm/4.3/javadocs/ - - private - true - UTF-8 - UTF-8 - UTF-8 - true - true - true - true - false - org.jboss.apiviz.APIviz - - org.jboss.apiviz - apiviz - 1.3.2.GA - - true - -sourceclasspath ${project.build.outputDirectory} - - - - - org.apache.maven.plugins - maven-jxr-plugin - 2.5 - - - org.apache.maven.plugins - maven-surefire-report-plugin - 2.18.1 - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - org.codehaus.mojo - findbugs-maven-plugin - 3.0.1 - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.4 - - true - utf-8 - 1.7 - - /rulesets/java/basic.xml - /rulesets/java/braces.xml - /rulesets/java/clone.xml - /rulesets/java/codesize.xml - /rulesets/java/design.xml - /rulesets/java/empty.xml - /rulesets/java/finalizers.xml - /rulesets/java/imports.xml - /rulesets/java/junit.xml - /rulesets/java/naming.xml - /rulesets/java/optimizations.xml - /rulesets/java/strictexception.xml - /rulesets/java/strings.xml - /rulesets/java/sunsecure.xml - /rulesets/java/typeresolution.xml - /rulesets/java/unnecessary.xml - /rulesets/java/unusedcode.xml - - - - - org.codehaus.mojo - javancss-maven-plugin - 2.1 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.8 - - - - dependencies - license - - - - - false - - - - - diff --git a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/Event.java b/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/Event.java deleted file mode 100644 index cbf0006d5..000000000 --- a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/Event.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * 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.librecms.contenttypes.event; - -import static org.librecms.contenttypes.event.EventConstants.*; - -import org.hibernate.envers.Audited; - -import java.io.Serializable; -import java.util.Date; -import javax.persistence.Column; - -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Temporal; -import org.hibernate.validator.constraints.NotEmpty; -import org.libreccm.l10n.LocalizedString; -import org.librecms.contentsection.ContentItem; - -/** - * This class represent the content type event. - *
- *

- * This class extends - * {@link org.librecms.contentsection.ContentItem content item} and adds - * extended attributes specific for an event:

- *
- *
lead
optional, standard text field, short description (summary), - * used as lead text
- *
startDate
mandatory, date when it will begin
- *
startTime
mandatory, time when it will begin
- *
endDate
optional, date when it will end
- *
endTime
optional, time when it will end
- *
eventDate
optional, rich text field. From pdl File: The date and - * time of the event, stored as varchar for now so you can enter other - * information configurable as hidden in the authoring kit
- *
location
optional, rich text field, description of location
- *
mainContributor
optional, rich text field, configurable as - * hidden in the authoring kit
- *
eventType
optional, standard text field, type of event, - * configurable as hidden in the authoring kit
- *
mapLink
optional, standard text field, ling to a map, - * configurable as hidden in the authoring kit
- *
cost
optional, standard text field, costs, configurable as - * hidden in the authoring kit
- *
- * - * @author Alexander Konermann - * @version 3/11/2015 - * - */ -@Entity -@Audited -@Table(name = "${type_name}", schema = DB_SCHEMA) -public class Event extends ContentItem implements Serializable { - - private static final long serialVersionUID = 1L; - - public Event() { - super(); - } - /** - * The starting date and time of the event, so the events content type can - * be used by calendar - */ - @Column(name = "STARTDATE") - @Temporal(javax.persistence.TemporalType.DATE) - @NotEmpty - private Date startDate; - - /** - * The ending date time of the event, so the events content type can be used - * by calendar - */ - @Column(name = "ENDDATE") - @Temporal(javax.persistence.TemporalType.DATE) - private Date endDate; - - /** - * The starting time of the event - */ - @Column(name = "STARTTIME") - @Temporal(javax.persistence.TemporalType.TIME) - @NotEmpty - private Date startTime; - - /** - * The ending time of the event - */ - @Column(name = "ENDTIME") - @Temporal(javax.persistence.TemporalType.TIME) - private Date endTime; - - /** - * The date and time of the event, stored as varchar for now so you can - * enter other information - */ - @Column(name = "EVENTDATE") - private LocalizedString eventDate; - - /** - * The location of the event - */ - @Column(name = "LOCATION") - private LocalizedString location; - - /** - * The tease/lead information for the event - */ - @Column(name = "LEAD") - private LocalizedString lead; - - /** - * The main contributor for the event - */ - @Column(name = "MAINCONTRIBUTOR") - private LocalizedString mainContributot; - - /** - * The type of the event - */ - @Column(name = "EVENTTYPE") - private LocalizedString eventType; - - /** - * The link to a map for the event - */ - @Column(name = "MAPLINK") - private LocalizedString mapLink; - - /** - * The cost of the event - */ - @Column(name = "COST") - private LocalizedString cost; - - // Getter and Setter: - public Date getStartDate() { - return new Date(startDate.getTime()); - } - - public void setStartDate(Date startDate) { - this.startDate = new Date(startDate.getTime()); - } - - public Date getEndDate() { - return new Date(endDate.getTime()); - } - - public void setEndDate(Date endDate) { - this.endDate = new Date(endDate.getTime()); - } - - public Date getStartTime() { - return new Date(startTime.getTime()); - } - - public void setStartTime(Date startTime) { - this.startTime = new Date(startTime.getTime()); - } - - public Date getEndTime() { - return new Date(endTime.getTime()); - } - - public void setEndTime(Date ENDTIME) { - this.endTime = new Date(endTime.getTime()); - } - - public LocalizedString getEventdate() { - return eventDate; - } - - public void setEventdate(LocalizedString eventdate) { - this.eventDate = eventdate; - } - - public LocalizedString getLocation() { - return location; - } - - public void setLocation(LocalizedString location) { - this.location = location; - } - - public LocalizedString getLead() { - return lead; - } - - public void setLead(LocalizedString lead) { - this.lead = lead; - } - - public LocalizedString getMainContributot() { - return mainContributot; - } - - public void setMainContributot(LocalizedString mainContributot) { - this.mainContributot = mainContributot; - } - - public LocalizedString getEventType() { - return eventType; - } - - public void setEventType(LocalizedString eventType) { - this.eventType = eventType; - } - - public LocalizedString getMapLink() { - return mapLink; - } - - public void setMapLink(LocalizedString mapLink) { - this.mapLink = mapLink; - } - - public LocalizedString getCost() { - return cost; - } - - public void setCost(LocalizedString cost) { - this.cost = cost; - } - -} diff --git a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventConstants.java b/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventConstants.java deleted file mode 100644 index ed933f41d..000000000 --- a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventConstants.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * 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.librecms.contenttypes.event; - -public class EventConstants { - - public static final String DB_SCHEMA = "cms_types_event"; - - private EventConstants() { - //Nothing - } - -} diff --git a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventModule.java b/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventModule.java deleted file mode 100644 index e49e91ae2..000000000 --- a/ccm-cms-types-event/src/main/java/org/librecms/contenttypes/event/EventModule.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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.librecms.contenttypes.event; - -import org.libreccm.modules.CcmModule; -import org.libreccm.modules.InitEvent; -import org.libreccm.modules.InstallEvent; -import org.libreccm.modules.Module; -import org.libreccm.modules.RequiredModule; -import org.libreccm.modules.ShutdownEvent; -import org.libreccm.modules.UnInstallEvent; - -@Module(packageName="org.librecms.contenttypes.event", - requiredModules = {@RequiredModule(module = org.libreccm.core.CcmCore.class)}) -public class EventModule implements CcmModule { - - @Override - public void install(final InstallEvent event) { - //ToDo Create initial data for the module if neccessary - } - - @Override - public void init(final InitEvent event) { - //ToDo Add initialisation logic necessary for your module - } - - @Override - public void shutdown(final ShutdownEvent event) { - //ToDo Add shutdown logic if necessary - } - - @Override - public void uninstall(final UnInstallEvent event) { - //ToDo Remove module data - } - - -} diff --git a/ccm-cms-types-event/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-cms-types-event/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule deleted file mode 100644 index 05d21f1fd..000000000 --- a/ccm-cms-types-event/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule +++ /dev/null @@ -1 +0,0 @@ -org.librecms.contenttypes.event.Event diff --git a/ccm-cms-types-event/src/main/resources/module-info/org.librecms.ccm-cms-types-event.properties b/ccm-cms-types-event/src/main/resources/module-info/org.librecms.ccm-cms-types-event.properties deleted file mode 100644 index b9f3b36c8..000000000 --- a/ccm-cms-types-event/src/main/resources/module-info/org.librecms.ccm-cms-types-event.properties +++ /dev/null @@ -1,4 +0,0 @@ -groupId=${project.groupId} -artifactId=${project.artifactId} -version=${project.version} -build.date=${timestamp} diff --git a/ccm-cms-types-event/src/test/java/org/librecms/contenttypes/event/AppTest.java b/ccm-cms-types-event/src/test/java/org/librecms/contenttypes/event/AppTest.java deleted file mode 100644 index 25b511a36..000000000 --- a/ccm-cms-types-event/src/test/java/org/librecms/contenttypes/event/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package $org.libreccm.cms; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/ccm-cms-types-newsitem/pom.xml b/ccm-cms-types-newsitem/pom.xml deleted file mode 100644 index 3e90b2c3f..000000000 --- a/ccm-cms-types-newsitem/pom.xml +++ /dev/null @@ -1,338 +0,0 @@ - - - - 4.0.0 - - - libreccm-parent - org.libreccm - 7.0.0-SNAPSHOT - - - - UTF-8 - ${maven.build.timestamp} - yyyy-MM-dd'T'HH:mm:ss'Z'Z - - - - org.librecms - ccm-cms-types-newsitem - 7.0.0-SNAPSHOT - - ccm-cms-types-newsitem - - - - javax - javaee-api - jar - provided - - - - org.libreccm - ccm-core - ${project.parent.version} - provided - - - - org.librecms - ccm-cms - ${project.parent.version} - provided - - - - org.hibernate - hibernate-entitymanager - provided - - - - org.hibernate - hibernate-envers - provided - - - - org.hibernate - hibernate-validator - provided - - - org.hibernate - hibernate-validator-cdi - provided - - - - junit - junit - test - - - - org.hamcrest - hamcrest-core - test - - - org.hamcrest - hamcrest-library - test - - - - org.libreccm - ccm-testutils - ${project.parent.version} - test - - - - nl.jqno.equalsverifier - equalsverifier - test - - - - org.jboss.arquillian.junit - arquillian-junit-container - test - - - org.jboss.arquillian.extension - arquillian-persistence-dbunit - test - - - org.jboss.arquillian.extension - arquillian-transaction-impl-base - test - - - org.jboss.shrinkwrap.resolver - shrinkwrap-resolver-impl-maven - test - - - - com.h2database - h2 - test - - - - - - ccm-cms-types-newsitem - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.7 - 1.7 - true - true - ${project.build.sourceEncoding} - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - org.libreccm.tests.categories.UnitTest - - - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - default-prepare-agent - - prepare-agent - - - - default-report - prepare-package - - report - - - - default-check - - check - - - - - BUNDLE - - - COMPLEXITY - COVEREDRATIO - 0.60 - - - - - - - - - - - de.jpdigital - hibernate5-ddl-maven-plugin - - - h2 - oracle10g - postgresql9 - - - org.libreccm - - true - - - - - gen-ddl - - process-classes - - - - - - - - src/main/resources - true - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.3 - - true - true - - http://docs.oracle.com/javase/7/docs/api/ - http://docs.oracle.com/javaee/7/api/ - http://docs.jboss.org/hibernate/orm/4.3/javadocs/ - - private - true - UTF-8 - UTF-8 - UTF-8 - true - true - true - true - false - org.jboss.apiviz.APIviz - - org.jboss.apiviz - apiviz - 1.3.2.GA - - true - -sourceclasspath ${project.build.outputDirectory} - - - - - org.apache.maven.plugins - maven-jxr-plugin - 2.5 - - - org.apache.maven.plugins - maven-surefire-report-plugin - 2.18.1 - - - org.jacoco - jacoco-maven-plugin - 0.7.5.201505241946 - - - org.codehaus.mojo - findbugs-maven-plugin - 3.0.1 - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.4 - - true - utf-8 - 1.7 - - /rulesets/java/basic.xml - /rulesets/java/braces.xml - /rulesets/java/clone.xml - /rulesets/java/codesize.xml - /rulesets/java/design.xml - /rulesets/java/empty.xml - /rulesets/java/finalizers.xml - /rulesets/java/imports.xml - /rulesets/java/javabeans.xml - /rulesets/java/junit.xml - /rulesets/java/naming.xml - /rulesets/java/optimizations.xml - /rulesets/java/strictexception.xml - /rulesets/java/strings.xml - /rulesets/java/sunsecure.xml - /rulesets/java/typeresolution.xml - /rulesets/java/unnecessary.xml - /rulesets/java/unusedcode.xml - - - - - org.codehaus.mojo - javancss-maven-plugin - 2.1 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.8 - - - - dependencies - license - - - - - false - - - - - diff --git a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/Newsitem.java b/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/Newsitem.java deleted file mode 100644 index bad72950d..000000000 --- a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/Newsitem.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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.librecms.contenttypes.newsitem; - -import static org.librecms.contenttypes.newsitem.NewsitemConstants.*; - -import org.hibernate.envers.Audited; - -import org.librecms.contentsection.ContentItem; - -import java.io.Serializable; -import java.util.Date; -import javax.persistence.Column; - -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Temporal; -import org.hibernate.validator.constraints.NotEmpty; -import org.libreccm.l10n.LocalizedString; - -/** - * This content type represents a newsitem. - * - * @author Alexander Konermann - * @version 25/11/2015 - */ -@Entity -@Audited -@Table(name = "${type_name}", schema = DB_SCHEMA) -public class Newsitem extends ContentItem implements Serializable { - - /** - * The tease/lead paragraph for the news item - */ - @Column(name = "LEAD") - private LocalizedString lead; - - /** - * The date for the news item - */ - @Column(name = "NEWSDATE") - @Temporal(javax.persistence.TemporalType.DATE) - private Date newsDate; - - /** - * True, if it is a Homepage - */ - @Column(name = "ISHOMEPAGE") - @NotEmpty - private boolean isHompage; - - - //Getter and setter: - public LocalizedString getLead() { - return lead; - } - - public void setLead(LocalizedString lead) { - this.lead = lead; - } - - public Date getNewsDate() { - return newsDate; - } - - public void setNewsDate(Date newsDate) { - this.newsDate = newsDate; - } - - public boolean isIsHompage() { - return isHompage; - } - - public void setIsHompage(boolean isHompage) { - this.isHompage = isHompage; - } - - -} diff --git a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemConstants.java b/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemConstants.java deleted file mode 100644 index 6027a89cb..000000000 --- a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemConstants.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * 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.librecms.contenttypes.newsitem; - -public class NewsitemConstants { - - public static final String DB_SCHEMA = "cms_types_newsitem"; - - private NewsitemConstants() { - //Nothing - } - -} diff --git a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemModule.java b/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemModule.java deleted file mode 100644 index 78af6f39e..000000000 --- a/ccm-cms-types-newsitem/src/main/java/org/librecms/contenttypes/newsitem/NewsitemModule.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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.librecms.contenttypes.newsitem; - -import org.libreccm.modules.CcmModule; -import org.libreccm.modules.InitEvent; -import org.libreccm.modules.InstallEvent; -import org.libreccm.modules.Module; -import org.libreccm.modules.RequiredModule; -import org.libreccm.modules.ShutdownEvent; -import org.libreccm.modules.UnInstallEvent; - -@Module(packageName="org.librecms.contenttypes.newsitem", - requiredModules = {@RequiredModule(module = org.libreccm.core.CcmCore.class)}) -public class NewsitemModule implements CcmModule { - - @Override - public void install(final InstallEvent event) { - //ToDo Create initial data for the module if neccessary - } - - @Override - public void init(final InitEvent event) { - //ToDo Add initialisation logic necessary for your module - } - - @Override - public void shutdown(final ShutdownEvent event) { - //ToDo Add shutdown logic if necessary - } - - @Override - public void uninstall(final UnInstallEvent event) { - //ToDo Remove module data - } - - -} diff --git a/ccm-cms-types-newsitem/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-cms-types-newsitem/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule deleted file mode 100644 index a77b5d7fa..000000000 --- a/ccm-cms-types-newsitem/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule +++ /dev/null @@ -1 +0,0 @@ -org.librecms.contenttypes.newsitem.Newsitem diff --git a/ccm-cms-types-newsitem/src/main/resources/module-info/org.librecms.ccm-cms-types-newsitem.properties b/ccm-cms-types-newsitem/src/main/resources/module-info/org.librecms.ccm-cms-types-newsitem.properties deleted file mode 100644 index b9f3b36c8..000000000 --- a/ccm-cms-types-newsitem/src/main/resources/module-info/org.librecms.ccm-cms-types-newsitem.properties +++ /dev/null @@ -1,4 +0,0 @@ -groupId=${project.groupId} -artifactId=${project.artifactId} -version=${project.version} -build.date=${timestamp} diff --git a/ccm-cms-types-newsitem/src/test/java/org/librecms/contenttypes/newsitem/AppTest.java b/ccm-cms-types-newsitem/src/test/java/org/librecms/contenttypes/newsitem/AppTest.java deleted file mode 100644 index 25b511a36..000000000 --- a/ccm-cms-types-newsitem/src/test/java/org/librecms/contenttypes/newsitem/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package $org.libreccm.cms; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/ccm-cms/src/main/java/org/librecms/contenttypes/Article.java b/ccm-cms/src/main/java/org/librecms/contenttypes/Article.java new file mode 100644 index 000000000..5a49f7f00 --- /dev/null +++ b/ccm-cms/src/main/java/org/librecms/contenttypes/Article.java @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2016 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.librecms.contenttypes; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.AssociationOverride; +import javax.persistence.Embedded; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.Table; +import org.hibernate.envers.Audited; +import org.libreccm.l10n.LocalizedString; + +import static org.libreccm.core.CoreConstants.*; + +/** + * @author Alexander Konermann + * @author Jens Pelzetter + */ +@Entity +@Audited +@Table(name = "ARTICLES", schema = DB_SCHEMA) +public class Article extends GenericArticle implements Serializable { + + private static final long serialVersionUID = 3832010184748095822L; + + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "ARTICLE_LEADS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString lead; + + public LocalizedString getLead() { + return lead; + } + + public void setLead(final LocalizedString lead) { + this.lead = lead; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 29 * hash + Objects.hashCode(lead); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!super.equals(obj)) { + return false; + } + + if (!(obj instanceof Article)) { + return false; + } + final Article other = (Article) obj; + if (!(other.canEqual(this))) { + return false; + } + + return Objects.equals(lead, other.getLead()); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof Article; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", lead = %s%s", + Objects.toString(lead), + data)); + } + +} diff --git a/ccm-cms/src/main/java/org/librecms/contenttypes/Event.java b/ccm-cms/src/main/java/org/librecms/contenttypes/Event.java new file mode 100644 index 000000000..27a77a6e0 --- /dev/null +++ b/ccm-cms/src/main/java/org/librecms/contenttypes/Event.java @@ -0,0 +1,299 @@ +/* + * 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.librecms.contenttypes; + +import java.io.Serializable; +import java.util.Date; +import java.util.Objects; +import javax.persistence.AssociationOverride; +import javax.persistence.Column; +import javax.persistence.Embedded; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import org.hibernate.envers.Audited; +import org.hibernate.validator.constraints.NotEmpty; + +import org.libreccm.l10n.LocalizedString; + +import static org.libreccm.core.CoreConstants.*; + +/** + * @author Alexander Konermann + * @author Jens Pelzetter + */ +@Entity +@Audited +@Table(name = "EVENTS", schema = DB_SCHEMA) +public class Event extends GenericArticle implements Serializable { + + private static final long serialVersionUID = -9104886733503414635L; + + /** + * Short description of the news, usually used as teaser. + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_LEADS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString lead; + + @Column(name = "START_DATE", nullable = false) + @Temporal(TemporalType.DATE) + @NotEmpty + private Date startDate; + + @Column(name = "END_DATE") + @Temporal(TemporalType.DATE) + private Date endDate; + + /** + * Additional information about the date the event takes places. + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_DATES", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString eventDate; + + /** + * The location of the event + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_LOCATIONS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString location; + + /** + * The main contributor for the event + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_MAIN_CONTRIBUTORS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString mainContributor; + + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_TYPES", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString eventType; + + //ToDo: check if this is necessary or can be better handled using related links. + @Column(name = "MAP_LINK") + private String mapLink; + + /** + * The cost of the event + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "EVENT_COSTS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString cost; + + public LocalizedString getLead() { + return lead; + } + + public void setLead(final LocalizedString lead) { + this.lead = lead; + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(final Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(final Date endDate) { + this.endDate = endDate; + } + + public LocalizedString getEventDate() { + return eventDate; + } + + public void setEventDate(final LocalizedString eventDate) { + this.eventDate = eventDate; + } + + public LocalizedString getLocation() { + return location; + } + + public void setLocation(final LocalizedString location) { + this.location = location; + } + + public LocalizedString getMainContributor() { + return mainContributor; + } + + public void setMainContributor(final LocalizedString mainContributor) { + this.mainContributor = mainContributor; + } + + public LocalizedString getEventType() { + return eventType; + } + + public void setEventType(final LocalizedString eventType) { + this.eventType = eventType; + } + + public String getMapLink() { + return mapLink; + } + + public void setMapLink(final String mapLink) { + this.mapLink = mapLink; + } + + public LocalizedString getCost() { + return cost; + } + + public void setCost(final LocalizedString cost) { + this.cost = cost; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 97 * hash + Objects.hashCode(lead); + hash = 97 * hash + Objects.hashCode(startDate); + hash = 97 * hash + Objects.hashCode(endDate); + hash = 97 * hash + Objects.hashCode(eventDate); + hash = 97 * hash + Objects.hashCode(location); + hash = 97 * hash + Objects.hashCode(mainContributor); + hash = 97 * hash + Objects.hashCode(mapLink); + hash = 97 * hash + Objects.hashCode(cost); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!super.equals(obj)) { + return false; + } + + if (!(obj instanceof Event)) { + return false; + } + final Event other = (Event) obj; + if (!other.canEqual(obj)) { + return false; + } + + if (!Objects.equals(mapLink, other.getMapLink())) { + return false; + } + if (!Objects.equals(lead, other.getLead())) { + return false; + } + if (!Objects.equals(startDate, other.getStartDate())) { + return false; + } + if (!Objects.equals(endDate, other.getEndDate())) { + return false; + } + if (!Objects.equals(eventDate, other.getEventDate())) { + return false; + } + if (!Objects.equals(location, other.getLocation())) { + return false; + } + if (!Objects.equals(mainContributor, other.getMainContributor())) { + return false; + } + if (!Objects.equals(eventType, other.getEventType())) { + return false; + } + return Objects.equals(cost, other.getCost()); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof Event; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", lead = %s, " + + "startDate = %tF %Alexander Konermann + * @author Jens Pelzetter + */ +@Entity +@Audited +@Table(name = "NEWS", schema = DB_SCHEMA) +public class News extends GenericArticle implements Serializable { + + private static final long serialVersionUID = -4939565845920227974L; + + /** + * Short description of the news, usually used as teaser. + */ + @Embedded + @AssociationOverride( + name = "VALUES", + joinTable = @JoinTable(name = "NEWS_LEADS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID")} + )) + private LocalizedString lead; + + /** + * Release date of the news + */ + @Column(name = "NEWS_DATE", nullable = false) + @NotEmpty + @Temporal(TemporalType.DATE) + private Date releaseDate; + + /** + * Should the news item be published on the portal homepage? Will be used by + * the function recentItems. + */ + @Column(name = "HOMEPAGE") + @NotEmpty + private boolean homepage; + + public LocalizedString getLead() { + return lead; + } + + public void setLead(final LocalizedString lead) { + this.lead = lead; + } + + public Date getReleaseDate() { + return releaseDate; + } + + public void setReleaseDate(final Date releaseDate) { + this.releaseDate = releaseDate; + } + + public boolean isHomepage() { + return homepage; + } + + public void setHomepage(final boolean homepage) { + this.homepage = homepage; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 11 * hash + Objects.hashCode(this.lead); + hash = 11 * hash + Objects.hashCode(this.releaseDate); + hash = 11 * hash + (this.homepage ? 1 : 0); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!super.equals(obj)) { + return false; + } + if (!(obj instanceof News)) { + return false; + } + final News other = (News) obj; + if (!other.canEqual(this)) { + return false; + } + if (homepage != other.isHomepage()) { + return false; + } + if (!Objects.equals(lead, other.getLead())) { + return false; + } + return Objects.equals(releaseDate, other.getReleaseDate()); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof News; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", lead = \"%s\", " + + "releaseDate = %tF %ccm-archetype-module ccm-cms ccm-cms-archetype-contenttype - ccm-cms-types-article ccm-cms-types-agenda ccm-cms-types-bookmark - ccm-cms-types-event ccm-cms-types-minutes ccm-cms-types-decisiontree ccm-cms-types-mparticle ccm-cms-types-glossaryitem ccm-cms-types-faqitem ccm-cms-types-externallink - ccm-cms-types-newsitem ccm-bundle-devel-wildfly-web ccm-bundle-devel-wildfly