Some small improvments.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2582 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2014-03-24 06:03:30 +00:00
parent 38313c1e5f
commit 8f786439e6
13 changed files with 34659 additions and 59 deletions

View File

@ -0,0 +1,39 @@
/*
* Copyright (C) 2014 Jens Pelzetter All Rights Reserved.
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
package com.arsdigita.cms.contenttypes;
/**
*
* @author Jens Pelzetter <jens@jp-digital.de>
* @version $Id$
*/
public class HistoricDateInitializer extends ContentTypeInitializer {
public HistoricDateInitializer() {
super("ccm-cms-types-historicdate.pdl.mf", HistoricDate.BASE_DATA_OBJECT_TYPE);
}
@Override
public String getTraversalXML() {
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/HistoricDate.xml";
}
}

View File

@ -34,8 +34,8 @@
storage="ccm-core/templating.properties"/> storage="ccm-core/templating.properties"/>
<config class="com.arsdigita.ui.UIConfig" <config class="com.arsdigita.ui.UIConfig"
storage="ccm-core/ui.properties"/> storage="ccm-core/ui.properties"/>
<config class="com.arsdigita.util.SystemInformation" <!--<config class="com.arsdigita.util.SystemInformation"
storage="ccm-core/systeminformation.properties"/> storage="ccm-core/systeminformation.properties"/>-->
<config class="com.arsdigita.versioning.VersioningConfig" <config class="com.arsdigita.versioning.VersioningConfig"
storage="ccm-core/versioning.properties"/> storage="ccm-core/versioning.properties"/>
<config class="com.arsdigita.web.WebConfig" <config class="com.arsdigita.web.WebConfig"

View File

@ -45,7 +45,6 @@ import com.arsdigita.toolbox.CharsetEncodingProvider;
import com.arsdigita.ui.admin.Admin; import com.arsdigita.ui.admin.Admin;
import com.arsdigita.ui.login.Login; import com.arsdigita.ui.login.Login;
import com.arsdigita.ui.permissions.Permissions; import com.arsdigita.ui.permissions.Permissions;
import com.arsdigita.util.SystemInformation;
import com.arsdigita.util.URLRewriter; import com.arsdigita.util.URLRewriter;
import com.arsdigita.web.ApplicationType; import com.arsdigita.web.ApplicationType;
import com.arsdigita.web.Host; import com.arsdigita.web.Host;

View File

@ -7,48 +7,61 @@ package com.arsdigita.util;
import com.arsdigita.runtime.AbstractConfig; import com.arsdigita.runtime.AbstractConfig;
import com.arsdigita.util.parameter.Parameter; import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.StringParameter; import com.arsdigita.util.parameter.StringParameter;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Properties;
/** /**
* Provides the system name of the CCM Spin off (eg aplaws or ScientificCMS) and * Provides the system name of the CCM Spin off (eg aplaws or ScientificCMS) and the version number.
* the version number. It's primary use is to provide the theme engine with that * It's primary use is to provide the theme engine with that information for display. It is
* information for display. * currently stored as a (configurable) property, but should be retrieved from the build system in
* It is currently stored as a (configurable) property, but should be retrieved * the future.
* from the build system in the future. *
*
* @author Sören Bernstein <quasi@quasiweb.de> * @author Sören Bernstein <quasi@quasiweb.de>
* @author Jens Pelzetter * @author Jens Pelzetter
*/ */
public class SystemInformation extends AbstractConfig { //implements Lockable { public class SystemInformation { //extends AbstractConfig { //implements Lockable {
private Parameter sysInfoParam = new StringParameter( // private Parameter sysInfoParam = new StringParameter(
"ccm.systeminformation", // "ccm.systeminformation",
Parameter.REQUIRED, // Parameter.REQUIRED,
"version::2.x.y; appname::LibreCCM; apphomepage::http://www.libreccm.org;"); // "version::2.x.y; appname::LibreCCM; apphomepage::http://www.libreccm.org;");
private Map<String, String> systemInformation;// = new HashMap<String, String>(); private final Map<String, String> sysInfo = new HashMap<String, String>();
//private boolean locked = false; //private boolean locked = false;
/** /**
* The one and only instance of this class * The one and only instance of this class
*/ */
private static SystemInformation INSTANCE;// = new SystemInformation(); private final static SystemInformation INSTANCE = new SystemInformation();
public SystemInformation() { public SystemInformation() {
register(sysInfoParam); //register(sysInfoParam);
loadInfo(); //loadInfo();
final Properties properties = new Properties();
try {
properties.load(ResourceManager.getInstance().getResourceAsStream("/WEB-INF/systeminformation.properties"));
} catch (IOException ex) {
throw new UncheckedWrapperException(ex);
}
for (String key : properties.stringPropertyNames()) {
sysInfo.put(key, properties.getProperty(key));
}
} }
/** /**
* @return The instance of this class. * @return The instance of this class.
*/ */
public static SystemInformation getInstance() { public static SystemInformation getInstance() {
if (INSTANCE == null) { // if (INSTANCE == null) {
INSTANCE = new SystemInformation(); // INSTANCE = new SystemInformation();
INSTANCE.load(); // INSTANCE.load();
} // }
return INSTANCE; return INSTANCE;
} }
@ -82,15 +95,15 @@ public class SystemInformation extends AbstractConfig { //implements Lockable {
* *
* @throws IllegalArgumentException if key is null or empty * @throws IllegalArgumentException if key is null or empty
*/ */
final public String get(String key) throws IllegalArgumentException { final public String get(final String key) throws IllegalArgumentException {
if (systemInformation == null) { // if (sysInfo == null) {
loadMap(); // loadMap();
} // }
if (key == null || key.isEmpty()) { if (key == null || key.isEmpty()) {
throw new IllegalArgumentException("Parameter key must not be null or empty."); throw new IllegalArgumentException("Parameter key must not be null or empty.");
} }
return systemInformation.get(key); return sysInfo.get(key);
} }
/** /**
@ -99,11 +112,11 @@ public class SystemInformation extends AbstractConfig { //implements Lockable {
* @return iterator of map * @return iterator of map
*/ */
final public Iterator<Map.Entry<String, String>> iterator() { final public Iterator<Map.Entry<String, String>> iterator() {
if (systemInformation == null) { // if (sysInfo == null) {
loadMap(); // loadMap();
} // }
return (systemInformation.entrySet()).iterator(); return sysInfo.entrySet().iterator();
} }
/** /**
@ -111,12 +124,12 @@ public class SystemInformation extends AbstractConfig { //implements Lockable {
* @return * @return
*/ */
final public boolean isEmpty() { final public boolean isEmpty() {
if (systemInformation == null) { // if (sysInfo == null) {
loadMap(); // loadMap();
} // }
return systemInformation.isEmpty(); return sysInfo.isEmpty();
} }
/** /**
@ -134,20 +147,20 @@ public class SystemInformation extends AbstractConfig { //implements Lockable {
// final public boolean isLocked() { // final public boolean isLocked() {
// return locked; // return locked;
// } // }
private void loadMap() { // private void loadMap() {
systemInformation = new HashMap<String, String>(); // sysInfo = new HashMap<String, String>();
//
final String[] tokens = ((String) get(sysInfoParam)).split(";"); // final String[] tokens = ((String) get(sysInfoParam)).split(";");
for (String token : tokens) { // for (String token : tokens) {
processToken(token); // processToken(token);
} // }
} // }
//
private void processToken(final String token) { // private void processToken(final String token) {
final String[] parts = token.split("::"); // final String[] parts = token.split("::");
if (2 == parts.length) { // if (2 == parts.length) {
systemInformation.put(parts[0].trim(), parts[1].trim()); // sysInfo.put(parts[0].trim(), parts[1].trim());
} // }
} // }
} }

View File

@ -0,0 +1,5 @@
version = 2.3.x
appname = ScientificCMS
apphomepage = http://www.scientificcms.org
ccm.test = "Loaded from property file"

View File

@ -391,13 +391,13 @@
<!--<xsl:call-template name="mandalay:lastModified"/>--> <!--<xsl:call-template name="mandalay:lastModified"/>-->
<xsl:choose> <xsl:choose>
<!-- Detail view of a content item --> <!-- Detail view of a content item -->
<xsl:when test="$resultTree/bobop:page/cms:item/masterVersion/auditing"> <xsl:when test="$resultTree/bebop:page/cms:item/masterVersion/auditing">
<xsl:apply-templates select="$resultTree/bobop:page/cms:item/masterVersion/auditing" <xsl:apply-templates select="$resultTree/bebop:page/cms:item/masterVersion/auditing"
mode="auditing"/> mode="auditing"/>
</xsl:when> </xsl:when>
<!-- Greeting Item --> <!-- Greeting Item -->
<xsl:when test="$resultTree/bebop:page/nav:greetingItem/masterVersion/auditing"> <xsl:when test="$resultTree/bebop:page/nav:greetingItem/masterVersion/auditing">
<xsl:apply-templates select="$resultTree/bobop:page/nav:greetingItem/masterVersion/auditing" <xsl:apply-templates select="$resultTree/bebop:page/nav:greetingItem/masterVersion/auditing"
mode="auditing"/> mode="auditing"/>
</xsl:when> </xsl:when>

View File

@ -49,7 +49,7 @@ public class GreyLiteratureConverter extends AbstractRisConverter {
greyLiterature = (GreyLiterature) publication; greyLiterature = (GreyLiterature) publication;
getRisBuilder().setType(RisType.UNPD); getRisBuilder().setType(RisType.UNPB);
convertAuthors(publication); convertAuthors(publication);
convertTitle(publication); convertTitle(publication);
convertYear(publication); convertYear(publication);

View File

@ -188,7 +188,7 @@ public enum RisType {
/** /**
* Unpublished work * Unpublished work
*/ */
UNPD, UNPB,
/** /**
* Video recording * Video recording
*/ */

View File

@ -55,6 +55,12 @@ public class MiscConverter implements BibTeXConverter<GreyLiterature, UnPublishe
importReport.setType(GreyLiterature.class.getName()); importReport.setType(GreyLiterature.class.getName());
bibTeXUtil.processAuthors(pubKey,
bibTeXEntry.getField(BibTeXEntry.KEY_AUTHOR),
publication,
pretend,
importReport,
pretend);
bibTeXUtil.processIntField(pubKey, bibTeXUtil.processIntField(pubKey,
BibTeXEntry.KEY_YEAR, BibTeXEntry.KEY_YEAR,
bibTeXEntry.getField(BibTeXEntry.KEY_YEAR), bibTeXEntry.getField(BibTeXEntry.KEY_YEAR),
@ -73,7 +79,7 @@ public class MiscConverter implements BibTeXConverter<GreyLiterature, UnPublishe
} }
public String getBibTeXType() { public String getBibTeXType() {
return BibTeXEntry.TYPE_MASTERSTHESIS.getValue(); return BibTeXEntry.TYPE_MISC.getValue();
} }
} }

32211
doc/PDLEntities.eps 100644

File diff suppressed because it is too large Load Diff

BIN
doc/PDLEntities.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 KiB

View File

@ -0,0 +1,648 @@
@startuml
namespace com.arsdigita.auditing {
class BasicAuditTrail
com.arsdigita.kernel.ACSObject <|-- BasicAuditTrail
BasicAuditTrail -- com.arsdigita.kernel.User
}
namespace com.arsdigita.atoz {
class AtoZ
class AtoZProvider
class CategoryProvider
class CategoryAlias
class ItemAlias
class ItemProvider
com.arsdigita.web.Application <|-- AtoZ
com.arsdigita.kernel.ACSObject <|-- AtoZProvider
com.arsdigita.kernel.ACSObject <|-- ItemAlias
AtoZProvider <|-- CategoryProvider
AtoZProvider <|-- ItemProvider
AtoZ -- AtoZProvider
CategoryProvider -- com.arsdigita.categorization.Category
CategoryProvider -- com.arsdigita.cms.ContentType
ItemAlias -- ItemProvider
ItemAlias -- com.arsdigita.cms.ContentType
ItemProvider -- com.arsdigita.categorization.Category
}
namespace com.arsdigita.atoz.siteproxy {
class SiteProxyProvider
com.arsdigita.atoz.AtoZProvider <|-- SiteProxyProvider
SiteProxyProvider -- com.arsdigita.categorization.Category
}
namespace com.arsdigita.auth.http {
class HttpAuth
class Nounce
class UserLogin
com.arsdigita.web.Application <|-- HTTPAuth
com.arsdigita.kernel.ACSObject <|-- UserLogin
}
namespace com.arsdigita.categorization {
class Category
class CategoryLocalization
class UseContext
class CategoryPurpose
com.arsdigita.kernel.ACSObject <|-- Category
com.arsdigita.kernel.ACSObject <|-- CategoryLocalization
com.arsdigita.kernel.ACSObject <|-- CategoryPurpose
UseContext -- com.arsdigita.kernel.ACSObject
Category -- com.arsdigita.kernel.ACSObject
Category -- CategoryLocalization
Category -- UseContext
CategoryPurpose -- Category
}
namespace com.arsdigita.cms {
class Asset
class AuthoringKit
class AuthoringStep
class CategoryTemplateMapping
class CMSTask
class CMSTaskType
class ContentCenter
class ContentBundle
class ContentItem
class ContentPage
class ContentSection
class ContentType
class ContentTypeLifecycleDefinition
class ContentTypeWorkflowTemplate
class FileAsset
class Folder
class ImageAsset
class ImageMimeType
class ItemTemplateMapping
class Lifecycle
class LifecycleDefinition
class LifecycleService
class Link
class MimeType
class MimeTypeExtension
class MimeTypeStatus
class Phase
class PhaseDefinition
class PublishLock
class PostConvertHTML
class PreConvertHTML
class PublishedLink
class RelationAttribute
class ResourceType
class Resource
class ResourceMapping
class ReusableImageAsset
class SectionTemplateMapping
class Service
class Standalone
class TaskEventURLGenerator
class TemplateContext
class Template
class TextAsset
class TextMimeType
class UpgradeProcess
class UserDefinedContentItem
class UserHomeFolderMap
Asset <|-- FileAsset
Asset <|-- ImageAsset
Asset <|-- TextAsset
com.arsdigita.kernel.ACSObject <|-- AuthoringKit
com.arsdigita.kernel.ACSObject <|-- AuthoringStep
com.arsdigita.kernel.ACSObject <|-- CategoryTemplateMapping
com.arsdigita.kernel.ACSObject <|-- ContentType
com.arsdigita.kernel.ACSObject <|-- Lifecycle
com.arsdigita.kernel.ACSObject <|-- LifecycleDefinition
com.arsdigita.kernel.ACSObject <|-- ItemTemplateMapping
com.arsdigita.kernel.ACSObject <|-- Phase
com.arsdigita.kernel.ACSObject <|-- PhaseDefinition
com.arsdigita.kernel.ACSObject <|-- RelationAttribute
com.arsdigita.kernel.ACSObject <|-- SectionTemplateMapping
com.arsdigita.kernel.ACSObject <|-- UserHomeFolderMap
com.arsdigita.web.Application <|-- ContentCenter
com.arsdigita.web.Application <|-- ContentSection
com.arsdigita.web.Application <|-- Service
com.arsdigita.versioning.VersionedACSObject <|-- ContentItem
com.arsdigita.workflow.simple.UserTask <|-- CMSTask
ContentItem <|-- Asset
ContentItem <|-- ContentBundle
ContentItem <|-- ContentPage
ContentItem <|-- Folder
ImageAsset <|-- ReusableImageAsset
MimeType <|-- ImageMimeType
TextAsset <|-- Template
Asset -- MimeType
AuthoringKit -- ContentType
AuthoringKit -- AuthoringStep
CategoryTemplateMapping -- Category
CategoryTemplateMapping -- ContentType
CategoryTemplateMapping -- Template
CategoryTemplateMapping -- ContentSection
CMSTask -- CMSTaskType
ContentItem -- com.arsdigita.kernel.ACSObject
ContentItem -- ContentType
ContentItem -- ContentSection
ContentItem -- Folder
ContentItem -- Lifecycle
ContentSection -- com.arsdigita.globalization.Charset
ContentSection -- com.arsdigita.globalization.Charset.Locale
ContentSection -- com.arsdigita.kernel.Group
ContentSection -- Folder
ContentSection -- LifecycleDefinition
ContentType -- com.arsdigita.formbuilder.FormSection
ContentType -- ContentSection
ItemTemplateMapping -- Template
ItemTemplateMapping -- ContentItem
Lifecycle -- LifecycleDefinition
Lifecycle -- Phase
LifecycleDefinition -- PhaseDefinition
LifecycleService -- com.arsdigita.kernel.ACSObject
LifecycleService -- Lifecycle
MimeType -- MimeTypeExtension
Phase -- PhaseDefinition
PublishedLink -- ACSObject
PublishedLink -- ContentItem
Resource -- ResourceType
SectionTemplateMapping -- ContentSection
SectionTemplateMapping -- ContentType
SectionTemplateMapping -- Template
TaskEventURLGenerator -- CMSTaskType
UserHomeFolderMap -- Folder
UserHomeFolderMap -- ContentSection
UserHomeFolderMap -- User
com.arsdigita.workflow.simple.WorkflowTemplate -- ContentSection
}
namespace com.arsdigita.cms.contentassets {
class DublinCoreES
class FileAttachment
class GenericOrgaUnitTextAsset
class ItemImageAttachment
class Notes
class RelatedLink
com.arsdigita.cms.ContentItem <|-- DublinCoreES
com.arsdigita.cms.FileAsset <|-- FileAttachment
com.arsdigita.cms.contenttypes.Link <|-- ReleatedLink
com.arsdigita.kernel.ACSObject <|-- ItemImageAttachment
com.arsdigita.kernel.ACSObject <|-- Notes
com.arsdigita.kernel.ACSObject <|-- GenericOrgaUnitTextAsset
DublinCoreES -- com.arsdigita.cms.ContentItem
FileAttachment -- com.arsdigita.cms.ContentItem
GenericOrgaUnitTextAsset -- com.arsdigita.cms.contenttypes.GenericOrganizationalUnit
ItemImageAttachment -- Link
ItemImageAttachment -- ReusableImageAsset
ItemImageAttachment -- com.arsdigita.cms.ContentItem
Note -- com.arsdigita.cms.ContentItem
ReleatedLink -- ContentItem
ReleatedLink -- com.arsdigita.cms.MimeType
}
namespace com.arsdigita.cms.contenttypes {
class AddressType
class Agenda
class Article
class Bookmark
class Contact
class ContentGroup
class ContentGroupAssociation
class DecisionTree
class DecisionTreeSection
class DecisionTreeOption
class DecisionTreeSectionOptionTarget
class Event
class FAQItem
class FileStorageItem
class GenericAddress
class GenericAddressBundle
class GenericArticle
class GenericContact
class GenericContactBundle
class GenericContactEntry
class GenericOrganizationalUnit
class GenericOrganizationalUnitBundle
class GenericPerson
class GenericPersonBundle
class GlossaryItem
class HistoricDate
class Image
class InlineSite
class Job
class LegalNotice
class Link
class PublicPersonalProfile
class PublicPersonalProfileBundle
class PublicPersonalProfileNavItem
com.arsdigita.kernel.ACSObject <|-- Link
com.arsdigita.cms.ContentItem <|-- ContentGroup
com.arsdigita.cms.ContentItem <|-- ContentGroupAssociation
com.arsdigita.cms.ContentBundle <|-- GenericAddressBundle
com.arsdigita.cms.ContentBundle <|-- GenericContactBundle
com.arsdigita.cms.ContentBundle <|-- GenericOrganizationalUnitBundle
com.arsdigita.cms.ContentBundle <|-- GenericPersonBundle
com.arsdigita.cms.ContentBundle <|-- PublicPersonalProfileBundle
com.arsdigita.cms.ContentItem <|-- GenericContactEntry
com.arsdigita.cms.ContentItem <|-- DecisionTreeSectionOption
com.arsdigita.cms.ContentItem <|-- DecisionTreeOptionTarget
com.arsdigita.cms.ContentPage <|-- Bookmark
com.arsdigita.cms.ContentPage <|-- DecisionTree
com.arsdigita.cms.ContentPage <|-- DecisionTreeSection
com.arsdigita.cms.ContentPage <|-- FAQItem
com.arsdigita.cms.ContentPage <|-- FileStorageItem
com.arsdigita.cms.ContentPage <|-- GenericAddress
com.arsdigita.cms.ContentPage <|-- GenericArticle
com.arsdigita.cms.ContentPage <|-- GenericContact
com.arsdigita.cms.ContentPage <|-- GenericOrganizationalUnit
com.arsdigita.cms.ContentPage <|-- GenericPerson
com.arsdigita.cms.ContentPage <|-- GlossaryItem
com.arsdigita.cms.ContentPage <|-- Image
com.arsdigita.cms.ContentPage <|-- InlineSite
com.arsdigita.cms.ContentPage <|-- Job
com.arsdigita.cms.ContentPage <|-- PublicPersonalProfile
GenericAddress <|-- Address
GenericArticle <|-- Agenda
GenericArticle <|-- Article
GenericArticle <|-- Event
GenericArticle <|-- HistoricDate
GenericArticle <|-- LegalNotice
GenericContact <|-- Contact
ContentGroup -- ContentGroupAssociation
ContentGroupAssociation -- com.arsdigita.cms.ContentItem
DecisionTree -- DecisionTreeSection
DecisionTreeSection -- DecisionTreeSectionOption
DecisionTreeSection -- com.arsdigita.cms.TextAsset
DecisionTreeSectionOption -- DecisionTreeptionTarget
FileStorageItem -- com.arsdigita.cms.FileAsset
GenericContact -- GenericContactEntry
GenericContactBundle -- GenericPersonBundle
GenericContactBundle -- GenericAddressBundle
GenericOrganizationalUnitBundle -- GenericContactBundle
GenericOrganizationalUnitBundle -- GenericPersonBundle
Image -- com.arsdigita.cms.ImageAsset
Link -- ContentItem
PublicPersonalProfileBundle -- GenericPersonBundle
PublicPersonalProfile -- PublicPersonalProfileNavItem
}
namespace com.arsdigita.cms.formbuilder {
class FormItem
class FormSectionItem
class FormSectionWrapper
com.arsdigita.cms.ContentPage <|-- FormItem
com.arsdigita.cms.ContentPage <|-- FormSectionItem
com.arsdigita.formbuoilder.Component <|-- FormSectionWrapper
FormItem -- com.arsdigita.formbuilder.FormSection
FormSection -- com.arsdigita.formbuilder.FormSection
FormSectionWrapper -- FormSectionItem
}
namespace com.arsdigita.cms.portlet {
class ContentDirectoryPortlet
class ContentItemPortlet
class ContentSectionsPortlet
class TaskPortlet
com.arsdigita.portal.Portlet <|-- ContentDirectoryPortlet
com.arsdigita.portal.Portlet <|-- ContentItemPortlet
com.arsdigita.portal.Portlet <|-- ContentSectionsPortlet
com.arsdigita.portal.Portlet <|-- TaskPortlet
ContentItemPortlet -- com.arsdigita.cms.ContentItem
}
namespace com.arsdigita.cms.publicpersonalprofile {
class PublicPersonalProfile
com.arsdigita.kernel.Application <|-- PublicPersonalProfile
}
namespace com.arsdigita.cms.publishToFile {
class QueueEntry
class PublishedFile
class PublishedLink
QueueEntry -- com.arsdigita.web.Host
}
namespace com.arsdigita.formbuilder {
class Component
class DataDrivenSelect
class FormSection
class Listener
class MetaObject
class ObjectType
class Option
class PersistentDataQuery
class ProcessListener
class Widget
class WidgetLabel
com.arsdigita.kernel.ACSObject <|-- Component
com.arsdigita.kernel.ACSObject <|-- Listener
com.arsdigita.kernel.ACSObject <|-- MetaObject
com.arsdigita.kernel.ACSObject <|-- PersistentDataQuery
com.arsdigita.kernel.ACSObject <|-- ProcessListener
Component <|-- FormSection
Component <|-- Option
Component <|-- Widget
Component <|-- WidgetLabel
Widget <|-- DataDrivenSelect
Listener -- Widget
FormSection -- ProcessListener
Widget -- WidgetLabel
}
namespace com.arsdigita.formbuilder.actions {
class ConfirmEmailListener
class ConfirmRedirectListener
class RemoteServerPostListener
class SimpleEmailListener
class TemplateEmailListener
class XMLEmailListener
com.arsdigita.formbuilder.ProcessListener <|-- ConfirmEmailListener
com.arsdigita.formbuilder.ProcessListener <|-- ConfirmRedirectListener
com.arsdigita.formbuilder.ProcessListener <|-- RemoteServerPostListener
com.arsdigita.formbuilder.ProcessListener <|-- SimpleEmailListener
com.arsdigita.formbuilder.ProcessListener <|-- TemplateEmailListener
com.arsdigita.formbuilder.ProcessListener <|-- XMLEmailListener
}
namespace com.arsdigita.globalization.Charset {
class Charset
class Locale
class MessageCatalog
Charset -- Locale
MessageCatalog -- Locale
}
namespace com.arsdigita.kernel {
class ACSObject
class EmailAdress
class Group
class Party
class PartyEmail
class PersonName
class ResourceType
class Resource
class Role
class ObjectContext
class User
class UserAuthentication
ACSObject <|-- Party
Party <|-- Group
Party <|-- User
Group -- User
Group -- Role
ObjectContext -- ACSObject
Party -- PartyEmail
Party -- com.arsdigita.kernel.permissions.Permission
Party -- UserAuthentication
Resource -- ResourceType
User -- com.arsdigita.kernel.permissions.Permission
User -- PersonName
User -- UserAuthentication
}
namespace com.arsdigita.kernel.permissions {
class Permission
class Privilege
Permission -- com.arsdigita.kernel.ACSObject
Permission -- Privilege
}
namespace com.arsdigita.kernel.security {
class KeyStore
}
namespace com.arsdigita.messaging {
class Message
class MessagePart
class Thread
class ThreadedMessage
com.arsdigita.kernel.ACSObject <|-- Message
com.arsdigita.kernel.ACSObject <|-- Thread
Message <|-- ThreadedMessage
Message -- MessagePart
Message -- com.arsdigita.kernel.Party
Thread -- ThreadedMessage
Thread -- Party
}
namespace com.arsdigita.notification {
class Digest
class Notification
class QueueItem
com.arsdigita.kernel.ACSObject <|-- Digest
com.arsdigita.kernel.ACSObject <|-- Notification
}
namespace com.arsdigita.persistence {
class DynamicAssociation
class DynamicObjectType
com.arsdigita.kernel.ACSObject <|-- DynamicAssociation
com.arsdigita.kernel.ACSObject <|-- DynamicObjectType
}
namespace com.arsdigita.portal {
class AgentPortlet
class Portal
class Portlet
class PortletType
Portlet <|-- AgentPortlet
com.arsdigita.kernel.Resource <|-- Portal
com.arsdigita.kernel.Resource <|-- Portlet
com.arsdigita.kernel.ResourceType <|-- PortletType
Portal -- Portlet
PortletType -- com.arsdigita.web.ApplicationType
}
namespace com.arsdigita.cms.portletdataprovider {
class PortletDataProvider
com.arsdigita.web.Application <|-- PortletDataProvider
}
namespace com.arsdigita.preferences {
class PreferenceParameter
class Preferences
Preferences -- PerferenceParameter
}
namespace com.arsdigita.runtime {
class Initializer
}
namespace com.arsdigita.search.lucene {
class Document
class IndexId
}
namespace com.arsdigita.search.intermedia {
class SearchContent
}
namespace com.arsdigita.ui.Login {
class Login
com.arsdigita.web.Application <|-- Login
}
namespace com.arsdigita.ui.admin {
class Admin
com.arsdigita.web.Application <|-- Admin
}
namespace com.arsdigita.ui.permissions {
class Permissions
com.arsdigita.web.Application <|-- Permissions
}
namespace com.arsdigita.versioning {
class BlobOperation
class ClobOperation
class DataObjectChange
class EventType
class GenericOperation
class JavaClass
class Operation
class Tag
class Txn
class VersionedACSObject
com.arsdigita.kernel.ACSObject <|-- VersionedACSObject
Operation <|-- BlobOperation
Operation <|-- ClobOperation
Operation <|-- GenericOperation
DataObjectChange -- Txn
DataObjectChange --Operation
EventType -- Operation
JavaClass --Operation
Txn -- com.arsdigita.kernel.User
Txn -- Tag
Txn -- DataObjectChange
}
namespace com.arsdigita.web {
class Application
class ApplicationType
class Host
com.arsdigita.kernel.Resource <|-- Application
com.arsdigita.kernel.ResourceType <|-- ApplicationType
Application -- com.arsdigita.kernel.Group
ApplicationType -- com.arsdigita.kernel.permissions.Privilege
ApplicationType -- com.arsdigita.kernel.Group
}
namespace com.arsdigita.webdevsupport {
class WebDevSupport
com.arsdigita.web.Application <|-- WebDevSupport
}
namespace com.arsdigita.workflow.simple {
class Task
class TaskComment
class UserTask
class Workflow
class WorkflowTemplate
com.arsdigita.kernel.ACSObject <|-- Task
Task <|-- UserTask
Task <|-- Workflow
Workflow <|-- WorkflowTemplate
Task -- TaskComment
UserTask -- com.arsdigita.kernel.User
UserTask -- com.arsdigita.kernel.Group
Workflow --Task
Workflow -- com.arsdigita.kernel.ACSObject
}
namespace com.arsdigita.workspace {
class BookmarkApplication
class Bookmark
class BookmarkPortlet
com.arsdigita.web.Application <|-- BookmarkApplication
com.arsdigita.kernel.ACSObject <|-- Bookmark
com.arsdigita.portal.Portlet <|-- BookmarkPortlet
BookmarkApplication -- Bookmark
}
@enduml

1679
doc/PDLEntities.svg 100644

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 338 KiB