1 package org.apache.maven.continuum.management.redback;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.continuum.management.DataManagementException;
23 import org.apache.maven.continuum.management.DataManagementTool;
24 import org.codehaus.plexus.redback.keys.KeyManager;
25 import org.codehaus.plexus.redback.rbac.RBACManager;
26 import org.codehaus.plexus.redback.rbac.RbacManagerException;
27 import org.codehaus.plexus.redback.users.UserManager;
28
29 import java.io.File;
30 import java.io.IOException;
31 import javax.xml.stream.XMLStreamException;
32
33
34
35
36
37
38
39 public class JdoDataManagementTool
40 implements DataManagementTool
41 {
42
43
44
45 private org.codehaus.plexus.redback.management.DataManagementTool toolDelegate;
46
47
48
49
50 private RBACManager rbacManager;
51
52
53
54
55 private UserManager userManager;
56
57
58
59
60 private KeyManager keyManager;
61
62 public void backupDatabase( File backupDirectory )
63 throws IOException
64 {
65 try
66 {
67 toolDelegate.backupKeyDatabase( keyManager, backupDirectory );
68 toolDelegate.backupRBACDatabase( rbacManager, backupDirectory );
69 toolDelegate.backupUserDatabase( userManager, backupDirectory );
70 }
71 catch ( XMLStreamException e )
72 {
73 throw new DataManagementException( e );
74 }
75 catch ( RbacManagerException e )
76 {
77 throw new DataManagementException( e );
78 }
79 }
80
81 public void eraseDatabase()
82 {
83 toolDelegate.eraseKeysDatabase( keyManager );
84 toolDelegate.eraseRBACDatabase( rbacManager );
85 toolDelegate.eraseUsersDatabase( userManager );
86 }
87
88 public void restoreDatabase( File backupDirectory, boolean strict )
89 throws IOException
90 {
91 try
92 {
93 toolDelegate.restoreKeysDatabase( keyManager, backupDirectory );
94 toolDelegate.restoreRBACDatabase( rbacManager, backupDirectory );
95 toolDelegate.restoreUsersDatabase( userManager, backupDirectory );
96 }
97 catch ( XMLStreamException e )
98 {
99 throw new DataManagementException( e );
100 }
101 catch ( RbacManagerException e )
102 {
103 throw new DataManagementException( e );
104 }
105 }
106 }