1
2
3
4
5 package org.daisy.pipeline.modules.impl;
6
7 public class Module_metadata_utils_SPI
8 extends org.daisy.pipeline.modules.impl.Module_metadata_utils
9 implements org.daisy.common.spi.ServiceWithProperties
10 {
11
12 private static final org.slf4j.Logger spi_log = org.slf4j.LoggerFactory.getLogger(Module_metadata_utils_SPI.class);
13
14 private final java.util.Map spi_props;
15 private boolean spi_deactivated = false;
16
17
18 public Module_metadata_utils_SPI() {
19 super();
20 spi_log.trace("Creating Module_metadata_utils");
21 spi_props = new java.util.HashMap();
22 spi_props.put("component.name", "org.daisy.pipeline.modules.impl.Module_metadata_utils");
23 {
24 spi_log.trace("Binding org.daisy.pipeline.xmlcatalog.XmlCatalogParser services...");
25
26 int minRef = 1;
27 int maxRef = 1;
28 int refCount = 0;
29 try {
30 java.util.Iterator<org.daisy.pipeline.xmlcatalog.XmlCatalogParser> services
31 = org.daisy.common.spi.ServiceLoader.load(org.daisy.pipeline.xmlcatalog.XmlCatalogParser.class).iterator();
32 while (services.hasNext()) {
33 try {
34 org.daisy.pipeline.xmlcatalog.XmlCatalogParser service = services.next();
35 setParser(service);
36 spi_log.trace("Bound org.daisy.pipeline.xmlcatalog.XmlCatalogParser service: "
37 + service.getClass().getName() + "@"
38 + Integer.toHexString(System.identityHashCode(service)));
39 refCount++;
40 if (maxRef > 0 && refCount == maxRef)
41 break;
42 } catch (Throwable e) {
43 spi_log.error("Error while binding org.daisy.pipeline.xmlcatalog.XmlCatalogParser service", e);
44 }
45 }
46 } catch (Throwable e) {
47 spi_log.error("Error while binding org.daisy.pipeline.xmlcatalog.XmlCatalogParser services", e);
48 }
49 if (refCount < minRef) {
50 spi_log.warn("No org.daisy.pipeline.xmlcatalog.XmlCatalogParser found");
51 throw new RuntimeException("No org.daisy.pipeline.xmlcatalog.XmlCatalogParser found");
52 } else {
53 spi_log.trace("Bound " + refCount + " org.daisy.pipeline.xmlcatalog.XmlCatalogParser services.");
54 }
55 }
56 spi_log.trace("Activating Module_metadata_utils");
57 init();
58 }
59
60 public void spi_deactivate() {
61 }
62
63 public java.util.Map spi_getProperties() {
64 return spi_props;
65 }
66 }