1
2
3
4
5 package nl.dedicon.pipeline.braille.calabash.impl;
6
7 public class BrlUrisStep_Provider_SPI
8 extends nl.dedicon.pipeline.braille.calabash.impl.BrlUrisStep.Provider
9 implements org.daisy.common.spi.ServiceWithProperties
10 {
11
12 private static final org.slf4j.Logger spi_log = org.slf4j.LoggerFactory.getLogger(BrlUrisStep_Provider_SPI.class);
13
14 private final java.util.Map spi_props;
15
16 public BrlUrisStep_Provider_SPI() {
17 super();
18 spi_log.trace("Creating BrlUrisStep.Provider");
19 spi_props = new java.util.HashMap();
20 spi_props.put("component.name", "dedicon:brl-uris");
21 spi_props.put("type", "{http://www.dedicon.nl}brl-uris");
22 {
23 spi_log.trace("Binding org.daisy.pipeline.braille.pef.FileFormatProvider services...");
24
25 int minRef = 0;
26 int maxRef = -1;
27 int refCount = 0;
28 try {
29 java.util.Iterator<org.daisy.pipeline.braille.pef.FileFormatProvider> services
30 = org.daisy.common.spi.ServiceLoader.load(org.daisy.pipeline.braille.pef.FileFormatProvider.class).iterator();
31 while (services.hasNext()) {
32 try {
33 org.daisy.pipeline.braille.pef.FileFormatProvider service = services.next();
34 bindFileFormatProvider(service);
35 refCount++;
36 if (maxRef > 0 && refCount == maxRef)
37 break;
38 } catch (Throwable e) {
39 spi_log.error("Error while binding org.daisy.pipeline.braille.pef.FileFormatProvider service", e);
40 }
41 }
42 } catch (Throwable e) {
43 spi_log.error("Error while binding org.daisy.pipeline.braille.pef.FileFormatProvider services", e);
44 }
45 if (refCount < minRef) {
46 spi_log.warn("No org.daisy.pipeline.braille.pef.FileFormatProvider found");
47 throw new RuntimeException("No org.daisy.pipeline.braille.pef.FileFormatProvider found");
48 } else {
49 spi_log.trace("Bound " + refCount + " org.daisy.pipeline.braille.pef.FileFormatProvider services.");
50 }
51 }
52 }
53
54 public java.util.Map spi_getProperties() {
55 return spi_props;
56 }
57 }