public void findServiceDescriptionsAsync()

in taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java [206:244]


	public void findServiceDescriptionsAsync(FindServiceDescriptionsCallBack callBack) {

		List<ServiceDescription> items = new ArrayList<ServiceDescription>();

		InputStream inputStream = getClass().getResourceAsStream(LOCALWORKER_NAMES);
		if (inputStream == null) {
			logger.error("Could not find resource " + LOCALWORKER_NAMES);
			return;
		}
		BufferedReader inputReader = new BufferedReader(new InputStreamReader(inputStream));
		String line = "";
		String category = null;
		try {
			while ((line = inputReader.readLine()) != null) {
				if (line.startsWith("category")) {
					String[] split = line.split(":");
					category = split[1];
				} else if (line.startsWith("#")) {
					continue; // comments
				} else {
					LocalworkerServiceDescription createItem;
					try {
						createItem = createItem(line);
					} catch (ItemCreationException e) {
						logger.warn("Could not create item for: " + line, e);
						continue;
					}
					createItem.setCategory(category);
					createItem.setProvider("Taverna");
					items.add(createItem);
				}
			}
		} catch (IOException e1) {
			logger.warn("Could not read local worker definitions from " + LOCALWORKER_NAMES);
		}
		callBack.partialResults(items);
		callBack.finished();

	}