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 4816c7a01..2c9eb5713 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/InternetArticle.pdl @@ -28,6 +28,7 @@ object type InternetArticle extends Publication { String[0..1] place = ct_internet_article.place VARCHAR(256); component GenericOrganizationalUnit[0..1] organization = join ct_internet_article.organization_id to cms_organizationalunits.organizationalunit_id; + String[0..1] url = ct_article_in_journal.url VARCHAR(512); 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/PublicationWithPublisher.pdl b/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl index f02c0db37..1d94c64e7 100644 --- a/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl +++ b/ccm-sci-publications/pdl/com/arsdigita/content-types/PublicationWithPublisher.pdl @@ -26,6 +26,7 @@ import com.arsdigita.cms.ContentPage; object type PublicationWithPublisher extends Publication { String[0..1] isbn = ct_publication_with_publisher.isbn VARCHAR(17); + String[0..1] url = ct_article_in_journal.url VARCHAR(512); component Publisher[0..1] publisher = join ct_publication_with_publisher.publisher_id to ct_publisher.publisher_id; diff --git a/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml b/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml index 1964a592e..53fb6240a 100644 --- a/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml +++ b/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml @@ -11,6 +11,8 @@ + + diff --git a/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationList.xml b/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationList.xml index 69fe0529d..60635948f 100644 --- a/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationList.xml +++ b/ccm-sci-publications/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationList.xml @@ -13,6 +13,10 @@ + + + + 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 f474fdb67..8374ca13e 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/InternetArticle.java @@ -37,10 +37,10 @@ public class InternetArticle extends Publication { public static final String NUMBER_OF_PAGES = "numberOfPages"; public static final String EDITION = "edition"; public static final String ISSN = "issn"; + public static final String URL = "url"; public static final String PUBLICATION_DATE = "publicationDate"; - public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.cms.contenttypes.InternetArticle"; + "com.arsdigita.cms.contenttypes.InternetArticle"; public InternetArticle() { this(BASE_DATA_OBJECT_TYPE); @@ -126,4 +126,11 @@ public class InternetArticle extends Publication { set(PUBLICATION_DATE, pubDate); } + public String getUrl() { + return (String) get(URL); + } + + public void setUrl(String url) { + set(URL, url); + } } 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 693e10e10..16eae3dd2 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisher.java @@ -45,6 +45,7 @@ import org.apache.log4j.Logger; public class PublicationWithPublisher extends Publication { public final static String ISBN = "isbn"; + public static final String URL = "url"; public final static String PUBLISHER = "publisher"; public final static String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.PublicationWithPublisher"; @@ -92,6 +93,14 @@ public class PublicationWithPublisher extends Publication { set(ISBN, isbn); } + public String getUrl() { + return (String) get(URL); + } + + public void setUrl(String url) { + set(URL, url); + } + /** * Retrieves the publisher of the publication. * diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/doc-files/PublicationModule.png b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/doc-files/PublicationModule.png index 9e406b290..58ac481ee 100644 Binary files a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/doc-files/PublicationModule.png and b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/doc-files/PublicationModule.png differ 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 49f1453d4..afe87832f 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 @@ -66,6 +66,12 @@ public class InternetArticlePropertyForm GenericOrganizationalUnit.BASE_DATA_OBJECT_TYPE)); add(m_itemSearch); + add(new Label((String) PublicationGlobalizationUtil.globalize( + "publications.ui.internetarticle.url").localize())); + ParameterModel urlParam = new StringParameter(InternetArticle.URL); + TextField url = new TextField(urlParam); + add(url); + add(new Label((String) PublicationGlobalizationUtil.globalize( "publications.ui.internetarticle.number").localize())); ParameterModel numberParam = @@ -116,6 +122,7 @@ public class InternetArticlePropertyForm data.put(InternetArticle.PLACE, article.getPlace()); data.put(ITEM_SEARCH, article.getOrganization()); + data.put(InternetArticle.URL, article.getUrl()); data.put(InternetArticle.NUMBER, article.getNumber()); data.put(InternetArticle.NUMBER_OF_PAGES, article.getNumberOfPages()); data.put(InternetArticle.EDITION, article.getEdition()); @@ -136,6 +143,8 @@ public class InternetArticlePropertyForm article.setPlace((String) data.get(InternetArticle.PLACE)); article.setOrganization( (GenericOrganizationalUnit) data.get(ITEM_SEARCH)); + article.setUrl( + (String) data.get(InternetArticle.URL)); article.setNumber((String) data.get(InternetArticle.NUMBER)); article.setNumberOfPages( (Integer) data.get(InternetArticle.NUMBER_OF_PAGES)); @@ -144,7 +153,7 @@ public class InternetArticlePropertyForm article.setPublicationDate( (Date) data.get(InternetArticle.PUBLICATION_DATE)); - article.save(); + article.save(); } } } 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 928474c57..81f579e53 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 @@ -33,7 +33,7 @@ public class PublicationWithPublisherPropertyForm private ItemSearchWidget m_itemSearch; private final String ITEM_SEARCH = "publisher"; public static final String ID = "PublicationWithPublisherEdit"; -private ItemSelectionModel m_itemModel; + private ItemSelectionModel m_itemModel; public PublicationWithPublisherPropertyForm(ItemSelectionModel itemModel) { this(itemModel, null); @@ -66,6 +66,14 @@ private ItemSelectionModel m_itemModel; PublicationWithPublisher.ISBN); TextField isbn = new TextField(isbnParam); add(isbn); + + + add(new Label((String) PublicationGlobalizationUtil.globalize( + "publications.ui.with_publisher.url").localize())); + ParameterModel urlParam = new StringParameter( + PublicationWithPublisher.URL); + TextField url = new TextField(urlParam); + add(url); } @Override @@ -79,6 +87,8 @@ private ItemSelectionModel m_itemModel; data.put(ITEM_SEARCH, publication.getPublisher()); data.put(PublicationWithPublisher.ISBN, publication.getISBN()); + data.put(PublicationWithPublisher.URL, publication.getUrl()); + } @Override @@ -94,8 +104,9 @@ private ItemSelectionModel m_itemModel; isSelected(fse.getPageState())) { publication.setPublisher((Publisher) data.get(ITEM_SEARCH)); publication.setISBN((String) data.get(PublicationWithPublisher.ISBN)); + publication.setUrl((String) data.get(PublicationWithPublisher.URL)); publication.save(); - } + } } }