KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > util > cms > CMSLink


1 /* ====================================================================
2  * The Apache Software License, Version 1.1
3  *
4  * Copyright (c) 2001 The Apache Software Foundation. All rights
5  * reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in
16  * the documentation and/or other materials provided with the
17  * distribution.
18  *
19  * 3. The end-user documentation included with the redistribution,
20  * if any, must include the following acknowledgment:
21  * "This product includes software developed by the
22  * Apache Software Foundation (http://www.apache.org/)."
23  * Alternately, this acknowledgment may appear in the software itself,
24  * if and wherever such third-party acknowledgments normally appear.
25  *
26  * 4. The names "Apache" and "Apache Software Foundation" and
27  * "Apache Jetspeed" must not be used to endorse or promote products
28  * derived from this software without prior written permission. For
29  * written permission, please contact apache@apache.org.
30  *
31  * 5. Products derived from this software may not be called "Apache",
32  * "Apache Jetspeed", nor may "Apache" appear in their name, without
33  * prior written permission of the Apache Software Foundation.
34  *
35  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46  * SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Apache Software Foundation. For more
51  * information on the Apache Software Foundation, please see
52  * <http://www.apache.org/>.
53  */

54 package org.apache.jetspeed.util.cms;
55
56
57 import org.apache.turbine.util.RunData;
58 import org.apache.turbine.util.Log;
59 import org.apache.turbine.services.pull.ApplicationTool;
60 import org.apache.turbine.services.TurbineServices;
61 import java.util.Vector JavaDoc;
62
63 import org.apache.jetspeed.om.cms.*;
64 import org.apache.jetspeed.services.cms.JetspeedCMSException;
65 import org.apache.jetspeed.services.cms.CmsService;
66 import org.apache.jetspeed.services.cms.manager.CmsManager;
67
68 /**
69  *
70  *
71  * @author <a HREF="mailto:clombart@netscape.net">Christophe Lombart</a>
72  * @version $Id: CMSLink.java,v 1.3 2003/03/04 11:28:16 raphael Exp $
73  */

74 public class CMSLink implements ApplicationTool
75 {
76
77     /**
78      * Initialize the CMSManager object.
79      *
80      * @param data This is null, RunData or User depending upon specified tool scope.
81      */

82     public void init(Object JavaDoc data)
83     {
84         if (data == null)
85         {
86             //Log.debug("CMSManager scope is global");
87
}
88     }
89
90     /**
91      * This lets the tool know that it should be
92      * refreshed. The tool can perform whatever actions
93      * are necessary to refresh itself. This is necessary
94      * for sane development where you probably want the
95      * tools to refresh themselves on every request.
96      */

97     public void refresh()
98     {
99         //Log.debug("Refreshing CMSMmanager : do nothing !");
100

101     }
102
103     public Catalog getCatalog (String JavaDoc catalogName)
104     {
105         try
106         {
107             // Read the content from the repository
108
// Get a reference to the Slide Service
109
CmsService service = (CmsService) TurbineServices.getInstance()
110                                               .getService(CmsService.SERVICE_NAME);
111
112             // Retrieve the content from Slide and get its properties
113
CmsManager cmsManager = service.getCmsManager();
114
115             Catalog catalog = (Catalog) cmsManager.getResource(catalogName );
116             cmsManager.populateCatalog(catalog, true, true, 1);
117
118             return catalog;
119         }
120         catch (JetspeedCMSException e)
121         {
122             //data.setMessage(e.getMessage());
123
return null;
124         }
125     }
126
127     public Vector JavaDoc getCatalogs(String JavaDoc fromUri, String JavaDoc toUri)
128     {
129         try
130         {
131             CmsService service = (CmsService) TurbineServices.getInstance()
132                                             .getService(CmsService.SERVICE_NAME);
133
134             CmsManager cmsManager = service.getCmsManager();
135             Vector JavaDoc catalogs = cmsManager.getCatalogs(fromUri, toUri);
136             return catalogs;
137         }
138         catch (JetspeedCMSException e)
139         {
140             //data.setMessage(e.getMessage());
141
return null;
142         }
143     }
144 }
145
Popular Tags