From cd4bf1fc9fdb26496d211ce205042c797fbdd915 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Wed, 08 Apr 2009 10:03:27 +0000
Subject: [PATCH] Fix for issue 3686 (makeldif does not parse redirect to file based attribute)
---
opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java | 26 ++++++++++++++++++++++----
1 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java b/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java
index 075f6b8..2de6f2d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/TemplateFile.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.tools.makeldif;
import org.opends.messages.Message;
@@ -1358,9 +1358,25 @@
true);
- // First, find the position of the first non-blank character in the line.
+ // First, check whether the value is an URL value: <attrName>:< <url>
int length = line.length();
int pos = colonPos + 1;
+ boolean valueIsURL = false;
+ boolean valueIsBase64 = false;
+ if (pos < length)
+ {
+ if (lowerLine.charAt(pos) == '<')
+ {
+ valueIsURL = true;
+ pos ++;
+ }
+ else if (lowerLine.charAt(pos) == ':')
+ {
+ valueIsBase64 = true;
+ pos ++;
+ }
+ }
+ // Then, find the position of the first non-blank character in the line.
while ((pos < length) && (lowerLine.charAt(pos) == ' '))
{
pos++;
@@ -1395,6 +1411,7 @@
ArrayList<Tag> tagList = new ArrayList<Tag>();
StringBuilder buffer = new StringBuilder();
+
for ( ; pos < length; pos++)
{
char c = line.charAt(pos);
@@ -1409,7 +1426,7 @@
StaticTextTag t = new StaticTextTag();
String[] args = new String[] { buffer.toString() };
t.initializeForBranch(this, branch, args, lineNumber,
- warnings);
+ warnings);
tagList.add(t);
buffer = new StringBuilder();
}
@@ -1488,7 +1505,8 @@
Tag[] tagArray = new Tag[tagList.size()];
tagList.toArray(tagArray);
- return new TemplateLine(attributeType, lineNumber, tagArray);
+ return new TemplateLine(attributeType, lineNumber, tagArray, valueIsURL,
+ valueIsBase64);
}
--
Gitblit v1.10.0