Hi there --

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
<?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]

Reply via email to