public String getName()

in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/utils/X500Utils.java [63:97]


	public String getName(X500Principal id, String... fields) {
		String dn = id.getName(RFC2253);

		int i = 0;
		int startIndex = 0;
		boolean ignoreThisChar = false;
		boolean inQuotes = false;
		Map<String, String> tokenized = new HashMap<>();

		for (i = 0; i < dn.length(); i++)
			if (ignoreThisChar)
				ignoreThisChar = false;
			else if (dn.charAt(i) == DN_QUOTE)
				inQuotes = !inQuotes;
			else if (inQuotes)
				continue;
			else if (dn.charAt(i) == DN_ESCAPE)
				ignoreThisChar = true;
			else if ((dn.charAt(i) == DN_SEPARATOR) && !ignoreThisChar) {
				storeDNField(tokenized, dn.substring(startIndex, i).trim()
						.split("=", 2));
				startIndex = i + 1;
			}
		if (inQuotes || ignoreThisChar)
			log.warn("was parsing invalid DN format");
		// Add last token - after the last delimiter
		storeDNField(tokenized, dn.substring(startIndex).trim().split("=", 2));

		for (String field : fields) {
			String value = tokenized.get(field);
			if (value != null)
				return value;
		}
		return "none";
	}