I have a hivemind service that loads test data into my app. I use the EagerLoad feature of hivemind to trigger this dataload. However, I get this exception:
java.lang.IllegalStateException: The Infrastructure service has not yet been initialized.
org.apache.tapestry.services
.impl.InfrastructureImpl.getProperty(InfrastructureImpl.java:292)
org.apache.tapestry.services.impl.InfrastructureImpl.getApplicationStateManager(InfrastructureImpl.java:116)
$Infrastructure_10de95366c1.getApplicationStateManager($Infrastructure_10de95366c1.java)
$Infrastructure_10de95366c0.getApplicationStateManager($Infrastructure_10de95366c0.java)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
The relevant hivemodule.xml snippet is:
<service-point id="sessionFactory" interface="com.transparentpolitics.core.TransPolSessionManager">
<invoke-factory>
<construct class=" com.transparentpolitics.core.TransPolSessionManagerImpl" initialize-method="init">
<set-object property="stateManager" value="infrastructure:applicationStateManager"/>
<set-service property="broadcastProviderManager" service-id="broadcastProviderManager"/>
</construct>
</invoke-factory>
</service-point>
( I have attached complete hivemodule.xml file)
In the hivemodule.xml file, does anyone know how to inject the stateObject itself directly without going through the applicationStateManager? I know how to do it on a tapestry component/page but not in hivemind.
-Pat Moore
org.apache.tapestry.services.impl.InfrastructureImpl.getApplicationStateManager(InfrastructureImpl.java:116)
$Infrastructure_10de95366c1.getApplicationStateManager($Infrastructure_10de95366c1.java)
$Infrastructure_10de95366c0.getApplicationStateManager($Infrastructure_10de95366c0.java)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
The relevant hivemodule.xml snippet is:
<service-point id="sessionFactory" interface="com.transparentpolitics.core.TransPolSessionManager">
<invoke-factory>
<construct class=" com.transparentpolitics.core.TransPolSessionManagerImpl" initialize-method="init">
<set-object property="stateManager" value="infrastructure:applicationStateManager"/>
<set-service property="broadcastProviderManager" service-id="broadcastProviderManager"/>
</construct>
</invoke-factory>
</service-point>
( I have attached complete hivemodule.xml file)
In the hivemodule.xml file, does anyone know how to inject the stateObject itself directly without going through the applicationStateManager? I know how to do it on a tapestry component/page but not in hivemind.
-Pat Moore
<?xml version="1.0"?> <module id="transparentpolitics" version="0.0.1" package="com.transparentpolitics"> <contribution configuration-id="tapestry.url.ServiceEncoders"> <direct-service-encoder id="direct" stateless-extension="direct" stateful-extension="sdirect"/> <page-service-encoder id="page" extension="page" service="page"/> <page-service-encoder id="external" extension="external" service="external"/> <asset-encoder id="asset" path="/assets"/> <extension-encoder id="ext" extension="svc" after="*"/> </contribution> <contribution configuration-id="tapestry.state.ApplicationObjects"> <state-object name="userInformation" scope="session"> <invoke-factory object="service:sessionFactory"/> </state-object> </contribution> <!-- <schema id="databaseConnectionDef"> <element name="prop" key-attribute="key"> <attribute name="key"/> <attribute name="value" required="true"/>
<rules> <push-attribute attribute="value"/> <invoke-parent method="addElement"/> </rules> </element> </schema> <configuration-point id="databaseConnection" schema-id="databaseConnectionDef"/> <contribution configuration-id="databaseConnection"> <prop key="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> <prop key="hibernate.show_sql" value="true"/> <prop key="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> <prop key="hibernate.connection.url" value="jdbc:mysql://localhost/rbook"/> <prop key="hibernate.connection.username" value="rbook"/> <prop key="hibernate.connection.password" value="cafebabe"/> </contribution> --> <service-point id="jsonRendererRegistry" interface="com.transparentpolitics.core.JSONRendererRegistry"> <invoke-factory> <construct class="com.transparentpolitics.core.JSONRendererRegistryImpl" initialize-method="init"> </construct> </invoke-factory> </service-point> <service-point id="hibernateSessionManager" interface="com.transparentpolitics.core.persistence.HibernateSessionManager" > <invoke-factory> <construct class="com.transparentpolitics.core.persistence.HibernateSessionManager" initialize-method="init"> </construct> </invoke-factory> </service-point> <service-point id="callbackRegistry" interface="com.transparentpolitics.core.CallbackRegistry"> <invoke-factory> <construct class="com.transparentpolitics.core.CallbackRegistryImpl" initialize-method="init"> </construct> </invoke-factory> </service-point> <service-point id="messageEndPointFactory" interface="com.transparentpolitics.core.messagehandling.MessageEndPointFactory"> <invoke-factory> <construct class="com.transparentpolitics.core.messagehandling.MessageEndPointFactory" initialize-method="init"> <set-service property="jsonRendererRegistry" service-id="jsonRendererRegistry"/> <set-service property="callbackRegistry" service-id="callbackRegistry"/> </construct> </invoke-factory> </service-point> <service-point id="tagManager" interface="com.transparentpolitics.core.TagManager"> <invoke-factory> <construct class="com.transparentpolitics.core.persistence.TagManagerImpl" initialize-method="init"> <set-service property="transPolSessionManager" service-id="sessionFactory"/> <set-service property="hibernateSessionManager" service-id="hibernateSessionManager"/> </construct> </invoke-factory> </service-point> <service-point id="messageSourcePointFactory" interface="com.transparentpolitics.core.messagehandling.MessageSourcePointFactory"> <invoke-factory> <construct class="com.transparentpolitics.core.messagehandling.MessageSourcePointFactory" initialize-method="init"> <set-service property="broadcastEnvelopeFactory" service-id="broadcastMessageManager"/> <set-service property="jsonRendererRegistry" service-id="jsonRendererRegistry"/> <set-service property="callbackRegistry" service-id="callbackRegistry"/> </construct> </invoke-factory> </service-point> <service-point id="broadcastMessageManager" interface="com.transparentpolitics.core.BroadcastMessageManager"> <invoke-factory> <construct class="com.transparentpolitics.core.persistence.BroadcastMessageManagerImpl" initialize-method="init"> <set-service property="hibernateSessionManager" service-id="hibernateSessionManager"/> </construct> </invoke-factory> </service-point> <service-point id="broadcastProviderManager" interface="com.transparentpolitics.core.BroadcastProviderManager"> <invoke-factory> <construct class="com.transparentpolitics.core.BroadcastProviderManagerImpl" initialize-method="init"> <set-service property="hibernateSessionManager" service-id="hibernateSessionManager"/> <set-service property="messageEndPointFactory" service-id="messageEndPointFactory"/> <set-service property="messageSourcePointFactory" service-id="messageSourcePointFactory"/> </construct> </invoke-factory> </service-point> <service-point id="sessionFactory" interface="com.transparentpolitics.core.TransPolSessionManager"> <invoke-factory> <construct class="com.transparentpolitics.core.TransPolSessionManagerImpl" initialize-method="init"> <set-object property="stateManager" value="infrastructure:applicationStateManager"/> <set-service property="broadcastProviderManager" service-id="broadcastProviderManager"/> </construct> </invoke-factory> </service-point> <service-point id="testData" interface="demo.Samples"> <invoke-factory> <construct class="demo.Samples" initialize-method="init"> <set-service property="broadcastProviderManager" service-id="broadcastProviderManager"/> <set-service property="broadcastMessageManager" service-id="broadcastMessageManager"/> </construct> </invoke-factory> </service-point> <!-- for development to eagerly load --> <contribution configuration-id="hivemind.EagerLoad"> <!-- <load service-id="flowDefinitionsManager"/> <load service-id="personInstanceManager"/> <load service-id="eventInstanceManager" /> <load service-id="issueInstanceManager" /> <load service-id="entityTypeManager" /> <load service-id="organizationInstanceManager"/> <load service-id="jsonRendererRegistry"/> <load service-id="broadcastProviderManager"/> <load service-id="sessionFactory"/> --> <load service-id="testData"/> </contribution> </module>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]