src/share/classes/com/sun/jndi/ldap/Obj.java
Print this page
*** 322,348 ****
if (count > 0) {
Attribute refAttr = new BasicAttribute(JAVA_ATTRIBUTES[REF_ADDR]);
RefAddr refAddr;
! BASE64Encoder encoder = null;
for (int i = 0; i < count; i++) {
refAddr = ref.get(i);
if (refAddr instanceof StringRefAddr) {
refAttr.add(""+ separator + i +
separator + refAddr.getType() +
separator + refAddr.getContent());
} else {
if (encoder == null)
! encoder = new BASE64Encoder();
refAttr.add(""+ separator + i +
separator + refAddr.getType() +
separator + separator +
! encoder.encodeBuffer(serializeObject(refAddr)));
}
}
attrs.put(refAttr);
}
return attrs;
--- 322,348 ----
if (count > 0) {
Attribute refAttr = new BasicAttribute(JAVA_ATTRIBUTES[REF_ADDR]);
RefAddr refAddr;
! Base64.Encoder encoder = null;
for (int i = 0; i < count; i++) {
refAddr = ref.get(i);
if (refAddr instanceof StringRefAddr) {
refAttr.add(""+ separator + i +
separator + refAddr.getType() +
separator + refAddr.getContent());
} else {
if (encoder == null)
! encoder = Base64.getEncoder();
refAttr.add(""+ separator + i +
separator + refAddr.getType() +
separator + separator +
! encoder.encodeToString(serializeObject(refAddr)));
}
}
attrs.put(refAttr);
}
return attrs;
*** 401,411 ****
if ((attr = attrs.get(JAVA_ATTRIBUTES[REF_ADDR])) != null) {
String val, posnStr, type;
char separator;
int start, sep, posn;
! BASE64Decoder decoder = null;
ClassLoader cl = helper.getURLClassLoader(codebases);
/*
* Temporary Vector for decoded RefAddr addresses - used to ensure
--- 401,411 ----
if ((attr = attrs.get(JAVA_ATTRIBUTES[REF_ADDR])) != null) {
String val, posnStr, type;
char separator;
int start, sep, posn;
! Base64.Decoder decoder = null;
ClassLoader cl = helper.getURLClassLoader(codebases);
/*
* Temporary Vector for decoded RefAddr addresses - used to ensure
*** 470,484 ****
++start; // skip over consecutive separator
// %%% RL: exception if empty after double separator
if (decoder == null)
! decoder = new BASE64Decoder();
RefAddr ra = (RefAddr)
deserializeObject(
! decoder.decodeBuffer(val.substring(start)),
cl);
refAddrList.setElementAt(ra, posn);
} else {
// Single separator indicates a StringRefAddr
--- 470,484 ----
++start; // skip over consecutive separator
// %%% RL: exception if empty after double separator
if (decoder == null)
! decoder = Base64.getDecoder();
RefAddr ra = (RefAddr)
deserializeObject(
! decoder.decode(val.substring(start)),
cl);
refAddrList.setElementAt(ra, posn);
} else {
// Single separator indicates a StringRefAddr