diff --git a/ccm-cms-profile/pom.xml b/ccm-cms-profile/pom.xml new file mode 100644 index 000000000..5593e0d0c --- /dev/null +++ b/ccm-cms-profile/pom.xml @@ -0,0 +1,314 @@ + + + + + 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-profile + 7.0.0-SNAPSHOT + + LibreCMS Profile site + + + + javax + javaee-api + jar + provided + + + + org.libreccm + ccm-core + ${project.parent.version} + provided + + + + org.librecms + ccm-cms + ${project.parent.version} + provided + + + + org.hibernate + hibernate-core + provided + + + + org.hibernate + hibernate-envers + provided + + + + org.hibernate + hibernate-search-orm + 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.shrinkwrap.resolver + shrinkwrap-resolver-impl-maven + test + + + + com.h2database + h2 + test + + + + + + + ccm-cms-profile + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + true + true + ${project.build.sourceEncoding} + + + + + org.apache.maven.plugins + maven-surefire-plugin + + org.libreccm.tests.categories.UnitTest + + + + + org.jacoco + jacoco-maven-plugin + + + default-prepare-agent + + prepare-agent + + + + default-report + prepare-package + + report + + + + + + + de.jpdigital + hibernate53-ddl-maven-plugin + + + h2 + oracle12c + postgresql9 + + + org.libreccm + + true + + + + + gen-ddl + + process-classes + + + + + + + + + src/main/resources + true + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + 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 + + + org.apache.maven.plugins + maven-surefire-report-plugin + + + org.jacoco + jacoco-maven-plugin + + + org.codehaus.mojo + findbugs-maven-plugin + + + + org.apache.maven.plugins + maven-pmd-plugin + + true + utf-8 + 1.8 + + + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + + + + dependencies + licenses + + + + + false + + + + + + + + + + diff --git a/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteConstants.java b/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteConstants.java new file mode 100644 index 000000000..695e2e2e2 --- /dev/null +++ b/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteConstants.java @@ -0,0 +1,20 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.librecms.profilesite; + +/** + * + * @author Jens Pelzetter + */ +public class ProfileSiteConstants { + + public static final String DB_SCHEMA = "cms_profile"; + + private ProfileSiteConstants() { + // Nothing + } + +} diff --git a/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteItem.java b/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteItem.java new file mode 100644 index 000000000..9bba81913 --- /dev/null +++ b/ccm-cms-profile/src/main/java/org/librecms/profilesite/ProfileSiteItem.java @@ -0,0 +1,157 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.librecms.profilesite; + +import org.hibernate.annotations.Type; +import org.librecms.assets.Person; +import org.librecms.contentsection.ContentItem; + +import java.util.Objects; + +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.Lob; +import javax.persistence.OneToOne; +import javax.persistence.Table; + +import static org.librecms.profilesite.ProfileSiteConstants.*; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "PROFILE_SITES", schema = DB_SCHEMA) +public class ProfileSiteItem extends ContentItem { + + private static final long serialVersionUID = 1L; + + @OneToOne + @JoinColumn(name = "OWNER_ID") + private Person owner; + + @Column(name = "POSITION") + @Basic + @Lob + @Type(type = "org.hibernate.type.TextType") + private String position; + + @Column(name = "INTERESTS") + @Basic + @Lob + @Type(type = "org.hibernate.type.TextType") + private String interests; + + @Column(name = "MISC") + @Basic + @Lob + @Type(type = "org.hibernate.type.TextType") + private String misc; + + public Person getOwner() { + return owner; + } + + public void setOwner(final Person owner) { + this.owner = owner; + } + + public String getPosition() { + return position; + } + + public void setPosition(final String position) { + this.position = position; + } + + public String getInterests() { + return interests; + } + + public void setInterests(final String interests) { + this.interests = interests; + } + + public String getMisc() { + return misc; + } + + public void setMisc(final String misc) { + this.misc = misc; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + if (owner != null) { + hash = 37 * hash + Objects.hashCode(owner.getUuid()); + } + hash = 37 * hash + Objects.hashCode(position); + hash = 37 * hash + Objects.hashCode(interests); + hash = 37 * hash + Objects.hashCode(misc); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (!super.equals(obj)) { + return false; + } + + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (!(obj instanceof ProfileSiteItem)) { + return false; + } + final ProfileSiteItem other = (ProfileSiteItem) obj; + if (!other.canEqual(this)) { + return false; + } + if (owner != null + && other.getOwner() != null + && !Objects.equals( + owner.getUuid(), other.getOwner().getUuid() + )) { + return false; + } + if (!Objects.equals(position, other.getPosition())) { + return false; + } + if (!Objects.equals(interests, other.getInterests())) { + return false; + } + return Objects.equals(misc, other.getMisc()); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof ProfileSiteItem; + } + + @Override + public String toString(final String data) { + return super.toString( + String.format( + ", owner = %s, " + + "position = \"%s\", " + + "interests = \"%s\", " + + "misc = \"%s\"%s", + Objects.toString(owner), + position, + interests, + misc, + 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 index 765da87d2..e46bbb35c 100644 --- a/ccm-cms/src/main/java/org/librecms/contenttypes/Event.java +++ b/ccm-cms/src/main/java/org/librecms/contenttypes/Event.java @@ -66,8 +66,8 @@ import static org.librecms.CmsConstants.*; descriptionBundle = CmsConstants.CMS_BUNDLE, descriptionKey = "cms.contenttypes.shared.basic_properties" + ".description", - order = 1) - , + order = 1 + ), @AuthoringStep( component = EventTextBody.class, labelBundle = CmsConstants.CMS_BUNDLE, @@ -177,7 +177,7 @@ public class Event extends ContentItem implements Serializable { eventType = new LocalizedString(); cost = new LocalizedString(); } - + public LocalizedString getText() { return text; } diff --git a/ccm-cms/src/main/java/org/librecms/pagemodel/contentitems/ArticleRenderer.java b/ccm-cms/src/main/java/org/librecms/pagemodel/contentitems/ArticleRenderer.java index 0c157b110..6d11a035e 100644 --- a/ccm-cms/src/main/java/org/librecms/pagemodel/contentitems/ArticleRenderer.java +++ b/ccm-cms/src/main/java/org/librecms/pagemodel/contentitems/ArticleRenderer.java @@ -41,12 +41,11 @@ public class ArticleRenderer extends AbstractContentItemRenderer { @Inject private AssetRenderers assetRenderers; - + // @Inject // public ArticleRenderer(final AssetRenderers assetRenderers) { // super(assetRenderers); // } - /** * Render the provided {@link Article}. The following values are put into * the map: @@ -62,10 +61,11 @@ public class ArticleRenderer extends AbstractContentItemRenderer { * @param result The map into which the result is placed. */ @Override - protected void renderItem(final ContentItem item, - final Locale language, - final Map result) { - + protected void renderItem( + final ContentItem item, + final Locale language, + final Map result + ) { final Article article; if (item instanceof Article) { article = (Article) item; @@ -75,7 +75,7 @@ public class ArticleRenderer extends AbstractContentItemRenderer { result.put("text", article.getText().getValue(language)); } - + @Override public AssetRenderers getAssetRenderers() { return assetRenderers; diff --git a/pom.xml b/pom.xml index f88ff8e42..f1de65322 100644 --- a/pom.xml +++ b/pom.xml @@ -70,6 +70,8 @@ ccm-cms-types-faqitem ccm-cms-types-glossaryitem ccm-cms-types-minutes + + ccm-cms-profile ccm-docrepo