/*
* Copyright (C) 2009 eXo Platform SAS.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.etk.component.database;
import org.etk.component.database.DBObject;
import org.etk.component.database.DBObjectMapper;
import org.etk.component.database.annotation.Table;
import org.etk.component.database.annotation.TableField;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Calendar;
import java.util.HashMap;
/**
* Created by The eXo Platform SAS Author : Tuan Nguyen
* tuan.nguyen@exoplatform.com Mar 16, 2007
*/
@Table(name = "MockTable", field = {
@TableField(name = "name", type = "string", length = 500, unique = true, nullable = false),
@TableField(name = "status", type = "int", defaultValue = "0"), @TableField(name = "start", type = "date"),
@TableField(name = "pass", type = "boolean", defaultValue = "false")})
public class Mock extends DBObject
{
private String name;
private int status;
private Calendar start = Calendar.getInstance();
private boolean pass = false;
public Mock()
{
}
public Mock(String name, int status)
{
this.name = name;
this.status = status;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public boolean isPass()
{
return pass;
}
public void setPass(boolean pass)
{
this.pass = pass;
}
public Calendar getStart()
{
return start;
}
public void setStart(Calendar start)
{
this.start = start;
}
public int getStatus()
{
return status;
}
public void setStatus(int status)
{
this.status = status;
}
static public class MockMapper implements DBObjectMapper<Mock>
{
public String[][] toParameters(Mock bean) throws Exception
{
java.sql.Date date = new java.sql.Date(bean.getStart().getTimeInMillis());
return new String[][]{{"id", String.valueOf(bean.getDBObjectId())}, {"name", bean.getName()},
{"status", String.valueOf(bean.getStatus())}, {"start", date.toString()},
{"pass", String.valueOf(bean.isPass())}};
}
public void mapResultSet(ResultSet res, Mock bean) throws Exception
{
bean.setName(res.getString("name"));
bean.setPass(res.getBoolean("pass"));
Calendar calendar = Calendar.getInstance();
res.getDate("start", calendar);
bean.setStart(calendar);
bean.setStatus(res.getInt("status"));
}
public void mapUpdate(Mock bean, PreparedStatement statement) throws Exception
{
statement.setString(1, bean.getName());
statement.setInt(2, bean.getStatus());
statement.setDate(3, new java.sql.Date(bean.getStart().getTimeInMillis()));
statement.setBoolean(4, bean.isPass());
}
}
/**
* Query( name = "GetUserByUserName" oracle =
* "select * from user where username= N'?' and fname = $fname" +
* ".............................................................." +
* ".............................................................." ,
* standard="......................................................." , )
*/
public void getUserByName(String s)
{
HashMap<String, String> values = new HashMap<String, String>();
values.put("username", s);
values.put("fname", s);
// Object[] params = {
// {"username", "value"},
// {"username", "value"},
// {"username", "value"}
// }
// String query = createQuery("GetUserByUserName", params) ;
}
}