- String allNewProducers = MirGlobal.getConfigProperty("Mir.Localizer.Producer.AllNewProducers");
- allNewProducerTasks = ProducerEngine.ProducerTask.parseProducerTaskList(allNewProducers);
+ producerRecipes = new HashMap();
+ producerRecipeNames = new Vector();
+
+ String[] recipes = MirGlobal.config().getStringArray("Mir.Localizer.Producer.ProducerRecipes");
+ for (int i = 0; i<recipes.length; i++) {
+ try {
+ List parts = StringRoutines.separateString(recipes[i], "=");
+ if (parts.size() == 2) {
+ producerRecipes.put(parts.get(0), ProducerEngine.ProducerTask.parseProducerTaskList( (String) parts.get(1)));
+ producerRecipeNames.add(parts.get(0));
+ }
+ else {
+ throw new Exception("'=' expected");
+ }
+ }
+ catch (Throwable t) {
+ logger.error("Error while processing producer recipe '" + recipes[i] + "': " + t.toString());
+ }
+ }
+
+ // for backward compatibility:
+ String allNewProducers = MirGlobal.config().getString("Mir.Localizer.Producer.AllNewProducers");
+ if (allNewProducers!=null && allNewProducers.length()>0) {
+ producerRecipes.put("allnew", ProducerEngine.ProducerTask.parseProducerTaskList(allNewProducers));
+ producerRecipeNames.add("allnew");
+ }