public Converter getConverterFromString()

in src/main/java/com/atlassian/uwc/ui/ConverterEngine.java [594:641]


	public Converter getConverterFromString(String converterStr) {
		Converter converter;
		int equalLoc = converterStr.indexOf("=");
		String key = converterStr.substring(0, equalLoc);
		String value = converterStr.substring(equalLoc + 1);
		try {
			if (key.indexOf(CONVERTERTYPE_CLASS) >= 0) {
				converter = getConverterClassFromCache(value);
			} else if (key.indexOf(CONVERTERTYPE_PERL) >= 0) {
				converter = PerlConverter.getPerlConverter(value);
				converter.setValue(value);
			} else if (key.indexOf(CONVERTERTYPE_JAVAREGEXTOKEN) >= 0) {
				converter = JavaRegexAndTokenizerConverter.getConverter(value);
				converter.setValue(value);
			} else if (key.indexOf(CONVERTERTYPE_JAVAREGEX) >= 0) {
				converter = JavaRegexConverter.getConverter(value);
				converter.setValue(value);
			} else if (key.indexOf(CONVERTERTYPE_TWIKICLEANER) >= 0) {
				//converter = getConverterClassFromCache(value);
				converter = TWikiRegexConverterCleanerWrapper.getTWikiRegexConverterCleanerWrapper(value);
				converter.setValue(value);
			} else { 
				String note = "Converter ignored -- name pattern not recognized: " + key;
				this.errors.addError(Feedback.BAD_PROPERTY, note, true);
				log.error(note);
				return null;
			}
			converter.setProperties(this.miscProperties);
			if (converter instanceof RequiresEngineConverter) {
				((RequiresEngineConverter) converter).setEngine(this);
			}
		} catch (ClassNotFoundException e) {
			this.errors.addError(Feedback.BAD_CONVERTER_CLASS, "Converter ignored -- the Java class " + value + " was not found", true);
			return null;
		} catch (IllegalAccessException e) {
			this.errors.addError(Feedback.BAD_CONVERTER_CLASS, "Converter ignored -- there was a problem creating a converter object", true);
			return null;
		} catch (InstantiationException e) {
			this.errors.addError(Feedback.BAD_CONVERTER_CLASS, "Converter ignored -- there was a problem creating the Java class " + value, true);
			return null;
		} catch (ClassCastException e) {
			this.errors.addError(Feedback.BAD_CONVERTER_CLASS, "Converter ignored -- the Java class " + value +
					" must implement the " + Converter.class.getName() + " interface!", true);
			return null;
		}
		converter.setKey(key);
		return converter;
	}