KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > workflowtool > function > ContentTypeDefinitionProvider


1 /* ===============================================================================
2 *
3 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4 *
5 * ===============================================================================
6 *
7 * Copyright (C)
8 *
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 2, as published by the
11 * Free Software Foundation. See the file LICENSE.html for more information.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20 *
21 * ===============================================================================
22 */

23 package org.infoglue.cms.applications.workflowtool.function;
24
25 import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
26 import org.infoglue.cms.entities.management.ContentTypeDefinitionVO;
27
28 import com.opensymphony.workflow.WorkflowException;
29
30 public class ContentTypeDefinitionProvider extends InfoglueFunction
31 {
32     
33     /**
34      *
35      */

36     public static final String JavaDoc CONTENT_TYPE_DEFINITION_PARAMETER = "contentTypeDefinition";
37
38     /**
39      *
40      */

41     private static final String JavaDoc NAME_ARGUMENT = "contentTypeDefinitionName";
42
43     /**
44      *
45      */

46     private String JavaDoc name;
47     
48     /**
49      *
50      */

51     public ContentTypeDefinitionProvider()
52     {
53         super();
54     }
55
56     /**
57      *
58      */

59     protected void execute() throws WorkflowException
60     {
61         try
62         {
63             final ContentTypeDefinitionVO contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithName(name, getDatabase());
64             if(contentTypeDefinitionVO == null)
65             {
66                 throwException(name + " is not a definied content type.");
67             }
68             setParameter(CONTENT_TYPE_DEFINITION_PARAMETER, contentTypeDefinitionVO);
69         }
70         catch(Exception JavaDoc e)
71         {
72             throwException(e);
73         }
74     }
75     
76     /**
77      * Method used for initializing the function; will be called before <code>execute</code> is called.
78      * <p><strong>Note</strong>! You must call <code>super.initialize()</code> first.</p>
79      *
80      * @throws WorkflowException if an error occurs during the initialization.
81      */

82     protected void initialize() throws WorkflowException
83     {
84         super.initialize();
85         this.name = getArgument(NAME_ARGUMENT);
86     }
87 }
88
Popular Tags