KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > metadata > view > service > impl > ObjectPermissionTest


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21
22 package com.jaspersoft.jasperserver.api.metadata.view.service.impl;
23
24 import org.acegisecurity.acl.basic.SimpleAclEntry;
25 import org.springframework.context.ApplicationContext;
26 import org.springframework.context.support.ClassPathXmlApplicationContext;
27
28 import com.jaspersoft.jasperserver.api.metadata.common.domain.Folder;
29 import com.jaspersoft.jasperserver.api.metadata.common.domain.InternalURI;
30 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryService;
31 import com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission;
32 import com.jaspersoft.jasperserver.api.metadata.user.domain.Role;
33 import com.jaspersoft.jasperserver.api.metadata.user.service.ObjectPermissionService;
34 import com.jaspersoft.jasperserver.api.metadata.user.service.UserAuthorityService;
35
36 import junit.framework.TestCase;
37
38 /**
39  * @author swood
40  *
41  */

42 public class ObjectPermissionTest extends TestCase {
43     ApplicationContext factory;
44
45     HibernateRepositoryService repo;
46     UserAuthorityService userAuthService;
47     ObjectPermissionService objectPermissionService;
48
49     boolean error = false;
50
51     public void setUp() {
52         System.out.println("Setup");
53         ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
54                 new String JavaDoc[] {"hibernateConfig.xml", "userAuthorityService.xml", "viewService.xml"});
55
56         factory = (ApplicationContext) appContext;
57
58         // Get the services
59

60         userAuthService = (UserAuthorityService) factory.getBean("userAuthorityService");
61         objectPermissionService = (ObjectPermissionService) factory.getBean("objectPermissionService");
62         repo = (HibernateRepositoryService) factory.getBean("repoService");
63
64     }
65     public void tearDown() {
66         System.out.println("Tear down");
67         /*
68          * Leave entries in the database
69          */

70     }
71
72     // Now let's do some object identity outside of security
73

74     public void testObjectPermissionMaintenance() throws Exception JavaDoc {
75         System.out.println("testObjectPermissionMaintenance");
76         try {
77
78             Folder root = repo.getFolder(null, Folder.SEPARATOR);
79
80             // Set read and admin permissions on the root folder. Since it is the parent of everything,
81
// these are the default permissions
82

83             Role userRole = userAuthService.getRole(null, ObjectPermissionServiceTest.userRoleName);
84             Role adminRole = userAuthService.getRole(null, ObjectPermissionServiceTest.administratorRoleName);
85             createObjectPermission(root, adminRole, SimpleAclEntry.ADMINISTRATION);
86         } catch (Exception JavaDoc e) {
87             error = true;
88             throw e;
89         }
90     }
91
92     private ObjectPermission createObjectPermission(InternalURI target, Role role, int permissionMask) {
93         ObjectPermission permission = objectPermissionService.newObjectPermission(null);
94         permission.setURI(target.getURI());
95         permission.setPermissionRecipient(role);
96         permission.setPermissionMask(permissionMask);
97         objectPermissionService.putObjectPermission(null, permission);
98         return permission;
99     }
100 }
101
Popular Tags