Re: Upcast problems w/SQLServerMergerFactory and AutoAdapter

From: Tore Halset (halse..vv.ntnu.no)
Date: Thu Sep 25 2008 - 16:56:38 EDT

  • Next message: Chris Murphy: "Re: Insert at a particular position in the detail list"

    Thanks. I removed the cast.

      - Tore.

    On Sep 25, 2008, at 19:00, Scott Anderson wrote:

    > That method is defined in the DbAdapter interface; you don't need to
    > cast it. See MySQLMergerFactory (post CAY-1108 patch) for an example.
    >
    > -----Original Message-----
    > From: oyvindharbo..mail.com [mailto:oyvindharboe@gmail.com] On
    > Behalf Of Øyvind Harboe
    > Sent: Thursday, September 25, 2008 3:55 AM
    > To: cayenne-use..ncubator.apache.org
    > Subject: Upcast problems w/SQLServerMergerFactory and AutoAdapter
    >
    > 1. I'm getting the exception below in my code:
    >
    > org.apache.cayenne.dba.sqlserver.SQLServerMergerFactory
    > $4.createSql(SQLServerMergerFactory.java:108)
    >
    > 2. This happens when I execute the code below:
    >
    > t.createSql(mergerContext.getAdapter());
    >
    > 3. If #2 is legal, then I don't understand how an upcast to DbAdapter
    > to SQLServerAdapter
    > can work for AutoAdapter
    >
    >
    > ..verride
    > public MergerToken createSetNotNullToDb(DbEntity entity, final
    > DbAttribute column) {
    >
    > return new SetNotNullToDb(entity, column) {
    >
    > ..verride
    > public List<String> createSql(DbAdapter adapter) {
    > StringBuffer sqlBuffer = new StringBuffer();
    >
    >
    > sqlBuffer.append("ALTER TABLE ");
    > sqlBuffer.append(getEntity().getFullyQualifiedName());
    > sqlBuffer.append(" ALTER COLUMN ");
    >
    > SQLServerAdapter sqladapter = (SQLServerAdapter)
    > adapter;
    > sqladapter.createTableAppendColumn(sqlBuffer, column);
    >
    > return Collections.singletonList(sqlBuffer.toString());
    > }
    >
    > };
    > }
    >
    > --
    > Øyvind Harboe
    > http://www.zylin.com/zy1000.html
    > ARM7 ARM9 XScale Cortex
    > JTAG debugger and flash programmer
    >



    This archive was generated by hypermail 2.0.0 : Thu Sep 25 2008 - 16:57:26 EDT