Yes, I'm using Struts 2 + Hibernate.
  
  When I run "mvn integration-test", all the unit test is passed, until run
to the  web-test  "SearchDRegion" , I got the NULL exception.

  That means DRegionActionTest worked very well ! But DRegionAction.list()
is failed in web-test.

  I think it's a bug indeed .


  Thanks again!


mraible wrote:
> 
> Which web framework are you using? If it's Struts 2, the manager is  
> injected via the setXXXManager method in your action. However, it's  
> only injected when running in the server since the Spring Plugin  
> facilitates this. For your tests, you should manually call  
> setXXXManager. The tests generated by AMP should do this for you. If  
> they don't, it may be a bug.
> 
> Matt
> 
> On Dec 16, 2007, at 8:22 AM, Vachel Chan wrote:
> 
>>
>> hi all:
>>
>>     The following code is my model class. Specially, the key property
>> "regionId" is a String, not a Long type.
>>
>> When I  use "mvn appfuse:gen -Dentity=DRegion " to generate all the  
>> code and
>> run "mvn integration-test",
>> there is an Excepion :
>>
>>   java.lang.NullPointerException
>>      at com.huaat.webapp.action.DRegionAction.list(DRegionAction.java:38)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke 
>> (NativeMethodAccessorImpl.java:39)
>>      ................
>>              ..........
>>
>>   Then  I check the code  DRegionAction.java in line 38:  dRegions =
>> dRegionManager.getAll();
>>   Obviously , the  dRegionManager is NULL !    I check every config  
>> files ,
>> the dRegionManager bean
>>  was added correctly, including  in applicationcontext.xml.   like  
>> this:
>>
>>      <!--DRegionManager-START-->
>>     <bean id="dRegionManager"
>> class="org.appfuse.service.impl.GenericManagerImpl" autowire="byName">
>>         <constructor-arg>
>>             <bean  
>> class="org.appfuse.dao.hibernate.GenericDaoHibernate">
>>                 <constructor-arg value="com.myproject.model.DRegion"/>
>>                 <property name="sessionFactory" ref="sessionFactory"/>
>>             </bean>
>>         </constructor-arg>
>>     </bean>
>>     <!--DRegionManager-END-->
>>
>>  now the question is, why the dRegionManager is not injected in my
>> DRegionAction ?
>>
>>  and why every thing is ok when the model key property chang to Long,
>> instead of a String ?
>>
>>  thanks advanced!
>>
>> --------------------------- DRegion.java
>> -------------------------------------
>>
>> package com.myproject.model;
>>
>> import java.io.Serializable;
>>
>> import javax.persistence.Column;
>> import javax.persistence.Embeddable;
>> import javax.persistence.Entity;
>> import javax.persistence.Id;
>> import javax.persistence.Table;
>>
>> import org.appfuse.model.BaseObject;
>>
>> @Embeddable
>> @Entity
>> @Table(name="d_region")
>> public class DRegion extends BaseObject implements Serializable {
>>      
>>     private static final long serialVersionUID = 8317259246781769186L;
>>     private String regionId;
>>     private String regionName;
>>
>>     @Id
>>     @Column(name="region_id", nullable=false, length=3)
>>     public String getRegionId() {
>>         return this.regionId;
>>     }
>>
>>     public void setRegionId(String regionId) {
>>         this.regionId = regionId;
>>     }
>>
>>     @Column(name="region_name", nullable=false, length=32)
>>     public String getRegionName() {
>>         return this.regionName;
>>     }
>>
>>     public void setRegionName(String regionName) {
>>         this.regionName = regionName;
>>     }
>>
>>     public boolean equals(Object o) {
>>         if (this == o) return true;
>>         if (o == null || getClass() != o.getClass()) return false;
>>
>>         DRegion pojo = (DRegion) o;
>>
>>         if (regionName != null ? !regionName.equals(pojo.regionName) :
>> pojo.regionName != null) return false;
>>
>>         return true;
>>     }
>>
>>     public int hashCode() {
>>         int result = 0;
>>         result = (regionName != null ? regionName.hashCode() : 0);
>>
>>         return result;
>>     }
>>
>>     public String toString() {
>>         StringBuffer sb = new StringBuffer(getClass().getSimpleName 
>> ());
>>
>>         sb.append(" [");
>>         sb.append("regionId").append("='").append(getRegionId 
>> ()).append("',
>> ");
>>
>> sb.append("regionName").append("='").append(getRegionName()).append 
>> ("'");
>>         sb.append("]");
>>
>>         return sb.toString();
>>     }
>>
>> }
>>
>>
>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Why-the- 
>> GenericManager-can-not-be-injected-when-the-model-ID-is-a-String--- 
>> tp14362529s2369p14362529.html
>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Why-the-GenericManager-can-not-be-injected-when-the-model-ID-is-a-String---tp14362529s2369p14384500.html
Sent from the AppFuse - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to