KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nl > hippo > cms > workflows > multiplesitessite > StoreDraftVersionFunction


1 /*
2  * Copyright 2004 Hippo Webworks.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */

16 package nl.hippo.cms.workflows.multiplesitessite;
17
18 import com.opensymphony.module.propertyset.PropertySet;
19 import com.opensymphony.workflow.WorkflowException;
20 import java.io.IOException JavaDoc;
21 import java.util.Map JavaDoc;
22 import nl.hippo.cms.repositorylocation.CommonRepositoryLocationRoles;
23 import nl.hippo.cms.repositorylocation.RepositoryLocation;
24 import org.apache.avalon.framework.service.ServiceException;
25 import org.apache.commons.httpclient.HttpState;
26
27 public class StoreDraftVersionFunction extends VersioningHelperComponent
28 {
29
30     public StoreDraftVersionFunction()
31     {
32         super();
33     }
34
35     public void executeImpl(Map JavaDoc transientVars, Map JavaDoc args, PropertySet ps) throws WorkflowException
36     {
37         try
38         {
39             RepositoryLocation editorRepo = (RepositoryLocation) m_manager
40                     .lookup(CommonRepositoryLocationRoles.EDITOR_REPOSITORY_LOCATION_ROLE);
41             try
42             {
43                 String JavaDoc relativeLocation = ps.getString("location");
44                 String JavaDoc location = editorRepo.getRepositoryInformation().getAbsoluteUri(
45                         relativeLocation);
46                 HttpState httpState = (HttpState) transientVars.get("httpstate");
47
48                 int version = getCurrentVersion(location, httpState);
49                 
50                 ps.setInt("publishedVersion", version);
51             }
52             finally
53             {
54                 m_manager.release(editorRepo);
55             }
56         }
57         catch (IOException JavaDoc e)
58         {
59             throw new WorkflowException(e);
60         }
61         catch (ServiceException e)
62         {
63             throw new WorkflowException(e);
64         }
65     }
66
67 }
68
Popular Tags