1 package org.apache.fulcrum.security.torque.peer.managers;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import org.apache.avalon.framework.configuration.Configuration;
21 import org.apache.avalon.framework.configuration.ConfigurationException;
22 import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
23 import org.apache.fulcrum.security.torque.peer.Peer;
24 import org.apache.fulcrum.security.torque.peer.PeerManagable;
25 import org.apache.fulcrum.security.torque.peer.PeerManager;
26 import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
27 import org.apache.fulcrum.security.util.DataBackendException;
28
29
30
31
32
33
34
35 public abstract class PeerGroupManager extends TorqueAbstractGroupManager implements PeerManagable
36 {
37
38 private Boolean customPeer = false;
39 private String peerClassName;
40 transient PeerManager peerManager;
41 private static final String PEER_CLASS_NAME_KEY = "peerClassName";
42
43 private String columnName = "GROUP_NAME";
44
45
46
47
48 @Override
49 public void configure(Configuration conf) throws ConfigurationException
50 {
51 super.configure( conf );
52
53 peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
54 if (peerClassName != null) {
55 setPeerClassName( peerClassName );
56 setCustomPeer(true);
57 }
58 }
59
60 @Override
61 public Peer getPeerInstance() throws DataBackendException {
62 return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
63 }
64
65
66
67
68 @Override
69 public PeerManager getPeerManager()
70 {
71 if (peerManager == null)
72 {
73 peerManager = (PeerManager) resolve(PeerManager.ROLE);
74 }
75 return peerManager;
76 }
77
78 public String getColumnName() {
79 return columnName;
80 }
81
82 public void setColumnName(String columnName) {
83 this.columnName = columnName;
84 }
85
86 @Override
87 public Boolean getCustomPeer()
88 {
89 return customPeer;
90 }
91
92 @Override
93 public void setCustomPeer( Boolean customPeer )
94 {
95 this.customPeer = customPeer;
96 }
97
98 @Override
99 public String getPeerClassName()
100 {
101 return peerClassName;
102 }
103
104 @Override
105 public void setPeerClassName( String peerClassName )
106 {
107 this.peerClassName = peerClassName;
108 }
109
110 }