What's the bug? Your DRegionAction isn't getting its manager injected properly? Since this works for the "Person" object in the tutorials, I don't think it's a bug. However, there may be something in your application that's causing this behavior.

Matt

On Dec 17, 2007, at 11:36 PM, Vachel Chan wrote:


  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]


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

Reply via email to