Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
14   109   6   2.8
2   34   0.71   5
5     2  
1    
 
 
  VirtualLDAP       Line # 62 14 6 42.9% 0.42857143
 
  (1)
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45   
46    /*
47    * VirtualLDAPUtility.java
48    *
49    * Created on December 14, 2005, 12:25 PM
50    */
51   
52    package issrg.test.ds;
53   
54    import javax.naming.directory.Attribute;
55    import javax.naming.directory.Attributes;
56    import issrg.pba.rbac.LDAPDNPrincipal;
57   
58    /**
59    *
60    * @author anhnt
61    */
 
62    public class VirtualLDAP extends issrg.utils.repository.VirtualRepository {
63   
64    /** Creates a new instance of VirtualLDAPUtility */
65    public static String AC_attribute = "attributeCertificateAttribute;binary";
 
66  1 toggle public VirtualLDAP() {
67    }
68   
 
69  20 toggle public void save(byte [] ac) throws Exception {
70  20 try {
71  20 issrg.ac.AttributeCertificate acc = issrg.ac.AttributeCertificate.guessEncoding(ac);
72  20 String dn = issrg.ac.Util.generalNamesToString(acc.getACInfo().getHolder().getEntityName()).toUpperCase();
73  20 populate(dn, AC_attribute, ac);
74    } catch (iaik.asn1.CodingException ce) {
75  0 throw new Exception();
76    }
77    }
78   
 
79  1 toggle public Attribute loadACs(String dn) throws Exception {
80  1 try {
81  1 return getAttribute(new LDAPDNPrincipal(dn.toUpperCase()), AC_attribute);
82    } catch (issrg.utils.RFC2253ParsingException pe) {
83  0 throw new Exception();
84    }
85    }
86   
 
87  0 toggle public void deleteAC(String dn, int idx) throws Exception {
88  0 Attribute attrs = loadACs(dn.toUpperCase());
89  0 if (attrs ==null || idx < 0 || idx > attrs.size()) throw new Exception("Can not delete AC: no AC was selected");
90  0 Object obj = attrs.remove(idx);
91    // Attributes as = (Attributes) repository.get(dn.toUpperCase());
92    // javax.naming.directory.BasicAttribute ba = new javax.naming.directory.BasicAttribute(issrg.pba.repository.ACRepository.ATTRIBUTE_CERTIFICATE_ID);
93    // ba.add(attrs);
94    // as.put(issrg.pba.repository.ACRepository.ATTRIBUTE_CERTIFICATE_ID, ba);
95   
96    }
 
97  0 toggle public void deleteAllACs(String dn) throws Exception {
98  0 Attributes as = (Attributes) repository.get(dn.toUpperCase());
99  0 as.put(AC_attribute, new javax.naming.directory.BasicAttribute(AC_attribute));
100    }
101    }
102   
103   
104   
105   
106   
107   
108   
109