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 javax.xml.stream.XMLStreamException;
30 import java.io.File;
31 import java.io.IOException;
32
33
34
35
36
37
38 public class JdoDataManagementTool
39 implements DataManagementTool
40 {
41
42
43
44 private org.codehaus.plexus.redback.management.DataManagementTool toolDelegate;
45
46
47
48
49 private RBACManager rbacManager;
50
51
52
53
54 private UserManager userManager;
55
56
57
58
59 private KeyManager keyManager;
60
61 public void backupDatabase( File backupDirectory )
62 throws IOException
63 {
64 try
65 {
66 toolDelegate.backupKeyDatabase( keyManager, backupDirectory );
67 toolDelegate.backupRBACDatabase( rbacManager, backupDirectory );
68 toolDelegate.backupUserDatabase( userManager, backupDirectory );
69 }
70 catch ( XMLStreamException e )
71 {
72 throw new DataManagementException( e );
73 }
74 catch ( RbacManagerException e )
75 {
76 throw new DataManagementException( e );
77 }
78 }
79
80 public void eraseDatabase()
81 {
82 toolDelegate.eraseKeysDatabase( keyManager );
83 toolDelegate.eraseRBACDatabase( rbacManager );
84 toolDelegate.eraseUsersDatabase( userManager );
85 }
86
87 public void restoreDatabase( File backupDirectory, boolean strict )
88 throws IOException
89 {
90 try
91 {
92 toolDelegate.restoreKeysDatabase( keyManager, backupDirectory );
93 toolDelegate.restoreRBACDatabase( rbacManager, backupDirectory );
94 toolDelegate.restoreUsersDatabase( userManager, backupDirectory );
95 }
96 catch ( XMLStreamException e )
97 {
98 throw new DataManagementException( e );
99 }
100 catch ( RbacManagerException e )
101 {
102 throw new DataManagementException( e );
103 }
104 }
105 }