KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > web > ui > common > component > debug > UIRepositoryProperties


1 /*
2  * Copyright (C) 2005 Alfresco, Inc.
3  *
4  * Licensed under the Mozilla Public License version 1.1
5  * with a permitted attribution clause. You may obtain a
6  * copy of the License at
7  *
8  * http://www.alfresco.org/legal/license.txt
9  *
10  * Unless required by applicable law or agreed to in writing,
11  * software distributed under the License is distributed on an
12  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13  * either express or implied. See the License for the specific
14  * language governing permissions and limitations under the
15  * License.
16  */

17 package org.alfresco.web.ui.common.component.debug;
18
19 import java.util.List JavaDoc;
20 import java.util.Map JavaDoc;
21 import java.util.TreeMap JavaDoc;
22
23 import javax.faces.context.FacesContext;
24
25 import org.alfresco.repo.admin.patch.PatchInfo;
26 import org.alfresco.repo.admin.patch.PatchService;
27 import org.alfresco.service.ServiceRegistry;
28 import org.alfresco.service.descriptor.Descriptor;
29 import org.alfresco.service.descriptor.DescriptorService;
30 import org.alfresco.web.app.Application;
31 import org.alfresco.web.bean.repository.Repository;
32 import org.springframework.web.context.WebApplicationContext;
33 import org.springframework.web.jsf.FacesContextUtils;
34
35 /**
36  * Component which displays the Alfresco Repository properties
37  *
38  * @author kevinr
39  */

40 public class UIRepositoryProperties extends BaseDebugComponent
41 {
42    /**
43     * @see javax.faces.component.UIComponent#getFamily()
44     */

45    public String JavaDoc getFamily()
46    {
47       return "org.alfresco.faces.debug.RepositoryProperties";
48    }
49
50    /**
51     * @see org.alfresco.web.ui.common.component.debug.BaseDebugComponent#getDebugData()
52     */

53    @SuppressWarnings JavaDoc("unchecked")
54    public Map JavaDoc getDebugData()
55    {
56       // note: sort properties
57
Map JavaDoc properties = new TreeMap JavaDoc();
58       
59       FacesContext fc = FacesContext.getCurrentInstance();
60       ServiceRegistry services = Repository.getServiceRegistry(fc);
61       DescriptorService descriptorService = services.getDescriptorService();
62       
63       Descriptor installedRepoDescriptor = descriptorService.getInstalledRepositoryDescriptor();
64       properties.put("Installed Version", installedRepoDescriptor.getVersion());
65       properties.put("Installed Schema", installedRepoDescriptor.getSchema());
66       
67       Descriptor systemDescriptor = descriptorService.getServerDescriptor();
68       properties.put("Server Version", systemDescriptor.getVersion());
69       properties.put("Server Schema", systemDescriptor.getSchema());
70       
71       WebApplicationContext cx = FacesContextUtils.getRequiredWebApplicationContext(fc);
72       PatchService patchService = (PatchService)cx.getBean("PatchService");
73       List JavaDoc<PatchInfo> patches = patchService.getPatches(null, null);
74       for (PatchInfo patch : patches)
75       {
76          StringBuilder JavaDoc data = new StringBuilder JavaDoc(256);
77          data.append(patch.getAppliedOnDate())
78              .append(" - ")
79              .append(patch.getDescription())
80              .append(" - ")
81              .append(patch.getSucceeded() == true ?
82                      Application.getMessage(fc, "repository_patch_succeeded") :
83                      Application.getMessage(fc, "repository_patch_failed"));
84          properties.put(patch.getId(), data);
85       }
86       
87       return properties;
88    }
89 }
90
Popular Tags