Мне нужно создать компонент, который принимает экземпляр класса как параметр конструктора. Полезные значения этого экземпляра класса создаются классом как статические поля.OSGi Aries Blueprint статическое поле
В частности, я пытаюсь создать компоненты WebClient из HtmlUnit. http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html
Вы можете видеть, что WebClient принимает конструктор no-arg (не хочет), а также тот, который принимает экземпляр BrowserVersion. http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/BrowserVersion.html
BrowserVersion определяет полезные экземпляры как статические поля, например: CHROME, FIREFOX_24, INTERNET_EXPLORER_11.
Мне нужно ссылаться на один из этих экземпляров BrowserVersion в компоненте Blue Ories.
Вот что установка план выглядит следующим образом:
<bean id="webClient" class="com.gargoylesoftware.htmlunit.WebClient">
<argument>??</argument>
</bean>
Я попытался:
<argument><bean class="com.gargoylesoftware.htmlunit.BrowserVersion.FIREFOX_24" /></argument>
<argument value="com.gargoylesoftware.htmlunit.BrowserVersion.FIREFOX_24" />
Я также попытался просто создание BrowserVersion компонента в Blueprint конфигурации, и я не могу чтобы сделать эту работу.
<bean id="webClient" class="com.gargoylesoftware.htmlunit.WebClient">
<argument>
<bean class="com.gargoylesoftware.htmlunit.BrowserVersion">
<argument index="0" type="java.lang.String" value="Netscape" />
<argument index="1" type="java.lang.String" value="5.0 (Windows)" />
<argument index="2" type="java.lang.String" value="Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0" />
<argument index="3" type="java.lang.Float" value="24.0" />
</bean>
</argument>
</bean>
Это должно соответствовать a public constructor на BrowserVersion.
Любые идеи, что я делаю неправильно в обоих подсчетах?