Igot this err when i try to insert.... :

ERROR
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Failure writing parameter value of component
admin/PlayerForm:positionselect: Expression position for class
edu.its.dreamteam.web.pages.admin.PlayerForm is read-only.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

the error showed higlight in this part (in PlayerForm.tml):
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
<td><t:select t:id="positionSelect" model="positionSelectionModel"
value="position" encoder="positionValueEncoder" label="Position"/></td>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

could anyone could help me what had happened to my code ???
whats wrong with my code ?

here's my code :

*Club.java*

public class Club extends BaseBean implements Serializable{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private String idClub;
    private String clubName;

    public String getIdClub() {
        return idClub;
    }

    public void setIdClub(String idClub) {
        this.idClub = idClub;
    }

    public String getClubName() {
        return clubName;
    }

    public void setClubName(String clubName) {
        this.clubName = clubName;
    }

    @Override
    protected String getPrimaryKey() {
        return getIdClub();
    }

}

*Position.java*
public class Position extends BaseBean implements Serializable{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private String idPosition;
    private String position;
    private Integer earnPoint;

    public String getIdPosition() {
        return idPosition;
    }

    public void setIdPosition(String idPosition) {
        this.idPosition = idPosition;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public Integer getEarnPoint() {
        return earnPoint;
    }

    public void setEarnPoint(Integer earnPoint) {
        this.earnPoint = earnPoint;
    }

    @Override
    protected String getPrimaryKey() {
        return getIdPosition();
    }

}

*Player.java

*public class Player extends BaseBean implements Serializable{*
    /**
     *
     */
   * private static final long serialVersionUID = 1L;
    private String idPlayer;
    private String firstName;
    private String midName;
    private String lastName;
    private String idPosition;
    private String idClub;
    private Integer defaultPrice;
    private String number;

    private Position position;
    private Club club;

    public String getIdPlayer() {
        return idPlayer;
    }
    public void setIdPlayer(String idPlayer) {
        this.idPlayer = idPlayer;
    }

    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getMidName() {
        return midName;
    }
    public void setMidName(String midName) {
        this.midName = midName;
    }


    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getIdPosition() {
        idPosition = getPosition().getIdPosition();
        return idPosition;
    }
    public void setIdPosition(String idPosition) {
        this.idPosition = idPosition;
        this.getPosition().setIdPosition(idPosition);
    }

    public String getIdClub() {
        idClub = getClub().getIdClub();
        return idClub;
    }
    public void setIdClub(String idClub) {
        this.idClub = idClub;
        getClub().setIdClub(idClub);
    }

    public Integer getDefaultPrice() {
        return defaultPrice;
    }

    public void setDefaultPrice(Integer defaultPrice) {
        this.defaultPrice = defaultPrice;
    }

    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }

    public Position getPosition() {
        if(position==null){
            position = new Position();
        }
        return position;
    }

    public void setPosition(Position position) {
        this.position = position;
    }
    public Club getClub() {
        if(club == null){
            club = new Club();
        }
        return club;
    }
    public void setClub(Club club) {
        this.club = club;
    }
    @Override
    protected String getPrimaryKey() {
        return getIdPlayer();
    }

}

----------------------------------------------------------------------------------------------------------------------------------------------------

*PlayerForm.java*

public class PlayerForm extends BaseFormPage{
    @Inject
    private IPlayerDao playerDao;
    @Inject
    private IPositionDao positionDao;
    @Inject
    private IClubDao clubDao;

    @Persist("client")
    private Player player;

    private Position position;
    private Club club;

    @Component
    private Form playerForm;

    private List<Position> positionList;
    private List<Club> clubList;

    private String idPlayer;

    public IClubDao getClubDao() {
        return clubDao;
    }
    public IPositionDao getPositionDao() {
        return positionDao;
    }
    public IPlayerDao getPlayerDao() {
        return playerDao;
    }


    public Player getPlayer() {
        return player;
    }

    public Position getPosition() {
        return position;
    }

    public Club getClub() {
        return club;
    }

    public List<Position> getPositionList() {
        positionList = getPositionDao().queryForList("", "");
        return positionList;
    }
    public List<Club> getClubList() {
        clubList = getClubDao().queryForList("", "");
        return clubList;
    }


    public PositionSelectionModel getPositionSelectionModel() {
        return new PositionSelectionModel(getPositionList());
    }
    public ValueEncoder<Position> getPositionValueEncoder(){
        return new PositionValueEncoder(getPositionList());
    }

    public ClubSelectionModel getClubSelectionModel() {
        return new ClubSelectionModel(getClubList());
    }
    public ValueEncoder<Club> getClubValueEncoder(){
        return new ClubValueEncoder(getClubList());
    }

    void onPrepare(){
        if(player == null){
            player = new Player();
        }
        if(position == null){
            position = new Position();
        }
        if(club == null){
            club = new Club();
        }
    }

    void onActionFromClear(){
        player = null;
        playerForm.clearErrors();
    }

    Object onSuccessFromPlayerForm(){
        if(getPlayer().getIdPlayer()==null){
            getPlayer().setIdPlayer(getIdPrimaryKey().generateId());
            getPlayer().setIdPosition(getPosition().getIdPosition());
            getPlayer().setIdClub(getClub().getIdClub());

            getPlayerDao().insert(getPlayer());
        }else{
            getPlayer().setIdPosition(getPosition().getIdPosition());
            getPlayer().setIdClub(getClub().getIdClub());
            getPlayerDao().update(getPlayer());
        }

        return PlayerGrid.class;
    }

    void onActivate(String idPlayer){
        this.idPlayer = idPlayer;
        player = (Player) getPlayerDao().findByPrimaryKey(idPlayer);

    }

    String onPassivate(){
        return idPlayer;
    }

}*

PlayerForm.tml
*<form t:type="Form" t:id="playerForm">
    <t:errors/>
        <table class="soria">
            <tr>
                <td><t:label for="firstNameField"/></td>
                <td>&nbsp; :</td>
                <td><input t:type="TextField" t:id="firstNameField" value="
Player.firstName" validate="required,minlength=3" size="20" label="First
Name"/></td>
            </tr>
            <tr>
                <td><t:label for="midNameField"/></td>
                <td>&nbsp; :</td>
                <td><input t:type="TextField" t:id="midNameField" value="
Player.midName" size="20" label="Middle Name"/></td>
            </tr>
            <tr>
                <td><t:label for="lastNameField"/></td>
                <td>&nbsp; :</td>
                <td><input t:type="TextField" t:id="lastNameField" value="
Player.lastName" validate="required" size="20" label="Last Name"/></td>
            </tr>
            <tr>
                <td><t:label for="positionSelect"/></td>
                <td>&nbsp;</td>
                <td><t:select t:id="positionSelect"
model="positionSelectionModel" value="position"
encoder="positionValueEncoder" label="Position"/></td>
            </tr>
            <tr>
                <td><t:label for="clubSelect"/></td>
                <td>&nbsp;</td>
                <td><t:select t:id="clubSelect" model="clubSelectionModel"
value="club" encoder="clubValueEncoder" label="Club"/></td>
            </tr>
            <tr>
                <td><t:label for="defaultPriceField"/></td>
                <td>&nbsp;</td>
                <td><input t:type="TextField" t:id="defaultPriceField"
value="Player.defaultPrice" validate="required" size="20" label="Default
Price"/></td>
            </tr>
            <tr>
                <td><t:label for="numberSelect"/></td>
                <td></td>
                <td><t:select t:id="numberSelect"
model="'1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20'" value="
Player.number" label="Number"/></td>
            </tr>
            <tr><td colspan="3"></td></tr>
            <tr>
                <td colspan="3">
                <input type="submit" label="Save" dojoType="
dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconSave"/>
                <input type="submit" label="Back" dojoType="
dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconUndo"/>
                </td>
            </tr>
        </table>
    </form>

Reply via email to