Revision 859
Added by berkley over 22 years ago
AccessControlList.java | ||
---|---|---|
89 | 89 |
private int serverCode = 1; |
90 | 90 |
|
91 | 91 |
private Vector aclObjects = new Vector(); |
92 |
|
|
92 |
private boolean instarttag = true; |
|
93 |
private String tagName = ""; |
|
93 | 94 |
/** |
94 | 95 |
* Construct an instance of the AccessControlList class. |
95 | 96 |
* It is used by the permission check up from DBQuery or DocumentImpl |
... | ... | |
224 | 225 |
String qName, Attributes atts) |
225 | 226 |
throws SAXException |
226 | 227 |
{ |
228 |
instarttag = true; |
|
229 |
if(localName.equals("allow")) |
|
230 |
{ |
|
231 |
tagName = "allow"; |
|
232 |
} |
|
233 |
else if(localName.equals("deny")) |
|
234 |
{ |
|
235 |
tagName = "deny"; |
|
236 |
} |
|
227 | 237 |
BasicNode currentNode = new BasicNode(localName); |
228 | 238 |
if (atts != null) { |
229 | 239 |
int len = atts.getLength(); |
... | ... | |
242 | 252 |
* Callback method used by the SAX Parser when the text sequences of an |
243 | 253 |
* xml stream are detected. Used in this context to parse and store |
244 | 254 |
* the acl information in class variables. |
245 |
*/ |
|
255 |
*/
|
|
246 | 256 |
public void characters(char ch[], int start, int length) |
247 | 257 |
throws SAXException |
248 | 258 |
{ |
259 |
if(!instarttag) |
|
260 |
{ |
|
261 |
return; |
|
262 |
} |
|
249 | 263 |
String inputString = new String(ch, start, length); |
264 |
inputString = inputString.trim(); |
|
250 | 265 |
BasicNode currentNode = (BasicNode)elementStack.peek(); |
251 | 266 |
String currentTag = currentNode.getTagName(); |
252 | 267 |
|
... | ... | |
262 | 277 |
permission = permission | WRITE; |
263 | 278 |
} else if ( inputString.trim().toUpperCase().equals("ALL") ) { |
264 | 279 |
permission = permission | ALL; |
265 |
} else {
|
|
280 |
} /*else{
|
|
266 | 281 |
throw new SAXException("Unknown permission type: " + inputString); |
267 |
} |
|
282 |
}*/
|
|
268 | 283 |
|
269 | 284 |
} else if ( currentTag.equals("startDate") && beginTime == null ) { |
270 | 285 |
beginTime = inputString.trim(); |
... | ... | |
289 | 304 |
public void endElement (String uri, String localName, String qName) |
290 | 305 |
throws SAXException |
291 | 306 |
{ |
307 |
instarttag = false; |
|
292 | 308 |
BasicNode leaving = (BasicNode)elementStack.pop(); |
293 | 309 |
String leavingTagName = leaving.getTagName(); |
294 | 310 |
|
Also available in: Unified diff
fixed access control bug. the character data in the sax parser was not getting trimmed and causing problems. also fixed hard coded eml-dataset public id in the web index file