From bc47734c93856687b13dd99bcb8966a04c823f19 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 2 Sep 2010 13:13:38 +0000 Subject: [PATCH] Die letzten groeberen Bugs in ccm-sci-publications sollten jetzt behoben sein. git-svn-id: https://svn.libreccm.org/ccm/trunk@521 8810af33-2d31-482b-a856-94f89814c4df --- .../GenericOrganizationalUnit.xml | 2 +- .../src/com/arsdigita/cms/LoaderConfig.java | 1 + .../GenericOrganizationalUnit.java | 4 +- .../cms/contenttypes/GenericPerson.java | 40 +++++++++- ...GenericOrganizationalUnitChildAddForm.java | 11 ++- ...nericOrganizationalUnitPropertiesStep.java | 8 +- ...GenericOrganizationalUnitPropertyForm.java | 34 +++++--- .../content-types/CollectedVolume.pdl | 2 +- .../com/arsdigita/content-types/Expertise.pdl | 9 ++- .../arsdigita/content-types/InProceedings.pdl | 12 +-- .../content-types/InternetArticle.pdl | 4 +- .../arsdigita/content-types/Publication.pdl | 4 +- .../PublicationWithPublisher.pdl | 4 +- .../com/arsdigita/content-types/Review.pdl | 2 +- .../arsdigita/content-types/UnPublished.pdl | 4 +- .../cms/contenttypes/InternetArticle.xml | 2 +- .../ArticleInCollectedVolumeCollection.java | 4 +- .../contenttypes/AuthorshipCollection.java | 5 +- .../cms/contenttypes/EditshipCollection.java | 8 +- .../arsdigita/cms/contenttypes/Expertise.java | 25 +++++- .../cms/contenttypes/InProceedings.java | 2 +- .../cms/contenttypes/InternetArticle.java | 10 ++- .../cms/contenttypes/Publication.java | 6 +- .../PublicationWithPublisher.java | 17 +++- .../arsdigita/cms/contenttypes/Series.java | 2 +- .../cms/contenttypes/UnPublished.java | 10 ++- .../ui/CollectedVolumeArticlesTable.java | 2 + .../ui/ExpertisePropertyForm.java | 5 +- .../ui/InProceedingsPropertyForm.java | 2 +- .../ui/InternetArticlePropertyForm.java | 2 +- .../ui/PublicationAuthorsTable.java | 9 ++- .../ui/PublicationPropertyForm.java | 4 +- .../PublicationWithPublisherPropertyForm.java | 6 +- .../ui/PublisherPropertiesStep.java | 46 +++++++++++ .../ui/PublisherPropertyForm.java | 80 +++++++++++++++++++ 35 files changed, 309 insertions(+), 79 deletions(-) create mode 100644 ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertiesStep.java create mode 100644 ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertyForm.java diff --git a/ccm-cms/src/WEB-INF/content-types/GenericOrganizationalUnit.xml b/ccm-cms/src/WEB-INF/content-types/GenericOrganizationalUnit.xml index 6cfd407ec..603074293 100644 --- a/ccm-cms/src/WEB-INF/content-types/GenericOrganizationalUnit.xml +++ b/ccm-cms/src/WEB-INF/content-types/GenericOrganizationalUnit.xml @@ -10,7 +10,7 @@ description="A generic content type for organizations and projects." objectType="com.arsdigita.cms.contenttypes.GenericOrganizationalUnit" classname= "com.arsdigita.cms.contenttypes.GenericOrganizationalUnit" - isInternal="yes"> + isInternal="yes"> diff --git a/ccm-cms/src/com/arsdigita/cms/LoaderConfig.java b/ccm-cms/src/com/arsdigita/cms/LoaderConfig.java index 48fd8988f..2568cbdd2 100644 --- a/ccm-cms/src/com/arsdigita/cms/LoaderConfig.java +++ b/ccm-cms/src/com/arsdigita/cms/LoaderConfig.java @@ -132,6 +132,7 @@ public final class LoaderConfig extends AbstractConfig { new String[] {"/WEB-INF/content-types/GenericAddress.xml", "/WEB-INF/content-types/GenericArticle.xml", "/WEB-INF/content-types/GenericContact.xml", + "/WEB-INF/content-types/GenericOrganizationalUnit.xml", "/WEB-INF/content-types/GenericPerson.xml", "/WEB-INF/content-types/Template.xml"} ); diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnit.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnit.java index 6819c62bf..67da8aff4 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnit.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnit.java @@ -58,8 +58,8 @@ public class GenericOrganizationalUnit extends ContentPage { this(BASE_DATA_OBJECT_TYPE); } - public GenericOrganizationalUnit(BigDecimal id) throws - DataObjectNotFoundException { + public GenericOrganizationalUnit(BigDecimal id) + throws DataObjectNotFoundException { this(new OID(BASE_DATA_OBJECT_TYPE, id)); } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java index 812f09b8d..c77af230d 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java @@ -130,13 +130,47 @@ public class GenericPerson extends ContentPage implements RelationAttribute { * @return {@code titlePre} {@code givenName) {@code surnameName} {@code titlePost} */ public String getFullName() { - return String.format("%s %s %s %s", getTitlePre(), getGivenName(), - getSurname(), getTitlePost()).trim(); + String titlePre; + String titlePost; + String givenName; + String surname; + String fullName = ""; + + titlePre = getTitlePre(); + titlePost = getTitlePost(); + givenName = getGivenName(); + surname = getSurname(); + + if (titlePre == null) { + titlePre = ""; + } + if (titlePost == null) { + titlePost = ""; + } + if (givenName == null) { + givenName = ""; + } + if (surname == null) { + surname = ""; + } + + if (0 == fullName.length()) { + fullName = getTitle(); + } + + fullName = String.format("%s %s %s %s", + titlePre, + givenName, + surname, + titlePost).trim(); + + return fullName; } // Get all contacts for this person public GenericPersonContactCollection getContacts() { - return new GenericPersonContactCollection((DataCollection) get(CONTACTS)); + return new GenericPersonContactCollection( + (DataCollection) get(CONTACTS)); } // Add a contact for this person diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitChildAddForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitChildAddForm.java index 4c3799b15..1c8fd6850 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitChildAddForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitChildAddForm.java @@ -54,18 +54,21 @@ public class GenericOrganizationalUnitChildAddForm extends BasicItemForm { } public GenericOrganizationalUnitChildAddForm(String formName, - ItemSelectionModel itemModel) { + ItemSelectionModel itemModel) { super(formName, itemModel); } @Override protected void addWidgets() { - add(new Label((String) ContenttypesGlobalizationUtil.globalize( - "cms.contenttypes.ui.genericorgaunit.select_child").localize())); + add(new Label( + (String) ContenttypesGlobalizationUtil.globalize( + "cms.contenttypes.ui.genericorgaunit.select_child").localize())); + this.m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType. findByAssociatedObjectType( getChildDataObjectType())); add(this.m_itemSearch); + } @Override @@ -96,6 +99,6 @@ public class GenericOrganizationalUnitChildAddForm extends BasicItemForm { * @return The BASE_DATA_OBJECT_TYPE of the childs allowed. */ protected String getChildDataObjectType() { - return GenericOrganizationalUnit.BASE_DATA_OBJECT_TYPE; + return GenericOrganizationalUnit.BASE_DATA_OBJECT_TYPE; } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertiesStep.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertiesStep.java index 8b3940f00..f9962b5f4 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertiesStep.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertiesStep.java @@ -40,7 +40,7 @@ public class GenericOrganizationalUnitPropertiesStep extends SimpleEditStep { segmentedPanel = new SegmentedPanel(); setDefaultEditKey(EDIT_SHEET_NAME); - + addBasicProperties(itemModel, parent); addSteps(itemModel, parent); @@ -120,7 +120,7 @@ public class GenericOrganizationalUnitPropertiesStep extends SimpleEditStep { protected void addSteps(ItemSelectionModel itemModel, AuthoringKitWizard parent) { addStep(new GenericOrganizationalUnitContactPropertiesStep(itemModel, - parent), + parent), "cms.contenttypes.ui.orgaunit.childs"); addStep(new GenericOrganizationalUnitChildrenPropertiesStep(itemModel, parent), @@ -141,4 +141,8 @@ public class GenericOrganizationalUnitPropertiesStep extends SimpleEditStep { globalize(labelKey).localize()), step); } + + protected SegmentedPanel getSegmentedPanel() { + return segmentedPanel; + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertyForm.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertyForm.java index db23a717f..fc1a8f013 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertyForm.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPropertyForm.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2010 Jens Pelzetter, - for the Center of Social Politics of the University of Bremen +for the Center of Social Politics of the University of Bremen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -40,10 +40,14 @@ import org.apache.log4j.Logger; * * @author Jens Pelzetter */ -public class GenericOrganizationalUnitPropertyForm extends BasicPageForm - implements FormProcessListener, FormInitListener, FormSubmissionListener { +public class GenericOrganizationalUnitPropertyForm + extends BasicPageForm + implements FormProcessListener, + FormInitListener, + FormSubmissionListener { - private final static Logger s_log = Logger.getLogger(GenericOrganizationalUnitPropertyForm.class); + private final static Logger s_log = Logger.getLogger( + GenericOrganizationalUnitPropertyForm.class); private GenericOrganizationalUnitPropertiesStep m_step; //public static final String NAME = GenericOrganizationalUnit.NAME; //public static final String ORGAUNIT_NAME = GenericOrganizationalUnit.ORGAUNIT_NAME; @@ -55,7 +59,7 @@ public class GenericOrganizationalUnitPropertyForm extends BasicPageForm } public GenericOrganizationalUnitPropertyForm(ItemSelectionModel itemModel, - GenericOrganizationalUnitPropertiesStep step) { + GenericOrganizationalUnitPropertiesStep step) { super(ID, itemModel); m_step = step; addSubmissionListener(this); @@ -66,23 +70,26 @@ public class GenericOrganizationalUnitPropertyForm extends BasicPageForm super.addWidgets(); add(new Label( - (String) ContenttypesGlobalizationUtil.globalize("cms.contenttypes.ui.genericorganunit.name").localize())); + (String) ContenttypesGlobalizationUtil.globalize( + "cms.contenttypes.ui.genericorganunit.name").localize())); ParameterModel nameParam = new StringParameter(NAME); TextField name = new TextField(nameParam); add(name); add(new Label( - (String) ContenttypesGlobalizationUtil.globalize("cms.contenttypes.ui.genericorgaunit.addendum").localize())); + (String) ContenttypesGlobalizationUtil.globalize( + "cms.contenttypes.ui.genericorgaunit.addendum").localize())); ParameterModel addendumParam = new StringParameter(ADDENDUM); TextField addendum = new TextField(addendumParam); add(addendum); - + } @Override public void submitted(FormSectionEvent fse) throws FormProcessException { if ((m_step != null) - && getSaveCancelSection().getCancelButton().isSelected(fse.getPageState())) { + && getSaveCancelSection().getCancelButton().isSelected(fse. + getPageState())) { m_step.cancelStreamlinedCreation(fse.getPageState()); } } @@ -91,7 +98,8 @@ public class GenericOrganizationalUnitPropertyForm extends BasicPageForm public void init(FormSectionEvent fse) throws FormProcessException { FormData data = fse.getFormData(); GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) super.initBasicWidgets(fse); + (GenericOrganizationalUnit) super. + initBasicWidgets(fse); data.put(NAME, orgaunit.getName()); data.put(ADDENDUM, orgaunit.getAddendum()); @@ -102,10 +110,12 @@ public class GenericOrganizationalUnitPropertyForm extends BasicPageForm FormData data = fse.getFormData(); GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) super.processBasicWidgets(fse); + (GenericOrganizationalUnit) super. + processBasicWidgets(fse); if ((orgaunit != null) - && getSaveCancelSection().getSaveButton().isSelected(fse.getPageState())) { + && getSaveCancelSection().getSaveButton().isSelected(fse. + getPageState())) { orgaunit.setName((String) data.get(NAME)); orgaunit.setAddendum((String) data.get(ADDENDUM)); diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl index 75cd3bbdf..57c9951cd 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/CollectedVolume.pdl @@ -28,7 +28,7 @@ object type CollectedVolume extends PublicationWithPublisher { Integer[0..1] volume = ct_collected_volume.volume INTEGER; Integer[0..1] numberOfVolumes = ct_collected_volume.number_of_volumes INTEGER; Integer[0..1] numberOfPages = ct_collected_volume._number_of_pages INTEGER; - String[0..1] editon = ct_collected_volume.editon VARCHAR(256); + String[0..1] edition = ct_collected_volume.edition VARCHAR(256); reference key (ct_collected_volume.collected_volume_id); } diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/Expertise.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/Expertise.pdl index ad4a61639..be3c5f07e 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/Expertise.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/Expertise.pdl @@ -26,13 +26,14 @@ import com.arsdigita.cms.ContentPage; object type Expertise extends Publication { String[0..1] place = ct_expertise.place VARCHAR(256); - GenericOrganizationalUnit[0..1] organization = join cms_organizationalunits.organizationalunit_id - to ct_expertise.organization_id; + component GenericOrganizationalUnit[0..1] organization = join ct_expertise.organization_id + to cms_organizationalunits.organizationalunit_id; Integer[0..1] numberOfPages = ct_expertise.number_of_pages INTEGER; String[0..1] url = ct_expertise.url VARCHAR(512); - GenericOrganizationalUnit[0..1] orderer = join cms_organizationalunits.organizationalunit_id - to ct_expertise.orderer_id; + component GenericOrganizationalUnit[0..1] orderer = join ct_expertise.orderer_id + to cms_organizationalunits.organizationalunit_id; reference key (ct_expertise.expertise_id); } + diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/InProceedings.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/InProceedings.pdl index 97697697b..7701d7360 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/InProceedings.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/InProceedings.pdl @@ -30,10 +30,12 @@ object type InProceedings extends PublicationWithPublisher { Date[0..1] dateFromOfConference = ct_inproceedings.date_from_of_conference DATE; Date[0..1] dateToOfConference = ct_inproceedings.date_to_of_conference DATE; String[0..1] placeOfConference = ct_inproceedings.place_of_conference VARCHAR(256); - Integer volume = ct_inproceedings.volume INTEGER; - Integer numberOfVolumes = ct_inproceedings.numberOfVolumes INTEGER; - Integer numberOfPages = ct_inproceedings.numberOfPages INTEGER; - Integer pagesFrom = ct_inproceedings.pages_from INTEGER; - Integer pagesTo = ct_inproceedings.pages_to INTEGER; + Integer[0..1] volume = ct_inproceedings.volume INTEGER; + Integer[0..1] numberOfVolumes = ct_inproceedings.numberOfVolumes INTEGER; + Integer[0..1] numberOfPages = ct_inproceedings.numberOfPages INTEGER; + Integer[0..1] pagesFrom = ct_inproceedings.pages_from INTEGER; + Integer[0..1] pagesTo = ct_inproceedings.pages_to INTEGER; + + reference key (ct_inproceedings.inproceedings_id); } diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl index 32bb3b369..4816c7a01 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl @@ -26,8 +26,8 @@ import com.arsdigita.cms.ContentPage; object type InternetArticle extends Publication { String[0..1] place = ct_internet_article.place VARCHAR(256); - GenericOrganizationalUnit[0..1] organization = join cms_organizationalunits.organizationalunit_id - to ct_internet_article.organization_id; + component GenericOrganizationalUnit[0..1] organization = join ct_internet_article.organization_id + to cms_organizationalunits.organizationalunit_id; String[0..1] number = ct_internet_article.number VARCHAR(128); Integer[0..1] numberOfPages = ct_internet_article.number_of_pages INTEGER; String[0..1] edition = ct_internet_article.edition VARCHAR(256); diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/Publication.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/Publication.pdl index 316bf04df..8a8a32ba3 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/Publication.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/Publication.pdl @@ -32,7 +32,7 @@ object type Publication extends ContentPage { reference key (ct_publications.publication_id); } -//Assoication for the editors +//Assoication for the authors association { Publication[0..1] publication = join cms_persons.person_id @@ -40,7 +40,7 @@ association { join ct_publications_authorship.publication_id to ct_publications.publication_id; - GenericPerson[0..n] persons = join ct_publications.publication_id + GenericPerson[0..n] authors = join ct_publications.publication_id to ct_publications_authorship.publication_id, join ct_publications_authorship.person_id to cms_persons.person_id; diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl index 9d3f788a0..f02c0db37 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl @@ -26,8 +26,8 @@ import com.arsdigita.cms.ContentPage; object type PublicationWithPublisher extends Publication { String[0..1] isbn = ct_publication_with_publisher.isbn VARCHAR(17); - component Publisher[0..1] publisher = join ct_publication_with_publisher.publication_with_publisher_id - to ct_publisher.publisher_id; + component Publisher[0..1] publisher = join ct_publication_with_publisher.publisher_id + to ct_publisher.publisher_id; reference key (ct_publication_with_publisher.publication_with_publisher_id); diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/Review.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/Review.pdl index 0db262b21..a01f90a47 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/Review.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/Review.pdl @@ -29,7 +29,7 @@ object type Review extends Publication { Integer[0..1] volume = ct_review.volume INTEGER; String[0..1] issue = ct_review.issue VARCHAR(512); Integer[0..1] pagesFrom = ct_review.pages_from INTEGER; - Integer[0..1] pagesto = ct_review.pages_to INTEGER; + Integer[0..1] pagesTo = ct_review.pages_to INTEGER; String[0..1] issn = ct_review.issn VARCHAR(9); String[0..1] url = ct_review.url VARCHAR(512); Date[0..1] publicationDate = ct_review.publication_date DATE; diff --git a/ccm-sci-publications/pdl/com/arsdigita/content-types/UnPublished.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/UnPublished.pdl index 05afbfba6..4399d846e 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/UnPublished.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/UnPublished.pdl @@ -26,8 +26,8 @@ import com.arsdigita.cms.ContentPage; object type UnPublished extends Publication { String[0..1] place = ct_unpublished.place VARCHAR(256); - GenericOrganizationalUnit[0..1] organization = join cms_organizationalunits.organizationalunit_id - to ct_internet_article.organization_id; + component GenericOrganizationalUnit[0..1] organization = join ct_unpublished.organization_id + to cms_organizationalunits.organizationalunit_id; String[0..1] number = ct_unpublished.number VARCHAR(128); Integer[0..1] numberOfPages = ct_unpublished.number_of_pages INTEGER; diff --git a/ccm-sci-publications/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/InternetArticle.xml b/ccm-sci-publications/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/InternetArticle.xml index 0573086b2..d894e21ad 100644 --- a/ccm-sci-publications/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/InternetArticle.xml +++ b/ccm-sci-publications/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/InternetArticle.xml @@ -17,7 +17,7 @@ labelBundle="cms.contenttypes.cms.ui.CMSResources" descriptionKey="cms.contenttypes.internetArticle.basic_properties.description" descriptionBundle="com.arsdigita.cms.ui.CMSResources" - component="com.arsdigita.cms.contenttypes.ui.internetArticlePropertiesStep" + component="com.arsdigita.cms.contenttypes.ui.InternetArticlePropertiesStep" ordering="1"/> diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ArticleInCollectedVolumeCollection.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ArticleInCollectedVolumeCollection.java index 3d9bbc999..6f6ca7ef9 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ArticleInCollectedVolumeCollection.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ArticleInCollectedVolumeCollection.java @@ -30,8 +30,8 @@ import org.apache.log4j.Logger; */ public class ArticleInCollectedVolumeCollection extends DomainCollection { - public static final String LINKORDER = "link.article_order"; - public static final String ORDER = "article_order"; + public static final String LINKORDER = "link.articleOrder"; + public static final String ORDER = "articleOrder"; private static final Logger s_log = Logger.getLogger( ArticleInCollectedVolumeCollection.class); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/AuthorshipCollection.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/AuthorshipCollection.java index 712918527..3c10e8212 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/AuthorshipCollection.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/AuthorshipCollection.java @@ -31,14 +31,15 @@ public class AuthorshipCollection extends DomainCollection { private final static Logger s_log = Logger.getLogger(AuthorshipCollection.class); - public static final String ORDER = "authorship_order"; - public static final String LINKORDER = "link.authorship_order"; + public static final String ORDER = "authorOrder"; + public static final String LINKORDER = "link.authorOrder"; public static final String EDITOR = "editor"; public static final String LINKEDITOR = "link.editor"; public AuthorshipCollection( DataCollection dataCollection) { super(dataCollection); + m_dataCollection.addOrder(LINKORDER); } public Integer getAuthorshipOrder() { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/EditshipCollection.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/EditshipCollection.java index 6a8d221fb..49527c950 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/EditshipCollection.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/EditshipCollection.java @@ -31,10 +31,10 @@ import org.apache.log4j.Logger; */ public class EditshipCollection extends DomainCollection { - public static final String LINK_FROM = "link.from"; - public static final String LINK_TO = "link.to"; - public static final String FROM = "from"; - public static final String TO = "to"; + public static final String LINK_FROM = "link.dateFrom"; + public static final String LINK_TO = "link.dateTo"; + public static final String FROM = "dateFrom"; + public static final String TO = "dateTo"; public static final String LINKORDER = "link.editor_order"; public static final String ORDER = "editor_order"; private final static Logger s_log = diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Expertise.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Expertise.java index 34b9d649c..af3823b14 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Expertise.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Expertise.java @@ -23,6 +23,7 @@ import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.OID; import java.math.BigDecimal; +import org.apache.log4j.Logger; /** * @@ -36,7 +37,8 @@ public class Expertise extends Publication { public static final String URL = "url"; public static final String ORDERER = "orderer"; public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.cms.contentttypes.Expertise"; + "com.arsdigita.cms.contenttypes.Expertise"; + private static final Logger s_log = Logger.getLogger(Expertise.class); public Expertise() { this(BASE_DATA_OBJECT_TYPE); @@ -67,10 +69,19 @@ public class Expertise extends Publication { } public GenericOrganizationalUnit getOrganization() { - return (GenericOrganizationalUnit) get(ORGANIZATION); + DataObject dataObj; + + dataObj = (DataObject) get(ORGANIZATION); + + if (dataObj == null) { + return null; + } else { + return new GenericOrganizationalUnit(dataObj); + } } public void setOrganization(GenericOrganizationalUnit orga) { + s_log.debug(String.format("Setting organization to %s", orga.toString())); set(ORGANIZATION, orga); } @@ -91,7 +102,15 @@ public class Expertise extends Publication { } public GenericOrganizationalUnit getOrderer() { - return (GenericOrganizationalUnit) get(ORDERER); + DataObject dataObj; + + dataObj = (DataObject) get(ORDERER); + + if (dataObj == null) { + return null; + } else { + return new GenericOrganizationalUnit(dataObj); + } } public void setOrderer(GenericOrganizationalUnit orderer) { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InProceedings.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InProceedings.java index 46cda1fcd..ba16ba2ea 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InProceedings.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InProceedings.java @@ -41,7 +41,7 @@ public class InProceedings extends PublicationWithPublisher { public static final String NUMBER_OF_VOLUMES = "numberOfVolumes"; public static final String NUMBER_OF_PAGES = "numberOfPages"; public static final String PAGES_FROM = "pagesFrom"; - public static final String PAGES_TO = "pagesFrom"; + public static final String PAGES_TO = "pagesTo"; public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.InProceedings"; diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java index b1157e0d0..f474fdb67 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java @@ -71,7 +71,15 @@ public class InternetArticle extends Publication { } public GenericOrganizationalUnit getOrganization() { - return (GenericOrganizationalUnit) get(ORGANIZATION); + DataObject dataObj; + + dataObj = (DataObject) get(ORGANIZATION); + + if (dataObj == null) { + return null; + } else { + return new GenericOrganizationalUnit(dataObj); + } } public void setOrganization(GenericOrganizationalUnit orga) { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Publication.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Publication.java index 8e5238ca6..779d6bf1d 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Publication.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Publication.java @@ -37,7 +37,7 @@ public class Publication extends ContentPage { public final static String MISC = "misc"; public final static String AUTHORS = "authors"; public final static String EDITOR = "editor"; - public final static String AUTHOR_ORDER = "author_order"; + public final static String AUTHOR_ORDER = "authorOrder"; public final static String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.Publication"; @@ -62,11 +62,11 @@ public class Publication extends ContentPage { super(type); } - public int getYearOfPublication() { + public Integer getYearOfPublication() { return (Integer) get(YEAR_OF_PUBLICATION); } - public void setYearOfPublication(int year) { + public void setYearOfPublication(Integer year) { set(YEAR_OF_PUBLICATION, year); } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java index d51a0a1c1..8b20bbcc4 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java @@ -23,6 +23,7 @@ import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.OID; import java.math.BigDecimal; +import org.apache.log4j.Logger; /** * @@ -31,9 +32,11 @@ import java.math.BigDecimal; public class PublicationWithPublisher extends Publication { public final static String ISBN = "isbn"; - public final static String PUBLISHER = "publisher"; + public final static String PUBLISHER = "publisher"; public final static String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.cms.contenttypes.PublicationWithPublisher"; + "com.arsdigita.cms.contenttypes.PublicationWithPublisher"; + private static final Logger s_log = Logger.getLogger( + PublicationWithPublisher.class); public PublicationWithPublisher() { this(BASE_DATA_OBJECT_TYPE); @@ -66,7 +69,15 @@ public class PublicationWithPublisher extends Publication { } public Publisher getPublisher() { - return (Publisher) get(PUBLISHER); + DataObject dataObj; + + dataObj = (DataObject) get(PUBLISHER); + + if (dataObj == null) { + return null; + } else { + return new Publisher(dataObj); + } } public void setPublisher(Publisher publisher) { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Series.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Series.java index 297b2d945..54c267808 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Series.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/Series.java @@ -72,7 +72,7 @@ public class Series extends ContentPage { DataObject link = add(EDITORS, editor); link.set(EDITOR_FROM, from); link.set(EDITOR_TO, to); - link.set(EDITOR_ORDER, BigDecimal.valueOf(getEditors().size())); + link.set(EDITOR_ORDER, Integer.valueOf((int)getEditors().size())); } public void removeEditor(GenericPerson editor) { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublished.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublished.java index 0d3ad32ec..d72e1d527 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublished.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublished.java @@ -66,7 +66,15 @@ public abstract class UnPublished extends Publication { } public GenericOrganizationalUnit getOrganization() { - return (GenericOrganizationalUnit) get(ORGANIZATION); + DataObject dataObj; + + dataObj = (DataObject) get(ORGANIZATION); + + if (dataObj == null) { + return null; + } else { + return new GenericOrganizationalUnit(dataObj); + } } public void setOrganization(GenericOrganizationalUnit orga) { diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticlesTable.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticlesTable.java index 84e56bcb6..c455b683f 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticlesTable.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/CollectedVolumeArticlesTable.java @@ -76,6 +76,8 @@ public class CollectedVolumeArticlesTable colModel.get(1).setCellRenderer(new DeleteCellRenderer()); colModel.get(2).setCellRenderer(new UpCellRenderer()); colModel.get(3).setCellRenderer(new DownCellRenderer()); + + addTableActionListener(this); } private class CollectedVolumeArticlesTableModelBuilder diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertisePropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertisePropertyForm.java index a9cf40b37..c7b0ac8d5 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertisePropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/ExpertisePropertyForm.java @@ -119,10 +119,7 @@ public class ExpertisePropertyForm (GenericOrganizationalUnit) data.get(ITEM_SEARCH_ORDERER)); expertise.save(); - - if (m_step != null) { - m_step.maybeForwardToNextStep(fse.getPageState()); - } + } } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsPropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsPropertyForm.java index 367bc8d7f..7a0812a66 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsPropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InProceedingsPropertyForm.java @@ -123,7 +123,7 @@ public class InProceedingsPropertyForm add(new Label((String) PublicationGlobalizationUtil.globalize( "publications.ui.inproceedings.pages_from").localize())); ParameterModel pagesToParam = - new IntegerParameter(InProceedings.PAGES_FROM); + new IntegerParameter(InProceedings.PAGES_TO); TextField pagesTo = new TextField(pagesToParam); add(pagesTo); } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticlePropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticlePropertyForm.java index 2e605971b..2cd6f4023 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticlePropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/InternetArticlePropertyForm.java @@ -63,7 +63,7 @@ public class InternetArticlePropertyForm m_itemSearch = new ItemSearchWidget(ITEM_SEARCH, ContentType. findByAssociatedObjectType( - GenericOrganizationalUnit.class.getName())); + GenericOrganizationalUnit.BASE_DATA_OBJECT_TYPE)); add(m_itemSearch); add(new Label((String) PublicationGlobalizationUtil.globalize( diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorsTable.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorsTable.java index 7b9df30da..b4c3cb778 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorsTable.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationAuthorsTable.java @@ -41,7 +41,7 @@ public class PublicationAuthorsTable public PublicationAuthorsTable(ItemSelectionModel itemModel) { super(); m_itemModel = itemModel; - + setEmptyView( new Label(PublicationGlobalizationUtil.globalize( "publications.ui.authors.none"))); @@ -79,6 +79,9 @@ public class PublicationAuthorsTable colModel.get(2).setCellRenderer(new DeleteCellRenderer()); colModel.get(3).setCellRenderer(new UpCellRenderer()); colModel.get(4).setCellRenderer(new DownCellRenderer()); + + s_log.info("Adding table action listener..."); + addTableActionListener(this); } private class PublicationAuthorsTableModelBuilder @@ -294,6 +297,8 @@ public class PublicationAuthorsTable public void cellSelected(TableActionEvent event) { PageState state = event.getPageState(); + s_log.info("cellSelected!"); + GenericPerson author = new GenericPerson(new BigDecimal(event.getRowKey(). toString())); @@ -309,8 +314,10 @@ public class PublicationAuthorsTable } else if (column.getHeaderKey().toString().equals(TABLE_COL_DEL)) { publication.removeAuthor(author); } else if (column.getHeaderKey().toString().equals(TABLE_COL_UP)) { + s_log.info("UP"); authors.swapWithPrevious(author); } else if (column.getHeaderKey().toString().equals(TABLE_COL_DOWN)) { + s_log.info("DOWN"); authors.swapWithNext(author); } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationPropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationPropertyForm.java index 36ca786ac..ad7fbd4e6 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationPropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationPropertyForm.java @@ -71,7 +71,7 @@ public class PublicationPropertyForm add(new Label((String) PublicationGlobalizationUtil.globalize( "publications.ui.publication.misc").localize())); - ParameterModel miscParam = new StringParameter(Publication.ABSTRACT); + ParameterModel miscParam = new StringParameter(Publication.MISC); TextArea misc = new TextArea(miscParam); misc.setCols(60); misc.setRows(18); @@ -97,7 +97,7 @@ public class PublicationPropertyForm if ((publication != null) && getSaveCancelSection().getSaveButton(). isSelected(fse.getPageState())) { - publication.setTitle((String) data.get(Publication.NAME)); + publication.setTitle((String) data.get(Publication.NAME)); publication.setYearOfPublication((Integer) data.get( Publication.YEAR_OF_PUBLICATION)); publication.setAbstract((String) data.get(Publication.ABSTRACT)); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherPropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherPropertyForm.java index ac04f8970..928474c57 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherPropertyForm.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublicationWithPublisherPropertyForm.java @@ -96,10 +96,6 @@ private ItemSelectionModel m_itemModel; publication.setISBN((String) data.get(PublicationWithPublisher.ISBN)); publication.save(); - } - - if (m_step != null) { - m_step.maybeForwardToNextStep(fse.getPageState()); - } + } } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertiesStep.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertiesStep.java new file mode 100644 index 000000000..0413993b0 --- /dev/null +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertiesStep.java @@ -0,0 +1,46 @@ +package com.arsdigita.cms.contenttypes.ui; + +import com.arsdigita.bebop.Label; +import com.arsdigita.cms.ItemSelectionModel; +import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; +import com.arsdigita.cms.ui.authoring.BasicPageForm; +import com.arsdigita.cms.ui.authoring.SimpleEditStep; +import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; + +/** + * + * @author Jens Pelzetter + */ +public class PublisherPropertiesStep + extends GenericOrganizationalUnitPropertiesStep { + + public PublisherPropertiesStep(ItemSelectionModel itemModel, + AuthoringKitWizard parent) { + super(itemModel, parent); + } + + @Override + protected void addBasicProperties(ItemSelectionModel itemModel, + AuthoringKitWizard parent) { + SimpleEditStep basicProperties = new SimpleEditStep(itemModel, + parent, + EDIT_SHEET_NAME); + BasicPageForm editBasicSheet = new PublisherPropertyForm(itemModel, + this); + basicProperties.add(EDIT_SHEET_NAME, + (String) PublicationGlobalizationUtil.globalize( + "publications.ui.publisher.edit_basic_properties").localize(), + new WorkflowLockedComponentAccess(editBasicSheet, + itemModel), + editBasicSheet.getSaveCancelSection(). + getCancelButton()); + + basicProperties.setDisplayComponent( + getGenericOrganizationalUnitPropertySheet(itemModel)); + + getSegmentedPanel().addSegment( + new Label((String) PublicationGlobalizationUtil.globalize( + "publications.ui.publisher.basic_properties").localize()), + basicProperties); + } +} diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertyForm.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertyForm.java new file mode 100644 index 000000000..e2a5fc1eb --- /dev/null +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ui/PublisherPropertyForm.java @@ -0,0 +1,80 @@ +package com.arsdigita.cms.contenttypes.ui; + +import com.arsdigita.bebop.FormData; +import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.event.FormInitListener; +import com.arsdigita.bebop.event.FormProcessListener; +import com.arsdigita.bebop.event.FormSectionEvent; +import com.arsdigita.bebop.event.FormSubmissionListener; +import com.arsdigita.bebop.form.TextField; +import com.arsdigita.bebop.parameters.ParameterModel; +import com.arsdigita.bebop.parameters.StringParameter; +import com.arsdigita.cms.ItemSelectionModel; +import com.arsdigita.cms.contenttypes.Publisher; + +/** + * + * @author Jens Pelzetter + */ +public class PublisherPropertyForm + extends GenericOrganizationalUnitPropertyForm + implements FormProcessListener, + FormInitListener, + FormSubmissionListener { + + private PublisherPropertiesStep m_step; + public static final String PLACE = "place"; + public static final String ID = "Publisher_edit"; + + public PublisherPropertyForm(ItemSelectionModel itemModel) { + this(itemModel, null); + } + + public PublisherPropertyForm(ItemSelectionModel itemModel, + PublisherPropertiesStep step) { + super(itemModel, step); + m_step = step; + addSubmissionListener(this); + } + + @Override + protected void addWidgets() { + super.addWidgets(); + + add(new Label((String) PublicationGlobalizationUtil.globalize( + "publications.ui.publisher.place").localize())); + ParameterModel placeParam = new StringParameter(PLACE); + TextField place = new TextField(placeParam); + add(place); + } + + @Override + public void init(FormSectionEvent fse) throws FormProcessException { + super.init(fse); + + FormData data = fse.getFormData(); + Publisher publisher = (Publisher) super.initBasicWidgets(fse); + + data.put(PLACE, publisher.getPlace()); + } + + @Override + public void process(FormSectionEvent fse) throws FormProcessException { + super.process(fse); + + FormData data = fse.getFormData(); + Publisher publisher = (Publisher) super.processBasicWidgets(fse); + + if ((publisher != null) && getSaveCancelSection().getSaveButton(). + isSelected(fse.getPageState())) { + publisher.setPlace((String) data.get(PLACE)); + } + + publisher.save(); + + if (m_step != null) { + m_step.maybeForwardToNextStep(fse.getPageState()); + } + } +}