/* * $Id: DerbySchemaAdapter.java,v 1.2 2006/05/26 16:51:49 thomas Exp $ * Created on 12.4.2005 in project com.idega.core * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.util.dbschema; import com.idega.data.EntityAttribute; /** * <p> * This class is for supporting the Apache Derby database in idegaWeb. * </p> * Last modified: $Date: 2006/05/26 16:51:49 $ by $Author: thomas $ * * @author <a href="mailto:tryggvil@idega.com">tryggvil</a> * @version $Revision: 1.2 $ */ public class DerbySchemaAdapter extends SQLSchemaAdapter { /** * */ public DerbySchemaAdapter() { super(); // TODO Auto-generated constructor stub } /* (non-Javadoc) * @see com.idega.data.DatastoreInterface#getSQLType(java.lang.String, int) */ public String getSQLType(String javaClassName, int maxlength) { if (javaClassName.equals("java.lang.Integer")) { return "INTEGER"; } if (javaClassName.equals("java.lang.String")) { if (maxlength == EntityAttribute.UNLIMITED_LENGTH) { return "CLOB"; } if (maxlength < 0) { return "VARCHAR(255)"; } if (maxlength <= 32000) { return "VARCHAR(" + maxlength + ")"; } return "CLOB"; } if (javaClassName.equals("java.lang.Boolean")) { return "CHAR(1)"; } if (javaClassName.equals("java.lang.Float")) { return "FLOAT"; } if (javaClassName.equals("java.lang.Double")) { return "DOUBLE"; } if (javaClassName.equals("java.sql.Timestamp")) { return "TIMESTAMP"; } if (javaClassName.equals("java.sql.Date") || javaClassName.equals("java.util.Date")) { return "DATE"; } if (javaClassName.equals("java.sql.Blob")) { return "BLOB"; } if (javaClassName.equals("java.sql.Time")) { return "TIME"; } if (javaClassName.equals("com.idega.util.Gender")) { return "VARCHAR(1)"; } if (javaClassName.equals("com.idega.data.BlobWrapper")) { return "BLOB"; } return ""; } /* (non-Javadoc) * @see com.idega.data.DatastoreInterface#createTrigger(com.idega.data.GenericEntity) */ public void createTrigger(Schema entity) throws Exception { // TODO Auto-generated method stub } /** * @return boolean */ protected boolean updateNumberGeneratedValueAfterInsert() { return true; } public String getIDColumnType(Schema entity) { //if (entity.getIfAutoIncrement()) { // return "INTEGER GENERATED BY DEFAULT AS IDENTITY"; //} else { return "INTEGER"; //} } }