Modul esdservice hängt von ldn-types-contact ab.
git-svn-id: https://svn.libreccm.org/ccm/trunk@621 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
4ca5cc9293
commit
3f78796a73
|
|
@ -0,0 +1 @@
|
||||||
|
build
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||||
|
name="ccm-cms-types-esdservice"
|
||||||
|
prettyName="Red Hat CCM Content Types"
|
||||||
|
version="6.6.0"
|
||||||
|
release="1"
|
||||||
|
webapp="ROOT">
|
||||||
|
<ccm:dependencies>
|
||||||
|
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms-types-contact" version="6.6.0" relation="ge"/>
|
||||||
|
</ccm:dependencies>
|
||||||
|
<ccm:directories>
|
||||||
|
<ccm:directory name="pdl"/>
|
||||||
|
<ccm:directory name="sql"/>
|
||||||
|
<ccm:directory name="src"/>
|
||||||
|
</ccm:directories>
|
||||||
|
<ccm:contacts>
|
||||||
|
<ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/>
|
||||||
|
<ccm:contact uri="mailto:rhea@redhat.com" type="support"/>
|
||||||
|
</ccm:contacts>
|
||||||
|
<ccm:description>
|
||||||
|
The EsdService Content Type for created for Tameside project.
|
||||||
|
</ccm:description>
|
||||||
|
</ccm:application>
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001-2004 Red Hat Inc. 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
|
||||||
|
|
||||||
|
model com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.TextPage;
|
||||||
|
|
||||||
|
// object type to hold Contact content type
|
||||||
|
object type ESDService extends TextPage {
|
||||||
|
String[0..1] serviceTimes = ct_esdservice.servicetimes VARCHAR(500);
|
||||||
|
|
||||||
|
reference key ( ct_esdservice.service_id );
|
||||||
|
aggressive load (serviceContact.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
association {
|
||||||
|
Contact[0..1] serviceContact = join ct_esdservice.contact_id to
|
||||||
|
ct_contacts.contact_id;
|
||||||
|
ESDService[0..n] contactService = join ct_contacts.contact_id to
|
||||||
|
ct_esdservice.contact_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2001-2004 Red Hat Inc. 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
|
||||||
|
|
||||||
|
@@ ddl/oracle-se/create.sql
|
||||||
|
@@ ddl/oracle-se/deferred.sql
|
||||||
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2001-2004 Red Hat Inc. 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
|
||||||
|
|
||||||
|
\i ddl/postgres/create.sql
|
||||||
|
\i ddl/postgres/deferred.sql
|
||||||
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ctd:content-types
|
||||||
|
xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||||
|
<ctd:content-type
|
||||||
|
label="ESDService"
|
||||||
|
description="An ESDService for Tamaside"
|
||||||
|
objectType="com.arsdigita.cms.contenttypes.ESDService"
|
||||||
|
classname="com.arsdigita.cms.contenttypes.ESDService">
|
||||||
|
|
||||||
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
||||||
|
<ctd:authoring-step
|
||||||
|
label="ESDService Properties"
|
||||||
|
description="Edit the basic ESDService properties"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.ESDServicePropertiesStep"/>
|
||||||
|
|
||||||
|
<ctd:include href="/WEB-INF/content-types/edit-body-text-step.xml"/>
|
||||||
|
|
||||||
|
<ctd:authoring-step
|
||||||
|
label="Service Contact"
|
||||||
|
description="Edit/Choose the associated Contact object"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.ESDServiceChooseContactStep"/>
|
||||||
|
|
||||||
|
<ctd:include href="/WEB-INF/content-types/shared.xml"/>
|
||||||
|
|
||||||
|
</ctd:authoring-kit>
|
||||||
|
</ctd:content-type>
|
||||||
|
</ctd:content-types>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xrd:adapters
|
||||||
|
xmlns:xrd="http://xmlns.redhat.com/schemas/waf/xml-renderer-rules"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rhea.redhat.com/schemas/waf/xml-renderer-rules xml-renderer-rules.xsd">
|
||||||
|
<!--
|
||||||
|
Extend adapter for ContentItemPanel to also output the associated objects.
|
||||||
|
The default properties for Contact are left as is and are inherited from ContentPage
|
||||||
|
-->
|
||||||
|
<xrd:context name="com.arsdigita.cms.dispatcher.SimpleXMLGenerator">
|
||||||
|
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.ESDService" extends="com.arsdigita.cms.ContentPage">
|
||||||
|
<xrd:associations rule="include">
|
||||||
|
<xrd:property name="/object/serviceContact"/>
|
||||||
|
<xrd:property name="/object/serviceContact/phones"/>
|
||||||
|
<xrd:property name="/object/serviceContact/contactType"/>
|
||||||
|
<xrd:property name="/object/serviceContact/contactAddress"/>
|
||||||
|
<xrd:property name="/object/textAsset"/>
|
||||||
|
</xrd:associations>
|
||||||
|
</xrd:adapter>
|
||||||
|
</xrd:context>
|
||||||
|
</xrd:adapters>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<registry>
|
||||||
|
<!-- nothing yet -->
|
||||||
|
</registry>
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<load>
|
||||||
|
<requires>
|
||||||
|
<table name="inits"/>
|
||||||
|
<table name="acs_objects"/>
|
||||||
|
<table name="cms_items"/>
|
||||||
|
<table name="ct_contacts"/>
|
||||||
|
<initializer class="com.arsdigita.cms.Initializer"/>
|
||||||
|
</requires>
|
||||||
|
<provides>
|
||||||
|
<table name="ct_esdservice"/>
|
||||||
|
<initializer class="com.arsdigita.cms.contenttypes.ESDServiceInitializer"/>
|
||||||
|
</provides>
|
||||||
|
<scripts>
|
||||||
|
<schema directory="ccm-cms-types-esdservice"/>
|
||||||
|
<data class="com.arsdigita.cms.contenttypes.ESDServiceLoader"/>
|
||||||
|
</scripts>
|
||||||
|
</load>
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.TextPage;
|
||||||
|
import com.arsdigita.cms.ContentType;
|
||||||
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Domain object class to represent <code>ESDService</code> content type.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
* @version $Id: ESDService.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*/
|
||||||
|
public class ESDService extends TextPage {
|
||||||
|
|
||||||
|
/** data object type for this domain object */
|
||||||
|
public static final String BASE_DATA_OBJECT_TYPE =
|
||||||
|
"com.arsdigita.cms.contenttypes.ESDService";
|
||||||
|
|
||||||
|
public static final String SERVICE_CONTACT = "serviceContact";
|
||||||
|
public static final String SERVICE_TIMES = "serviceTimes";
|
||||||
|
|
||||||
|
/** Default constructor. */
|
||||||
|
public ESDService() {
|
||||||
|
super(BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param oid
|
||||||
|
* @throws DataObjectNotFoundException
|
||||||
|
*/
|
||||||
|
public ESDService(OID oid) throws DataObjectNotFoundException {
|
||||||
|
super(oid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param id
|
||||||
|
* @throws DataObjectNotFoundException
|
||||||
|
*/
|
||||||
|
public ESDService(BigDecimal id) throws DataObjectNotFoundException {
|
||||||
|
this(new OID(BASE_DATA_OBJECT_TYPE , id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param obj
|
||||||
|
*/
|
||||||
|
public ESDService(DataObject obj) {
|
||||||
|
super(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param type
|
||||||
|
*/
|
||||||
|
public ESDService(String type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void beforeSave() {
|
||||||
|
super.beforeSave();
|
||||||
|
Assert.exists(getContentType(), ContentType.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Over-ride to return the proper type for this object.
|
||||||
|
*/
|
||||||
|
public String getBaseDataObjectType() {
|
||||||
|
return BASE_DATA_OBJECT_TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the associated Contact object for this ESDService.
|
||||||
|
* @return null if no Contact is present.
|
||||||
|
*/
|
||||||
|
public Contact getContact() {
|
||||||
|
DataObject dobj = (DataObject) get(SERVICE_CONTACT);
|
||||||
|
if (dobj != null) {
|
||||||
|
return (Contact) DomainObjectFactory.newInstance(dobj);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the Contact object association.
|
||||||
|
* @pre ct != null
|
||||||
|
*/
|
||||||
|
public void setContact(Contact ct) {
|
||||||
|
Assert.exists(ct, Contact.class);
|
||||||
|
setAssociation(SERVICE_CONTACT , ct);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServiceTimes() {
|
||||||
|
return (String) get(SERVICE_TIMES);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServiceTimes(String st) {
|
||||||
|
set(SERVICE_TIMES , st);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializer class to initialize <code>ContentType ESDService</code>.
|
||||||
|
* Defines the content type specific properties and just uses the super class
|
||||||
|
* methods to register the content type with the (transient) content type store
|
||||||
|
* (map).
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
* @version $Id: ESDServiceInitializer.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*/
|
||||||
|
public class ESDServiceInitializer extends ContentTypeInitializer {
|
||||||
|
|
||||||
|
public ESDServiceInitializer() {
|
||||||
|
super("ccm-cms-types-esdservice.pdl.mf", ESDService.BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getStylesheets() {
|
||||||
|
return new String [] {
|
||||||
|
"/static/content-types/com/arsdigita/cms/contenttypes/ESDService.xsl",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTraversalXML() {
|
||||||
|
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/ESDService.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loader for <code>ContentType</code> <code>ESDService</code>.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServiceLoader.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServiceLoader extends AbstractContentTypeLoader {
|
||||||
|
|
||||||
|
private static final String[] TYPES = {
|
||||||
|
"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/ESDService.xml"
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see com.arsdigita.cms.contenttypes.AbstractContentTypeLoader#getTypes()
|
||||||
|
*/
|
||||||
|
public String[] getTypes() {
|
||||||
|
return TYPES;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
cms.contenttypes.ui.esdservice.servicetimes=Service Times
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>ESD Service content type</title>
|
||||||
|
</head>
|
||||||
|
<body bgcolor="white">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.ContactGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||||
|
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||||
|
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||||
|
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Authoring kit step to manipulate the associated Contact object for
|
||||||
|
* <code>ESDService</code> content type.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServiceChooseContactStep.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServiceChooseContactStep extends SimpleEditStep {
|
||||||
|
|
||||||
|
/** The name of the editing sheet added to this step */
|
||||||
|
private static String EDIT_SHEET_NAME = "edit";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemModel
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
|
public ESDServiceChooseContactStep(ItemSelectionModel itemModel,
|
||||||
|
AuthoringKitWizard parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
|
||||||
|
//Table to display the List of Contacts to choose from.
|
||||||
|
ESDServiceContactsTable table = new ESDServiceContactsTable(itemModel , this);
|
||||||
|
|
||||||
|
addComponent(EDIT_SHEET_NAME,
|
||||||
|
"Select Contact",
|
||||||
|
new WorkflowLockedComponentAccess(table, itemModel));
|
||||||
|
|
||||||
|
setDisplayComponent(getContactPropertiesSheet(itemModel));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a Component to display the properties of Contact object.It only
|
||||||
|
* displays limited attributes at the moment, but can be extended to add
|
||||||
|
* addtional ones if needed.
|
||||||
|
*/
|
||||||
|
private Component getContactPropertiesSheet(ItemSelectionModel itemModel) {
|
||||||
|
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||||
|
|
||||||
|
sheet.add(
|
||||||
|
ContactGlobalizationUtil.globalize("cms.contenttypes.ui.contact_givenname"),
|
||||||
|
"serviceContact.givenName");
|
||||||
|
|
||||||
|
sheet.add(
|
||||||
|
ContactGlobalizationUtil.globalize("cms.contenttypes.ui.contact_familyname"),
|
||||||
|
"serviceContact.familyName");
|
||||||
|
|
||||||
|
sheet.add(
|
||||||
|
ContactGlobalizationUtil.globalize("cms.contenttypes.ui.contact_type"),
|
||||||
|
"serviceContact.contactType.typeName");
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,209 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.Contact;
|
||||||
|
import com.arsdigita.cms.contenttypes.ESDService;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.bebop.ControlLink;
|
||||||
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.Table;
|
||||||
|
import com.arsdigita.bebop.event.TableActionEvent;
|
||||||
|
import com.arsdigita.bebop.event.TableActionListener;
|
||||||
|
import com.arsdigita.bebop.table.TableCellRenderer;
|
||||||
|
import com.arsdigita.bebop.table.TableColumn;
|
||||||
|
import com.arsdigita.bebop.table.TableColumnModel;
|
||||||
|
import com.arsdigita.bebop.table.TableModel;
|
||||||
|
import com.arsdigita.bebop.table.TableModelBuilder;
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
import com.arsdigita.persistence.DataCollection;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.persistence.SessionManager;
|
||||||
|
import com.arsdigita.util.LockableImpl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* A table which displays a list of <code>Contact</code> objects to choose
|
||||||
|
* from for the <code>ESDService</code> content type.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServiceContactsTable.java 451 2005-03-20 23:11:22Z mbooth $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServiceContactsTable extends Table implements TableActionListener{
|
||||||
|
|
||||||
|
private static final String COL_CONTACT_GIVENNAME = "Given Name";
|
||||||
|
private static final String COL_CONTACT_FAMILYNAME = "Family Name";
|
||||||
|
private static final String COL_CONTACT_TYPE = "Contact Type";
|
||||||
|
private static final String COL_CHOOSE_CONTACT = "Select";
|
||||||
|
|
||||||
|
private ItemSelectionModel m_selService;
|
||||||
|
private ESDServiceChooseContactStep m_parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
* @param selService, selection model which will give the <code>ESDService</code>
|
||||||
|
* object that we are dealing with.
|
||||||
|
* @param parent, component whose display pane will be shown when the selection
|
||||||
|
* of desired contact is done.
|
||||||
|
*/
|
||||||
|
public ESDServiceContactsTable(ItemSelectionModel selService,
|
||||||
|
ESDServiceChooseContactStep parent) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
m_parent = parent;
|
||||||
|
m_selService = selService;
|
||||||
|
|
||||||
|
TableColumnModel model = getColumnModel();
|
||||||
|
model.add( new TableColumn( 0, COL_CONTACT_GIVENNAME));
|
||||||
|
model.add( new TableColumn( 1, COL_CONTACT_FAMILYNAME ));
|
||||||
|
model.add( new TableColumn( 2, COL_CONTACT_TYPE));
|
||||||
|
model.add( new TableColumn( 3, COL_CHOOSE_CONTACT));
|
||||||
|
|
||||||
|
setEmptyView(new Label("No Contacts available."));
|
||||||
|
setModelBuilder(new ContactsTableModelBuilder());
|
||||||
|
|
||||||
|
model.get(3).setCellRenderer(new SelectCellRenderer());
|
||||||
|
|
||||||
|
addTableActionListener(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model Builder to build the required data for the table.
|
||||||
|
*/
|
||||||
|
private class ContactsTableModelBuilder extends LockableImpl implements TableModelBuilder {
|
||||||
|
|
||||||
|
public TableModel makeModel ( Table table, PageState state ) {
|
||||||
|
table.getRowSelectionModel().clearSelection(state);
|
||||||
|
DataCollection m_contacts = SessionManager.getSession().retrieve(Contact.BASE_DATA_OBJECT_TYPE);
|
||||||
|
m_contacts.addEqualsFilter(ContentItem.VERSION, ContentItem.DRAFT);
|
||||||
|
return new ContactsTableModel(table, m_contacts);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ContactsTableModel implements TableModel{
|
||||||
|
|
||||||
|
private Table m_table;
|
||||||
|
private DataCollection m_contacts;
|
||||||
|
private Contact m_contact;
|
||||||
|
|
||||||
|
private ContactsTableModel(Table t , DataCollection cts){
|
||||||
|
m_table = t;
|
||||||
|
m_contacts = cts;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Return the no. of columns in column model we have constructed. */
|
||||||
|
public int getColumnCount() {
|
||||||
|
return m_table.getColumnModel().size();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check collection for the existence of another row.If it has fetch the
|
||||||
|
* value of Contact object into m_contact class variable.
|
||||||
|
*/
|
||||||
|
public boolean nextRow() {
|
||||||
|
if(m_contacts.next()){
|
||||||
|
m_contact = (Contact) DomainObjectFactory.newInstance(m_contacts.getDataObject());
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the attributes of Contact object in the current row.
|
||||||
|
* @see com.arsdigita.bebop.table.TableModel#getElementAt(int)
|
||||||
|
*/
|
||||||
|
public Object getElementAt(int columnIndex) {
|
||||||
|
|
||||||
|
switch (columnIndex){
|
||||||
|
case 0:
|
||||||
|
return m_contact.getGivenName();
|
||||||
|
case 1:
|
||||||
|
return m_contact.getFamilyName();
|
||||||
|
case 2:
|
||||||
|
return m_contact.getContactTypeName();
|
||||||
|
case 3:
|
||||||
|
return COL_CHOOSE_CONTACT;
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Always return the ID of <code>Contact</code> represented by current row.
|
||||||
|
* @see com.arsdigita.bebop.table.TableModel#getKeyAt(int)
|
||||||
|
*/
|
||||||
|
public Object getKeyAt(int columnIndex) {
|
||||||
|
return m_contact.getID();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO:Check for the permissions to EDIT item and put either a Lable or
|
||||||
|
* a ControlLink accordingly.
|
||||||
|
*/
|
||||||
|
private class SelectCellRenderer extends LockableImpl implements TableCellRenderer{
|
||||||
|
|
||||||
|
public Component getComponent(Table table,PageState state,Object value,
|
||||||
|
boolean isSelected,Object key,
|
||||||
|
int row,int column) {
|
||||||
|
|
||||||
|
|
||||||
|
ControlLink link = new ControlLink(value.toString());
|
||||||
|
link.setConfirmation("Select this Contact ?");
|
||||||
|
return link;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provide implementation to TableActionListener method.
|
||||||
|
* Code that comes into picture when select link in the table is clicked.
|
||||||
|
* Handles selection event.
|
||||||
|
*/
|
||||||
|
public void cellSelected(TableActionEvent evt) {
|
||||||
|
PageState state = evt.getPageState();
|
||||||
|
TableColumn col = getColumnModel().get(evt.getColumn().intValue());
|
||||||
|
String colName = (String) col.getHeaderValue();
|
||||||
|
|
||||||
|
if ( COL_CHOOSE_CONTACT.equals(colName) ) {
|
||||||
|
m_parent.showDisplayPane(state);
|
||||||
|
BigDecimal contactID = new BigDecimal(evt.getRowKey().toString());
|
||||||
|
ESDService service = (ESDService) m_selService.getSelectedObject(state);
|
||||||
|
Contact ct = (Contact) DomainObjectFactory.newInstance(new OID(Contact.BASE_DATA_OBJECT_TYPE,contactID));
|
||||||
|
service.setContact(ct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* provide Implementation to TableActionListener method.
|
||||||
|
* Does nothing in our case.
|
||||||
|
*/
|
||||||
|
public void headSelected(TableActionEvent e) {
|
||||||
|
throw new UnsupportedOperationException("Not Implemented");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
|
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.ESDService;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.ESDServiceGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form to edit basic properties of <code>ESDService</code> content type object.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServicePropertiesForm.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServicePropertiesForm extends BasicPageForm {
|
||||||
|
|
||||||
|
/** Name of this form */
|
||||||
|
private static final String ID = "ESDService_edit";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemModel
|
||||||
|
*/
|
||||||
|
public ESDServicePropertiesForm(ItemSelectionModel itemModel) {
|
||||||
|
super(ID, itemModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds widgets to the form.
|
||||||
|
**/
|
||||||
|
protected void addWidgets() {
|
||||||
|
super.addWidgets();
|
||||||
|
|
||||||
|
add(new Label(ESDServiceGlobalizationUtil.globalize("cms.contenttypes.ui.esdservice.servicetimes")));
|
||||||
|
ParameterModel serviceTimesParam = new StringParameter(ESDService.SERVICE_TIMES);
|
||||||
|
TextField serviceTimes = new TextField(serviceTimesParam);
|
||||||
|
add(serviceTimes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize Form with values if already set.
|
||||||
|
*/
|
||||||
|
public void init(FormSectionEvent fse) {
|
||||||
|
FormData data = fse.getFormData();
|
||||||
|
ESDService esdService = (ESDService) super.initBasicWidgets(fse);
|
||||||
|
data.put(ESDService.SERVICE_TIMES, esdService.getServiceTimes());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process this form and set the values from form.
|
||||||
|
*/
|
||||||
|
public void process(FormSectionEvent fse) {
|
||||||
|
FormData data = fse.getFormData();
|
||||||
|
ESDService esdService = (ESDService) super.processBasicWidgets(fse);
|
||||||
|
|
||||||
|
// save only if save button was pressed
|
||||||
|
if (esdService != null
|
||||||
|
&& getSaveCancelSection().getSaveButton().isSelected(fse.getPageState())) {
|
||||||
|
|
||||||
|
esdService.setServiceTimes((String) data.get(ESDService.SERVICE_TIMES));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.ESDService;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.ESDServiceGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||||
|
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
|
||||||
|
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
|
||||||
|
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||||
|
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Authoring kit step to edit the basic properties of <code>ESDService</code>
|
||||||
|
* content type object.
|
||||||
|
*
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServicePropertiesStep.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServicePropertiesStep extends SimpleEditStep {
|
||||||
|
|
||||||
|
/** The name of the editing sheet added to this step */
|
||||||
|
private static String EDIT_SHEET_NAME = "edit";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemModel
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
|
public ESDServicePropertiesStep(ItemSelectionModel itemModel,
|
||||||
|
AuthoringKitWizard parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
|
||||||
|
ESDServicePropertiesForm editSheet;
|
||||||
|
|
||||||
|
editSheet = new ESDServicePropertiesForm(itemModel);
|
||||||
|
add(EDIT_SHEET_NAME,
|
||||||
|
"Edit",
|
||||||
|
new WorkflowLockedComponentAccess(editSheet, itemModel),
|
||||||
|
editSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
|
||||||
|
setDisplayComponent(getESDServicePropertySheet(itemModel));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a component that displays the properties of the ESDService
|
||||||
|
* specified by the ItemSelectionModel passed in.
|
||||||
|
*
|
||||||
|
* @param itemModel The ItemSelectionModel to use
|
||||||
|
* @pre itemModel != null
|
||||||
|
* @return A component to display the state of the basic properties
|
||||||
|
* of the
|
||||||
|
**/
|
||||||
|
public static Component getESDServicePropertySheet(ItemSelectionModel itemModel) {
|
||||||
|
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||||
|
|
||||||
|
sheet.add(
|
||||||
|
GlobalizationUtil.globalize("cms.contenttypes.ui.name"),
|
||||||
|
ESDService.NAME);
|
||||||
|
|
||||||
|
sheet.add(
|
||||||
|
ESDServiceGlobalizationUtil.globalize("cms.contenttypes.ui.esdservice.servicetimes"),
|
||||||
|
ESDService.SERVICE_TIMES);
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.util;
|
||||||
|
|
||||||
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Contains methods to simplify globalizing keys related to
|
||||||
|
* <code>ESDService</code> content type object.
|
||||||
|
* </p>
|
||||||
|
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServiceGlobalizationUtil.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServiceGlobalizationUtil {
|
||||||
|
|
||||||
|
final public static String BUNDLE_NAME =
|
||||||
|
"com.arsdigita.cms.contenttypes.util.ESDServiceResourceBundle";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns a globalized message using the type specific bundle,
|
||||||
|
* BUNDLE_NAME
|
||||||
|
*/
|
||||||
|
public static GlobalizedMessage globalize(String key) {
|
||||||
|
return new GlobalizedMessage(key, BUNDLE_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns a globalized message using the type specific bundle,
|
||||||
|
* BUNDLE_NAME
|
||||||
|
*/
|
||||||
|
public static GlobalizedMessage globalize(String key, Object[] args) {
|
||||||
|
return new GlobalizedMessage(key, BUNDLE_NAME, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. 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.util;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.CMSGlobalized;
|
||||||
|
import com.arsdigita.globalization.ChainedResourceBundle;
|
||||||
|
|
||||||
|
import java.util.PropertyResourceBundle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Shashin Shinde <a href="mailto:sshinde@redhat.com">sshinde@redhat.com</a>
|
||||||
|
*
|
||||||
|
* @version $Id: ESDServiceResourceBundle.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ESDServiceResourceBundle extends ChainedResourceBundle implements CMSGlobalized {
|
||||||
|
|
||||||
|
public final static String ESDSERVICE_BUNDLE_NAME =
|
||||||
|
"com.arsdigita.cms.contenttypes.ESDServiceResources";
|
||||||
|
|
||||||
|
public ESDServiceResourceBundle() {
|
||||||
|
super();
|
||||||
|
addBundle((PropertyResourceBundle)getBundle(ESDSERVICE_BUNDLE_NAME));
|
||||||
|
addBundle((PropertyResourceBundle)getBundle(BUNDLE_NAME));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
<!DOCTYPE stylesheet [
|
||||||
|
<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
|
||||||
|
]>
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||||
|
version="1.0">
|
||||||
|
|
||||||
|
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.ESDService']" mode="cms:CT_graphics"
|
||||||
|
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_ESDService">
|
||||||
|
<table width="300" border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td width="250" align="left" valign="top">
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td class="contentTitle" align="left" valign="top">
|
||||||
|
<xsl:value-of select="./title"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#eeeeee" align="left" valign="top">
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td width="40%" class="contentSynopsis" valign="top" align="left">Service Times:</td>
|
||||||
|
<td width="60%" class="contentSynopsis" align="right" valign="top"> <xsl:value-of select="./serviceTimes"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="250" align="left" valign="top">
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td class="contentTitle" align="left" valign="top">
|
||||||
|
<b>Contact Information</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#eeeeee" align="left" valign="top">
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td width="40%" class="contentSynopsis" valign="top" align="left">Given Name:</td>
|
||||||
|
<td width="60%" class="contentSynopsis" align="right" valign="top"> <xsl:value-of select="./serviceContact/givenName"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="40%" class="contentSynopsis" valign="top" align="left">Family Name:</td>
|
||||||
|
<td width="60%" class="contentSynopsis" align="right" valign="top"> <xsl:value-of select="./serviceContact/familyName"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="250" align="left" valign="top">
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td class="contentText" align="left" valign="top">
|
||||||
|
<xsl:value-of disable-output-escaping="yes" select="./textAsset/content"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template
|
||||||
|
match="cms:item[objectType='com.arsdigita.cms.contenttypes.ESDService']" mode="cms:CT_text"
|
||||||
|
name="cms:CT_text_com_arsdigita_cms_contenttypes_ESDService">
|
||||||
|
<h1 class="mainTitle">ESDSERVICE<xsl:text disable-output-escaping="yes">&</xsl:text>gt; <xsl:value-of select="./title"/></h1>
|
||||||
|
<span class="subtitle">contact given name <xsl:text disable-output-escaping="yes">&</xsl:text>gt; </span><span class="textCap"><xsl:value-of select="./serviceTimes"/></span><br/>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
||||||
Loading…
Reference in New Issue