ooc-checkins Mailing List for Optimizing Oberon-2 Compiler
Brought to you by:
mva
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(69) |
Nov
(38) |
Dec
(240) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(151) |
Feb
(110) |
Mar
(39) |
Apr
(105) |
May
(319) |
Jun
(211) |
Jul
(363) |
Aug
(131) |
Sep
(65) |
Oct
(117) |
Nov
(279) |
Dec
(543) |
2003 |
Jan
(75) |
Feb
(161) |
Mar
(42) |
Apr
(274) |
May
(391) |
Jun
(143) |
Jul
(147) |
Aug
(92) |
Sep
(50) |
Oct
(81) |
Nov
(17) |
Dec
(80) |
2004 |
Jan
(108) |
Feb
(64) |
Mar
(119) |
Apr
(24) |
May
(28) |
Jun
(126) |
Jul
(72) |
Aug
(9) |
Sep
(12) |
Oct
(27) |
Nov
(121) |
Dec
(83) |
2005 |
Jan
(19) |
Feb
(14) |
Mar
(8) |
Apr
|
May
(9) |
Jun
(14) |
Jul
(11) |
Aug
(14) |
Sep
(4) |
Oct
(21) |
Nov
(5) |
Dec
(11) |
2006 |
Jan
(6) |
Feb
|
Mar
(2) |
Apr
|
May
(2) |
Jun
(9) |
Jul
(2) |
Aug
(17) |
Sep
(3) |
Oct
(8) |
Nov
(7) |
Dec
(12) |
2007 |
Jan
(13) |
Feb
(5) |
Mar
(6) |
Apr
(2) |
May
(3) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
(6) |
Jul
(2) |
Aug
(5) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2009 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michael v. A. <mv...@us...> - 2009-01-06 15:10:39
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17944/src/PObj Modified Files: CodeGen.Mod Log Message: get "make test" working again Index: CodeGen.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGen.Mod,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- CodeGen.Mod 30 Jul 2008 10:53:40 -0000 1.69 +++ CodeGen.Mod 6 Jan 2009 15:10:35 -0000 1.70 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:CodeGen; (* Oberon-2 code generator. - Copyright (C) 2004-2007 Michael van Acken + Copyright (C) 2004-2007, 2009 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -987,6 +987,8 @@ sb.AppendBool(f.null); sb.Append(", "); sb.AppendBool(f.unique); + sb.Append(", "); + sb.AppendBool(f.encrypt); sb.Append(", '"); sb.Append(f.label); sb.Append("', '"); |
From: Michael v. A. <mv...@us...> - 2009-01-06 15:10:39
|
Update of /cvsroot/ooc/libpobj/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17944/src Modified Files: InvestmentDemo.Mod Log Message: get "make test" working again Index: InvestmentDemo.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/InvestmentDemo.Mod,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- InvestmentDemo.Mod 15 Jan 2007 20:03:21 -0000 1.23 +++ InvestmentDemo.Mod 6 Jan 2009 15:10:35 -0000 1.24 @@ -456,11 +456,11 @@ t := NEW(PObjMD.Int32, "pe.base.pobjects.Id"); id := NEW(PObjMD.IdField, 'id', 'id', t, NEW(PObjMD.Sequence, 'Seq_Currency')); NEW(f, 2); - t := NEW(PObjMD.String, NIL, 3, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[0] := NEW(PObjMD.Field, 'shortName', 'short_name', t, FALSE, TRUE, 'ISO Code', 'ISO'); + t := NEW(PObjMD.String, NIL, 3, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[0] := NEW(PObjMD.Field, 'shortName', 'short_name', t, FALSE, TRUE, FALSE, 'ISO Code', 'ISO'); currencyShortName := f[0](PObjMD.Field); - t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[1] := NEW(PObjMD.Field, 'longName', 'long_name', t, FALSE, TRUE, 'Name', 'Name'); + t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[1] := NEW(PObjMD.Field, 'longName', 'long_name', t, FALSE, TRUE, FALSE, 'Name', 'Name'); currencyLongName := f[1](PObjMD.Field); NEW(c, 2); NEW(fl, 1); @@ -482,11 +482,11 @@ t := NEW(PObjMD.Int32, "pe.base.pobjects.Id"); id := NEW(PObjMD.IdField, 'id', 'id', t, NEW(PObjMD.Sequence, 'Seq_Stock_Exchange')); NEW(f, 2); - t := NEW(PObjMD.String, NIL, 6, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[0] := NEW(PObjMD.Field, 'shortName', 'short_name', t, FALSE, TRUE, 'ID', 'ID'); + t := NEW(PObjMD.String, NIL, 6, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[0] := NEW(PObjMD.Field, 'shortName', 'short_name', t, FALSE, TRUE, FALSE, 'ID', 'ID'); stockExchangeShortName := f[0](PObjMD.Field); - t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[1] := NEW(PObjMD.Field, 'longName', 'long_name', t, FALSE, TRUE, 'Name', 'Name'); + t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[1] := NEW(PObjMD.Field, 'longName', 'long_name', t, FALSE, TRUE, FALSE, 'Name', 'Name'); stockExchangeLongName := f[1](PObjMD.Field); NEW(c, 2); NEW(fl, 1); @@ -508,11 +508,11 @@ t := NEW(PObjMD.Int32, "pe.base.pobjects.Id"); id := NEW(PObjMD.IdField, 'id', 'id', t, NEW(PObjMD.Sequence, 'Seq_Stock')); NEW(f, 2); - t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[0] := NEW(PObjMD.Field, 'name', 'name', t, FALSE, TRUE, 'Name', 'Name'); + t := NEW(PObjMD.String, NIL, 128, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[0] := NEW(PObjMD.Field, 'name', 'name', t, FALSE, TRUE, FALSE, 'Name', 'Name'); stockName := f[0](PObjMD.Field); - t := NEW(PObjMD.String, NIL, 6, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[1] := NEW(PObjMD.Field, 'wkn', 'wkn', t, FALSE, TRUE, 'Wertpapierkennummer', 'WKN'); + t := NEW(PObjMD.String, NIL, 6, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[1] := NEW(PObjMD.Field, 'wkn', 'wkn', t, FALSE, TRUE, FALSE, 'Wertpapierkennummer', 'WKN'); stockWkn := f[1](PObjMD.Field); NEW(c, 2); NEW(fl, 1); @@ -534,32 +534,32 @@ t := NEW(PObjMD.Int32, "pe.base.pobjects.Id"); id := NEW(PObjMD.IdField, 'id', 'id', t, NEW(PObjMD.Sequence, 'Seq_Transaction')); NEW(f, 9); - t := NEW(PObjMD.String, NIL, 8, FALSE, PObjMD.restrictToAnything, NIL, 0); - f[0] := NEW(PObjMD.Field, 'transactionDate', 'transaction_date', t, FALSE, FALSE, 'Transaction Date', 'Date'); + t := NEW(PObjMD.String, NIL, 8, FALSE, PObjMD.restrictToAnything, NIL, 0, NIL); + f[0] := NEW(PObjMD.Field, 'transactionDate', 'transaction_date', t, FALSE, FALSE, FALSE, 'Transaction Date', 'Date'); transactionTransactionDate := f[0](PObjMD.Field); t := NEW(PObjMD.RefType, NIL, NIL, 'StockExchange', NIL, PObjMD.onDeleteRestrict, PObjMD.onUpdateRestrict, PObjMD.roleNone); - f[1] := NEW(PObjMD.Field, 'exchange', 'exchange', t, FALSE, FALSE, 'Exchange', 'Exch.'); + f[1] := NEW(PObjMD.Field, 'exchange', 'exchange', t, FALSE, FALSE, FALSE, 'Exchange', 'Exch.'); transactionExchange := f[1](PObjMD.Field); t := NEW(PObjMD.RefType, NIL, NIL, 'Stock', NIL, PObjMD.onDeleteRestrict, PObjMD.onUpdateRestrict, PObjMD.roleNone); - f[2] := NEW(PObjMD.Field, 'stock', 'stock', t, FALSE, FALSE, 'Stock', 'Stock'); + f[2] := NEW(PObjMD.Field, 'stock', 'stock', t, FALSE, FALSE, FALSE, 'Stock', 'Stock'); transactionStock := f[2](PObjMD.Field); t := NEW(PObjMD.RefType, NIL, NIL, 'Currency', NIL, PObjMD.onDeleteRestrict, PObjMD.onUpdateRestrict, PObjMD.roleNone); - f[3] := NEW(PObjMD.Field, 'currency', 'currency', t, FALSE, FALSE, 'Currency', 'Curr.'); + f[3] := NEW(PObjMD.Field, 'currency', 'currency', t, FALSE, FALSE, FALSE, 'Currency', 'Curr.'); transactionCurrency := f[3](PObjMD.Field); t := NEW(PObjMD.Numeric, NIL, 9, 2, NIL, NIL); - f[4] := NEW(PObjMD.Field, 'price', 'price', t, FALSE, FALSE, 'Price', 'Price'); + f[4] := NEW(PObjMD.Field, 'price', 'price', t, FALSE, FALSE, FALSE, 'Price', 'Price'); transactionPrice := f[4](PObjMD.Field); t := NEW(PObjMD.Int32, NIL); - f[5] := NEW(PObjMD.Field, 'shares', 'shares', t, FALSE, FALSE, 'Shares', '#'); + f[5] := NEW(PObjMD.Field, 'shares', 'shares', t, FALSE, FALSE, FALSE, 'Shares', '#'); transactionShares := f[5](PObjMD.Field); t := NEW(PObjMD.Numeric, NIL, 9, 2, NIL, NIL); - f[6] := NEW(PObjMD.Field, 'commission', 'commission', t, FALSE, FALSE, 'Commission', 'C'); + f[6] := NEW(PObjMD.Field, 'commission', 'commission', t, FALSE, FALSE, FALSE, 'Commission', 'C'); transactionCommission := f[6](PObjMD.Field); t := NEW(PObjMD.Numeric, NIL, 9, 2, NIL, NIL); - f[7] := NEW(PObjMD.Field, 'brokerCommission', 'broker_commission', t, FALSE, FALSE, 'Broker Commission', 'BC'); + f[7] := NEW(PObjMD.Field, 'brokerCommission', 'broker_commission', t, FALSE, FALSE, FALSE, 'Broker Commission', 'BC'); transactionBrokerCommission := f[7](PObjMD.Field); t := NEW(PObjMD.Numeric, NIL, 9, 2, NIL, NIL); - f[8] := NEW(PObjMD.Field, 'otherExpenses', 'other_expenses', t, FALSE, FALSE, 'Other Expenses', 'OE'); + f[8] := NEW(PObjMD.Field, 'otherExpenses', 'other_expenses', t, FALSE, FALSE, FALSE, 'Other Expenses', 'OE'); transactionOtherExpenses := f[8](PObjMD.Field); NEW(c, 3); NEW(fl, 1); |
From: Michael v. A. <mv...@us...> - 2009-01-06 15:10:39
|
Update of /cvsroot/ooc/libpobj/tests/dict-err In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17944/tests/dict-err Modified Files: joinStack2.xml.err joinStack1.xml.err joinSet8.xml.err joinSet7.xml.err joinSet6.xml.err joinSet5.xml.err joinSet4.xml.err joinDictionary2.xml.err joinDictionary1.xml.err joinDetail5.xml.err joinDetail4.xml.err joinDetail3.xml.err joinDetail2.xml.err Log Message: get "make test" working again Index: joinStack1.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinStack1.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinStack1.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinStack1.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +286: The referenced class `MyClass' is not materialized as a table 591: Class `MyStack' must have two columns in its primary key Index: joinDetail5.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDetail5.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDetail5.xml.err 14 Jan 2007 20:15:55 -0000 1.1 +++ joinDetail5.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: -406: Class `OrderDetail' has no field `no_such_field´ +206: The referenced class `Order' is not materialized as a table +406: Class `OrderDetail' has no field `no_such_field' Index: joinSet4.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinSet4.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinSet4.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinSet4.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +309: The referenced class `MyOtherClass' is not materialized as a table 615: In class `MySet', the first primary key column does not refer to the parent class `MyClass' Index: joinStack2.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinStack2.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinStack2.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinStack2.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +288: The referenced class `MyClass' is not materialized as a table 593: In class `MyStack', the second primary key column is not an integer Index: joinSet6.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinSet6.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinSet6.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinSet6.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +310: The referenced class `MyClass' is not materialized as a table 592: In class `MySet', the first primary key column is not an `on delete cascade' reference Index: joinSet7.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinSet7.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinSet7.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinSet7.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +274: The referenced class `MyClass' is not materialized as a table 509: Class `MySet' has no field besides the parent reference Index: joinDetail2.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDetail2.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDetail2.xml.err 14 Jan 2007 20:15:55 -0000 1.1 +++ joinDetail2.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,2 @@ In file -: -403: Class `OrderDetail' has no field `no_such_field´ +403: Class `OrderDetail' has no field `no_such_field' Index: joinDictionary2.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDictionary2.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDictionary2.xml.err 28 Dec 2006 09:34:37 -0000 1.1 +++ joinDictionary2.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +278: The referenced class `MyClass' is not materialized as a table 581: Class `MyDict' must have fields beyond the primary key Index: joinDictionary1.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDictionary1.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDictionary1.xml.err 28 Dec 2006 09:34:37 -0000 1.1 +++ joinDictionary1.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +276: The referenced class `MyClass' is not materialized as a table 579: Class `MyDict' must have at least two columns in its primary key Index: joinSet8.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinSet8.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinSet8.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinSet8.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,3 +1,4 @@ In file -: 248: Class `MySet' has no idField declaration +556: The referenced class `MyClass' is not materialized as a table 748: In class `MySet2', the first primary key column does not refer to the parent class `MySet' Index: joinDetail4.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDetail4.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDetail4.xml.err 14 Jan 2007 20:15:55 -0000 1.1 +++ joinDetail4.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,2 @@ In file -: -417: Field `master' is not a reference to the master class `Order´ +417: Field `master' is not a reference to the master class `Order' Index: joinSet5.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinSet5.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinSet5.xml.err 27 Jun 2006 08:34:33 -0000 1.1 +++ joinSet5.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,3 @@ In file -: +271: The referenced class `MyClass' is not materialized as a table 572: In class `MySet', the primary key column does not cover all fields Index: joinDetail3.xml.err =================================================================== RCS file: /cvsroot/ooc/libpobj/tests/dict-err/joinDetail3.xml.err,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- joinDetail3.xml.err 14 Jan 2007 20:15:55 -0000 1.1 +++ joinDetail3.xml.err 6 Jan 2009 15:10:35 -0000 1.2 @@ -1,2 +1,2 @@ In file -: -403: Field `master' is not a reference to the master class `Order´ +403: Field `master' is not a reference to the master class `Order' |
From: Michael v. A. <mv...@us...> - 2008-10-06 12:56:38
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv21262/src/PObj Modified Files: CodeGenJava.Mod Log Message: remove code for CheckConstraints() Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.119 retrieving revision 1.120 diff -u -d -r1.119 -r1.120 --- CodeGenJava.Mod 2 Oct 2008 13:16:59 -0000 1.119 +++ CodeGenJava.Mod 6 Oct 2008 12:52:11 -0000 1.120 @@ -770,73 +770,6 @@ sb.Append("}"); END GetAttr; - PROCEDURE CheckConstraints(localFields: MetaData.FieldList); - VAR - i: LONGINT; - f: MetaData.Field; - BEGIN - Ln; - sb.Append("public void checkConstraints()"); - INC(indent); - Ln; - sb.Append("throws PObjReadError, PObjConstraintException"); - DEC(indent); - Ln; - sb.Append("{"); - INC(indent); - - Ln; - sb.Append("PObjConstraintException constr;"); - Ln; - sb.Append("try {"); - INC(indent); - Ln; - sb.Append("super.checkConstraints();"); - Ln; - sb.Append("constr = new PObjConstraintException(this);"); - DEC(indent); - Ln; - sb.Append("} catch (PObjConstraintException e) {"); - INC(indent); - Ln; - sb.Append("constr = e;"); - DEC(indent); - Ln; - sb.Append("}"); - Ln; - sb.Append("if (isReference()) { load(); }"); - - IF (LEN(localFields^) # 0) THEN - FOR i := 0 TO LEN(localFields^)-1 DO - f := localFields[i]; - - Ln; - sb.Append("try {"); - INC(indent); - Ln; - sb.Append(f.Name(MetaData.columnJavaMemberAttr)); - sb.Append(".checkConstraints(this, "); - sb.Append(f.Name(MetaData.columnJavaMember)); - sb.Append(");"); - DEC(indent); - Ln; - sb.Append("} catch (PObjConstraintException e) {"); - INC(indent); - Ln; - sb.Append("constr.add(e);"); - DEC(indent); - Ln; - sb.Append("}"); - END; - END; - Ln; - sb.Append("if (constr.size() != 0) { throw constr; }"); - DEC(indent); - Ln; - - sb.Append("}"); - END CheckConstraints; - PROCEDURE ObjectIdForVisual(); PROCEDURE NoInheritedVisual(class: MetaData.Class): BOOLEAN; BEGIN @@ -1103,9 +1036,6 @@ SetAttr(localFieldsUnsorted); GetAttr(localFieldsUnsorted); - Ln; - CheckConstraints(fields); - IF (class.baseClass = NIL) THEN Ln; Ln; |
From: Michael v. A. <mv...@us...> - 2008-10-02 13:21:28
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv1894/src/PObj Modified Files: CodeGenJava.Mod Log Message: Set Java name after creating attribute object. Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.118 retrieving revision 1.119 diff -u -d -r1.118 -r1.119 --- CodeGenJava.Mod 28 Aug 2008 11:06:21 -0000 1.118 +++ CodeGenJava.Mod 2 Oct 2008 13:16:59 -0000 1.119 @@ -2646,6 +2646,8 @@ sb.Append('Attribute.NOT_NULL'); END; sb.Append(');'); + Ln; + sb.Append("a.setJavaName("+QuotedString(f.name)+");"); IF (f.shortLabel # NIL) & ~f.shortLabel.Equals(f.label) THEN Ln; sb.Append("a.setShortLabel("+QuotedString(f.shortLabel)+");"); |
From: Michael v. A. <mv...@us...> - 2008-08-28 11:06:27
|
Update of /cvsroot/ooc/libpobj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22040 Modified Files: dictionary.dtd Log Message: add "encrypt" flag to fields Index: dictionary.dtd =================================================================== RCS file: /cvsroot/ooc/libpobj/dictionary.dtd,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- dictionary.dtd 30 Jul 2008 10:53:40 -0000 1.90 +++ dictionary.dtd 28 Aug 2008 11:06:21 -0000 1.91 @@ -420,6 +420,16 @@ Abbreviated version of `label'. Typically used as header in the table view of a list of objects, where the table head is a list of `shortLabel' names. Defaults to `label'. + + `tooltip' + + Associates a tooltip string with this field. + + `encrypt' + + If "yes", then the "CREATE TABLE" contains code that marks + this field for transparent encryption. The default is "no". + --> <!ELEMENT field (description?, (%type;))> <!ATTLIST field name CDATA #REQUIRED @@ -428,7 +438,8 @@ unique (yes|no) "no" label CDATA #IMPLIED shortLabel CDATA #IMPLIED - tooltip CDATA #IMPLIED> + tooltip CDATA #IMPLIED + encrypt (yes|no) "no"> <!-- Creates an association between two tables that makes the data of the child class accessible as non-scalar members of the parent |
From: Michael v. A. <mv...@us...> - 2008-08-28 11:06:27
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22040/src/PObj Modified Files: Sql.Mod ParseClassDef.Mod MetaData.Mod CodeGenJava.Mod Log Message: add "encrypt" flag to fields Index: MetaData.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/MetaData.Mod,v retrieving revision 1.137 retrieving revision 1.138 diff -u -d -r1.137 -r1.138 --- MetaData.Mod 30 Jul 2008 10:53:39 -0000 1.137 +++ MetaData.Mod 28 Aug 2008 11:06:21 -0000 1.138 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:MetaData; (* Internal representation of data from a dictionary definition. - Copyright (C) 2004-2007 Michael van Acken + Copyright (C) 2004-2008 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -292,7 +292,10 @@ (**If @code{TRUE}, then a unique constraint in placed on the database column associated with this field. @emph{Note}: This flag does not cover constraints on @var{n}-tuples with @samp{@var{n} > 1}. *) - + encrypt-: BOOLEAN; + (**If @code{TRUE}, then this field is marked for transparent encryption, + where available. *) + label-: STRING; shortLabel-: STRING; END; @@ -2226,12 +2229,13 @@ PROCEDURE (f: Field) INIT*(name, schemaName: STRING; type: Type; - null, unique: BOOLEAN; + null, unique, encrypt: BOOLEAN; label, shortLabel: STRING); BEGIN f.INIT^(name, schemaName, NIL, type); f.null := null; f.unique := unique; + f.encrypt := encrypt; f.label := label; f.shortLabel := shortLabel; END INIT; @@ -2253,7 +2257,7 @@ foreignKeyName, targetTable, targetAttribute, valueAttribute: STRING); BEGIN - f.INIT^(name, schemaName, type, TRUE, FALSE, label, label); + f.INIT^(name, schemaName, type, TRUE, FALSE, FALSE, label, label); f.foreignKeyName := foreignKeyName; f.targetTable := targetTable; f.targetAttribute := targetAttribute; @@ -2409,7 +2413,7 @@ PROCEDURE (f: IdField) INIT*(name, schemaName: STRING; type: Type; sequence: Sequence); BEGIN - f.INIT^(name, schemaName, type, FALSE, TRUE, "Object ID", "OID"); + f.INIT^(name, schemaName, type, FALSE, TRUE, FALSE, "Object ID", "OID"); f.index := pobjectId; f.sequence := sequence; END INIT; @@ -2965,7 +2969,7 @@ refType := NEW(RefType, NIL, NIL, class.name, class, onDeleteCascade, onUpdateRestrict, roleMaster); columns[0] := NEW(Field, class.idField.name, class.idField.schemaName, - refType, FALSE, FALSE, "Parent", "Parent"); + refType, FALSE, FALSE, FALSE, "Parent", "Parent"); columns[1] := t.key; columns[2] := t.value; @@ -3014,7 +3018,7 @@ refType := NEW(RefType, NIL, NIL, class.name, class, onDeleteCascade, onUpdateRestrict, roleMaster); columns[0] := NEW(Field, class.idField.name, class.idField.schemaName, - refType, FALSE, FALSE, "Parent", "Parent"); + refType, FALSE, FALSE, FALSE, "Parent", "Parent"); columns[1] := t.element; NEW(constraints, 1); @@ -3063,10 +3067,10 @@ refType := NEW(RefType, NIL, NIL, class.name, class, onDeleteCascade, onUpdateRestrict, roleMaster); columns[0] := NEW(Field, class.idField.name, class.idField.schemaName, - refType, FALSE, FALSE, "Parent", "Parent"); + refType, FALSE, FALSE, FALSE, "Parent", "Parent"); posType := NEW(Int32, NIL); columns[1] := NEW(Field, "position", "position_", - posType, FALSE, FALSE, "Position", "Position");; + posType, FALSE, FALSE, FALSE, "Position", "Position");; columns[2] := t.element; NEW(constraints, 1); Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- CodeGenJava.Mod 18 Aug 2008 09:30:45 -0000 1.117 +++ CodeGenJava.Mod 28 Aug 2008 11:06:21 -0000 1.118 @@ -2654,6 +2654,10 @@ Ln; sb.Append("a.setTooltip("+QuotedString(f.tooltip)+");"); END; + IF f.encrypt THEN + Ln; + sb.Append("a.setEncrypt(true);"); + END; END AddAttribute; PROCEDURE GlobalsStart(baseClass, packageName: STRING; Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.150 retrieving revision 1.151 diff -u -d -r1.150 -r1.151 --- ParseClassDef.Mod 18 Aug 2008 09:21:42 -0000 1.150 +++ ParseClassDef.Mod 28 Aug 2008 11:06:21 -0000 1.151 @@ -1253,7 +1253,7 @@ VAR type: MetaData.Type; name, schemaName, label, shortLabel, tooltip: STRING; - null, unique: BOOLEAN; + null, unique, encrypt: BOOLEAN; descr: MetaData.Description; field: MetaData.Field; BEGIN @@ -1267,6 +1267,7 @@ END; null := GetYesNo(start, "null", "no"); unique := GetYesNo(start, "unique", "no"); + encrypt := GetYesNo(start, "encrypt", "no"); label := start.GetAttValue("label", name); shortLabel := start.GetAttValue("shortLabel", label); tooltip := start.GetAttValue("tooltip", NIL); @@ -1276,7 +1277,7 @@ CheckEndData(start); field := NEW(MetaData.Field, name, schemaName, type, null, - unique, label, shortLabel); + unique, encrypt, label, shortLabel); field.SetDescription(descr); field.SetTooltip(tooltip); RETURN field; @@ -1300,7 +1301,7 @@ IF (name = NIL) THEN name := "unknown"; END; - RETURN NEW(MetaData.Field, name, "", NIL, FALSE, FALSE, "", ""); + RETURN NEW(MetaData.Field, name, "", NIL, FALSE, FALSE, FALSE, "", ""); END GetField; PROCEDURE GetFieldList(attName: STRING; @@ -1328,7 +1329,7 @@ END; name := fields.Substring(s, i); - field := NEW(MetaData.Field, name, "", NIL, FALSE, FALSE, "", ""); + field := NEW(MetaData.Field, name, "", NIL, FALSE, FALSE, FALSE, "", ""); attrList.Append(field); END; END; Index: Sql.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/Sql.Mod,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- Sql.Mod 30 Jul 2008 10:53:39 -0000 1.52 +++ Sql.Mod 28 Aug 2008 11:06:21 -0000 1.53 @@ -291,6 +291,9 @@ sb.Append(f.schemaName); sb.Append(" "); sb.Append(sqlType); + IF f.encrypt THEN + sb.Append(" ENCRYPT"); + END; IF cl.fields[i].null THEN sb.Append(" NULL"); ELSE |
From: Michael v. A. <mv...@us...> - 2008-08-18 09:30:37
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14916 Modified Files: CodeGenJava.Mod Log Message: yet another patch from mgu Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.116 retrieving revision 1.117 diff -u -d -r1.116 -r1.117 --- CodeGenJava.Mod 30 Jul 2008 10:53:40 -0000 1.116 +++ CodeGenJava.Mod 18 Aug 2008 09:30:45 -0000 1.117 @@ -2545,7 +2545,7 @@ IF (t.errorMsgKey # NIL) THEN Ln; sb.Append("(("+typeName+")"+name+").setErrorMsgKey("); - sb.Append(t.errorMsgKey+");"); + sb.Append(QuotedString(t.errorMsgKey)+");"); END; | t: MetaData.Numeric DO IF (t.lowerLimit # NIL) THEN |
From: Michael v. A. <mv...@us...> - 2008-08-18 09:21:33
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11196 Modified Files: ParseClassDef.Mod Log Message: another patch from mgu Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.149 retrieving revision 1.150 diff -u -d -r1.149 -r1.150 --- ParseClassDef.Mod 18 Aug 2008 08:07:29 -0000 1.149 +++ ParseClassDef.Mod 18 Aug 2008 09:21:42 -0000 1.150 @@ -114,6 +114,7 @@ fieldNotBackRef = 2071; multipleMasterReferences = 2072; referencedClassWithoutTable = 2073; + notMessageKey = 2074; cannotExpandRelativeFileName = 2100; ioError = 2101; @@ -265,6 +266,19 @@ RETURN name; END GetOberonModule; +PROCEDURE GetMessageKey(tag: Parser.Token; + attName, default: STRING): STRING; + VAR + name: STRING; + BEGIN + name := tag.GetAttValue(attName, default); + IF (name # NIL) & ~ValidIdent(name, FALSE, TRUE) THEN + tag.Err2(notMessageKey, name, attName); + END; + RETURN name; + END GetMessageKey; + + PROCEDURE GetIdentifier(tag: Parser.Token; attName, default: STRING): STRING; VAR @@ -934,7 +948,7 @@ BEGIN token := p.NextData(); name := GetIdentifier(start, "name", Parser.required); - errorMsgKey := GetIdentifier(start, "errorMsgKey", NIL); + errorMsgKey := GetMessageKey(start, "errorMsgKey", NIL); GetRestrictTo(start, restrictTo, value); descr := ParseDescription(token); @@ -1107,7 +1121,7 @@ IF (patternName = NIL) THEN GetRestrictTo(start, restrictTo, pattern); pattern := start.GetAttValue("pattern", pattern); - errorMsgKey := NIL; + errorMsgKey := GetMessageKey(start, "errorMsgKey", NIL); ELSE stringPattern := GetStringPattern(patternName); restrictTo := stringPattern.restrictTo; @@ -3103,6 +3117,7 @@ reg.SetError(notOberonModuleName, "`$1' is not a valid Oberon module name in attribute `$2'"); reg.SetError(notIdentifier, "`$1' is not a valid identifier in attribute `$2'"); reg.SetError(notIdentifierSQL, "`$1' is not a valid SQL identifier in attribute `$2'"); + reg.SetError(notMessageKey, "`$1' is not a valid message key in attribute `$2'"); reg.SetError(notYesNo, "Attribute `$1' must be 'yes' or 'no'"); reg.SetError(noSuchWaitstate, "Transition refers to unknown wait-state `$1'"); |
From: Michael v. A. <mv...@us...> - 2008-08-18 08:07:24
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv13991 Modified Files: ParseClassDef.Mod Log Message: add some missing guards against NIL Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.148 retrieving revision 1.149 diff -u -d -r1.148 -r1.149 --- ParseClassDef.Mod 30 Jul 2008 10:53:39 -0000 1.148 +++ ParseClassDef.Mod 18 Aug 2008 08:07:29 -0000 1.149 @@ -271,7 +271,7 @@ name: STRING; BEGIN name := tag.GetAttValue(attName, default); - IF ~ValidIdent(name, FALSE, FALSE) THEN + IF (name # NIL) & ~ValidIdent(name, FALSE, FALSE) THEN tag.Err2(notIdentifier, name, attName); END; RETURN name; @@ -283,7 +283,7 @@ name: STRING; BEGIN name := tag.GetAttValue(attName, default); - IF ~ValidIdent(name, FALSE, FALSE) THEN + IF (name # NIL) & ~ValidIdent(name, FALSE, FALSE) THEN tag.Err2(notIdentifierSQL, name, attName); END; RETURN name; @@ -295,10 +295,10 @@ x: STRING; BEGIN x := tag.GetAttValue(attName, default); - IF ~(x.Equals("yes") OR x.Equals("no")) THEN + IF (x # NIL) & ~(x.Equals("yes") OR x.Equals("no")) THEN tag.Err1(notYesNo, attName); END; - RETURN x.Equals("yes"); + RETURN (x # NIL) & x.Equals("yes"); END GetYesNo; PROCEDURE ParseDictionary*(dd: Sql.DataDefinition; |
From: Michael v. A. <mv...@us...> - 2008-07-30 11:07:21
|
Update of /cvsroot/ooc/libpobj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7396 Modified Files: dictionary.dtd Log Message: add support for errorMsgKey Index: dictionary.dtd =================================================================== RCS file: /cvsroot/ooc/libpobj/dictionary.dtd,v retrieving revision 1.89 retrieving revision 1.90 diff -u -d -r1.89 -r1.90 --- dictionary.dtd 2 Jun 2008 11:55:38 -0000 1.89 +++ dictionary.dtd 30 Jul 2008 10:53:40 -0000 1.90 @@ -192,9 +192,14 @@ `restrictTo=regexp' - The whole string must match the regular expression in + The whole string must match the regular expression in pattern. + `errorMsgKey' + + An optional error message resource key that should be used if the + restriction does not match. + The `pattern' child element is required, although its content is ignored for `anything', `alphanum', and `numeric'. --> @@ -202,7 +207,8 @@ <!ELEMENT pattern (#PCDATA)> <!ELEMENT stringPattern (description?, pattern)> <!ATTLIST stringPattern name CDATA #REQUIRED - restrictTo %restrictVariants; "anything"> + restrictTo %restrictVariants; "anything" + errorMsgKey NMTOKEN #IMPLIED> <!-- A `type' element defines a named type. Using the `typeRef' element, a field or parameter definition may refer to this type. @@ -855,6 +861,11 @@ The minimum number of characters that a (non-NULL) value of this type must hold. Default is zero. + `errorMsgKey' + + An optional error message resource key that should be used if the + restriction does not match. + The type is mapped to these SQL and programming language types: @@ -870,7 +881,8 @@ patternName CDATA #IMPLIED restrictTo %restrictVariants; "anything" pattern CDATA #IMPLIED - minimumLength CDATA "0"> + minimumLength CDATA "0" + errorMsgKey NMTOKEN #IMPLIED> <!-- Reference to an object. In SQL terms, this is a foreign key constraint on the id attribute of a table. For the application, it is a pointer |
From: Michael v. A. <mv...@us...> - 2008-07-30 10:53:34
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7396/src/PObj Modified Files: Sql.Mod ParseClassDef.Mod MetaData.Mod CodeGenJava.Mod CodeGen.Mod Log Message: add support for errorMsgKey Index: MetaData.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/MetaData.Mod,v retrieving revision 1.136 retrieving revision 1.137 diff -u -d -r1.136 -r1.137 --- MetaData.Mod 2 Jun 2008 12:33:28 -0000 1.136 +++ MetaData.Mod 30 Jul 2008 10:53:39 -0000 1.137 @@ -173,6 +173,7 @@ restrictTo-: SHORTINT; pattern-: STRING; minimumLength-: LONGINT; + errorMsgKey-: STRING; END; Date* = POINTER TO DateDesc; DateDesc = RECORD @@ -473,6 +474,7 @@ (DeclarationDesc) restrictTo-: SHORTINT; pattern-: STRING; + errorMsgKey-: STRING; END; TYPE @@ -1580,7 +1582,7 @@ PROCEDURE (t: String) INIT*(javaTypeName: STRING; size: LONGINT; nvarchar: BOOLEAN; restrictTo: SHORTINT; pattern: STRING; - minimumLength: LONGINT); + minimumLength: LONGINT; errorMsgKey: STRING); BEGIN t.INIT^(javaTypeName); t.size := size; @@ -1588,6 +1590,7 @@ t.restrictTo := restrictTo; t.pattern := pattern; t.minimumLength := minimumLength; + t.errorMsgKey := errorMsgKey; END INIT; PROCEDURE (t: String) Name*(currentModule: Module; @@ -2121,11 +2124,12 @@ END Name; PROCEDURE (p: StringPattern) INIT*(name: STRING; restrictTo: SHORTINT; - pattern: STRING); + pattern: STRING; errorMsgKey: STRING); BEGIN p.INIT^(name); p.restrictTo := restrictTo; p.pattern := pattern; + p.errorMsgKey := errorMsgKey; END INIT; Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.115 retrieving revision 1.116 diff -u -d -r1.115 -r1.116 --- CodeGenJava.Mod 2 Jun 2008 13:06:12 -0000 1.115 +++ CodeGenJava.Mod 30 Jul 2008 10:53:40 -0000 1.116 @@ -2163,7 +2163,13 @@ Ln; Ln; sb.Append("public class "+className+" extends "+ - FormElementClassName(entry, FALSE)+" {"); + FormElementClassName(entry, FALSE)); + WITH entry: MetaData.ArrayEntry DO + sb.Append("<"+FormElementClassName(entry.element, TRUE)+">"); + ELSE + (* nothing *) + END; + sb.Append(" {"); INC(indent); (* constructor *) @@ -2536,6 +2542,11 @@ sb.AppendInt(t.minimumLength); sb.Append(");"); END; + IF (t.errorMsgKey # NIL) THEN + Ln; + sb.Append("(("+typeName+")"+name+").setErrorMsgKey("); + sb.Append(t.errorMsgKey+");"); + END; | t: MetaData.Numeric DO IF (t.lowerLimit # NIL) THEN Ln; @@ -3672,6 +3683,7 @@ (* write the commands's section of the Globals.java file *) CommandGlobals(module.javaPackage, cmd); + WriteBuffer(wGlobals, sb); END; FOR j := 0 TO LEN(module.forms^)-1 DO Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.147 retrieving revision 1.148 diff -u -d -r1.147 -r1.148 --- ParseClassDef.Mod 2 Jun 2008 12:33:28 -0000 1.147 +++ ParseClassDef.Mod 30 Jul 2008 10:53:39 -0000 1.148 @@ -926,7 +926,7 @@ PROCEDURE ParseStringPattern(start: Parser.Token): MetaData.StringPattern; VAR - name, value: STRING; + name, value, errorMsgKey: STRING; restrictTo: SHORTINT; pattern: MetaData.StringPattern; t: Parser.Token; @@ -934,6 +934,7 @@ BEGIN token := p.NextData(); name := GetIdentifier(start, "name", Parser.required); + errorMsgKey := GetIdentifier(start, "errorMsgKey", NIL); GetRestrictTo(start, restrictTo, value); descr := ParseDescription(token); @@ -954,7 +955,8 @@ END; CheckEndData(start); - pattern := NEW(MetaData.StringPattern, name, restrictTo, value); + pattern := NEW(MetaData.StringPattern, name, restrictTo, + value, errorMsgKey); pattern.SetDescription(descr); SetModuleDecl(start, name, pattern); RETURN pattern; @@ -968,7 +970,7 @@ restrictTo: SHORTINT; patternName, javaTypeClass, module, target, pattern, onDeleteAttr, name, format, lowerLimit, upperLimit, refParent, - trueValue, falseValue, roleAttr: STRING; + trueValue, falseValue, roleAttr, errorMsgKey: STRING; nvarchar, error: BOOLEAN; stringPattern: MetaData.StringPattern; @@ -1041,7 +1043,7 @@ IF (i = pl.size) THEN start.Err1(noSuchStringPattern, name); RETURN NEW(MetaData.StringPattern, "", - MetaData.restrictToAnything, ""); + MetaData.restrictToAnything, "", NIL); ELSE RETURN pl.array[i]; END; @@ -1105,10 +1107,12 @@ IF (patternName = NIL) THEN GetRestrictTo(start, restrictTo, pattern); pattern := start.GetAttValue("pattern", pattern); + errorMsgKey := NIL; ELSE stringPattern := GetStringPattern(patternName); restrictTo := stringPattern.restrictTo; pattern := stringPattern.pattern; + errorMsgKey := stringPattern.errorMsgKey; IF (start.GetAttValue("restrictTo", NIL) # NIL) THEN start.Err1(conflictsWithPatternName, "restrictTo"); END; @@ -1119,7 +1123,7 @@ minimumLength := start.GetAttInt("minimumLength", FALSE, 0); javaTypeClass := start.GetAttValue("javaTypeClass", NIL); type := NEW(MetaData.String, javaTypeClass, size, nvarchar, - restrictTo, pattern, minimumLength); + restrictTo, pattern, minimumLength, errorMsgKey); ELSIF start.IsStartTag("int32", NIL) THEN token := p.NextData(); Index: CodeGen.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGen.Mod,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- CodeGen.Mod 11 Apr 2007 16:11:45 -0000 1.68 +++ CodeGen.Mod 30 Jul 2008 10:53:40 -0000 1.69 @@ -789,6 +789,8 @@ sb.Append(QuotedString(t.pattern)); sb.Append(", "); sb.AppendInt(t.minimumLength); + sb.Append(", "); + sb.Append(QuotedString(t.errorMsgKey)); | t: MetaData.BooleanWrapper DO sb.Append("BooleanWrapper, "); Index: Sql.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/Sql.Mod,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- Sql.Mod 2 Jun 2008 12:33:28 -0000 1.51 +++ Sql.Mod 30 Jul 2008 10:53:39 -0000 1.52 @@ -753,7 +753,7 @@ (* actually the SQL type being used is INTEGER, but the application's view is that of an opaque string *) RETURN NEW(MetaData.String, javaTypeName, 38, FALSE, - MetaData.restrictToAnything, NIL, 0); + MetaData.restrictToAnything, NIL, 0, NIL); END IdFieldType; PROCEDURE (dd: Oracle) NormalizeName(name: STRING): STRING; |
From: Michael v. A. <mv...@us...> - 2008-06-02 13:06:05
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9966/src/PObj Modified Files: CodeGenJava.Mod Log Message: Write empty application class for select, if none exists yet. Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.114 retrieving revision 1.115 diff -u -d -r1.114 -r1.115 --- CodeGenJava.Mod 18 Apr 2008 09:01:12 -0000 1.114 +++ CodeGenJava.Mod 2 Jun 2008 13:06:12 -0000 1.115 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:CodeGenJava; (* Java code generator. - Copyright (C) 2004-2007 Michael van Acken + Copyright (C) 2004-2008 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -3443,7 +3443,7 @@ w.CloseAndRegister(); END WriteFile; - PROCEDURE WriteApplicationFileTE(te: MetaData.Class; packageName: STRING) + PROCEDURE WriteApplicationFileTE(te: MetaData.TableExpr; packageName: STRING) RAISES IO.Error; VAR fileName, className: STRING; @@ -3454,7 +3454,7 @@ Err.Object("Skipping existing class: "+fileName); Err.Ln; ELSE indent := 0; - className := class.Name(class.module, MetaData.tableExprJavaClassName); + className := te.Name(te.module, MetaData.tableExprJavaClassName); sb.Append("package "); sb.Append(packageName); @@ -3465,7 +3465,7 @@ sb.Append("public class "); sb.Append(className); sb.Append(" extends "); - sb.Append(class.Name(class.module, MetaData.tableExprJavaGeneratedClassName)); + sb.Append(te.Name(te.module, MetaData.tableExprJavaGeneratedClassName)); sb.Append(" {"); INC(indent); @@ -3486,20 +3486,24 @@ sb.Append("}"); (* full constructor *) - IF class.extensible THEN - Ln; - Ln; - sb.Append("public "+className+"("); - i := AppendFieldList(sb, cd, class, TRUE); - sb.Append(") {"); - INC(indent); - Ln; - sb.Append("super("); - i := AppendFieldList(sb, cd, class, FALSE); - sb.Append(");"); - DEC(indent); - Ln; - sb.Append("}"); + WITH te: MetaData.Class DO + IF te.extensible THEN + Ln; + Ln; + sb.Append("public "+className+"("); + i := AppendFieldList(sb, cd, te, TRUE); + sb.Append(") {"); + INC(indent); + Ln; + sb.Append("super("); + i := AppendFieldList(sb, cd, te, FALSE); + sb.Append(");"); + DEC(indent); + Ln; + sb.Append("}"); + END; + ELSE + (* nothing *) END; DEC(indent); @@ -3650,6 +3654,10 @@ (* write the select's section of the Globals.java file *) SelectGlobals(module.javaPackage, select); WriteBuffer(wGlobals, sb); + + (* write a rudimentary application class, unless the file + exists already *) + WriteApplicationFileTE(te, module.javaPackage); ELSE (* nothing *) END; |
From: Michael v. A. <mv...@us...> - 2008-06-02 12:33:21
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv30077/src/PObj Modified Files: Sql.Mod ParseClassDef.Mod MetaData.Mod Log Message: Prevent references to classes that are not materialized as tables. Index: MetaData.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/MetaData.Mod,v retrieving revision 1.135 retrieving revision 1.136 diff -u -d -r1.135 -r1.136 --- MetaData.Mod 2 Jun 2008 11:55:38 -0000 1.135 +++ MetaData.Mod 2 Jun 2008 12:33:28 -0000 1.136 @@ -2752,6 +2752,11 @@ RETURN (cl # NIL); END IsExtensionOf; +PROCEDURE (cl: Class) MaterializedTable*(): BOOLEAN; + BEGIN + RETURN (LEN(cl.fields^) # 0); + END MaterializedTable; + PROCEDURE (cl: Class) SetRuntimeFieldDefinitions*(runtimeFieldDefinitions: BOOLEAN); BEGIN cl.runtimeFieldDefinitions := runtimeFieldDefinitions; Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.146 retrieving revision 1.147 diff -u -d -r1.146 -r1.147 --- ParseClassDef.Mod 2 Jun 2008 11:58:38 -0000 1.146 +++ ParseClassDef.Mod 2 Jun 2008 12:33:28 -0000 1.147 @@ -113,6 +113,7 @@ noSuchFieldInTarget = 2070; fieldNotBackRef = 2071; multipleMasterReferences = 2072; + referencedClassWithoutTable = 2073; cannotExpandRelativeFileName = 2100; ioError = 2101; @@ -2673,6 +2674,10 @@ tag := referenceStartTag.Get(type); tag.Err1(cascadeInDerivedClass, cl.name); END; + IF ~type.targetClass.MaterializedTable() THEN + tag := referenceStartTag.Get(type); + tag.Err1(referencedClassWithoutTable, type.targetClass.name); + END; IF (derivedClassLevel = 0) THEN (* add foreign key constraint for this RefType, but only for @@ -3141,6 +3146,7 @@ reg.SetError(noSuchFieldInTarget, "Class `$1' has no field `$2'"); reg.SetError(fieldNotBackRef, "Field `$1' is not a reference to the master class `$2'"); reg.SetError(multipleMasterReferences, "A class can have at most one reference marked as `master'"); + reg.SetError(referencedClassWithoutTable, "The referenced class `$1' is not materialized as a table"); reg.SetError(cannotExpandRelativeFileName, "Cannot expand relative file name when reading from stdin"); reg.SetError(ioError, "I/O error: $1"); Index: Sql.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/Sql.Mod,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- Sql.Mod 15 Sep 2006 07:03:22 -0000 1.50 +++ Sql.Mod 2 Jun 2008 12:33:28 -0000 1.51 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:Sql; (* SQL code generator (covers Postgres and Oracle). - Copyright (C) 2004-2006 Michael van Acken + Copyright (C) 2004-2006, 2008 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -396,7 +396,7 @@ END; postponedList.Set(cl.schemaName, NIL); (* mark as written *) - IF (LEN(cl.fields^) # 0) THEN + IF cl.MaterializedTable() THEN entries := NEW(StringList, 8); dd.CreateTableEntries(cl, postponedList, entries, postponedConstraints); |
From: Michael v. A. <mv...@us...> - 2008-06-02 11:58:31
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16237/src/PObj Modified Files: ParseClassDef.Mod Log Message: A class's visualField can be inherited from the base class. Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.145 retrieving revision 1.146 diff -u -d -r1.145 -r1.146 --- ParseClassDef.Mod 2 Jun 2008 11:55:38 -0000 1.145 +++ ParseClassDef.Mod 2 Jun 2008 11:58:38 -0000 1.146 @@ -1817,6 +1817,9 @@ visualField := NIL; IF (visualFieldName # NIL) THEN visualField := FindField(visualFieldName); + IF (visualField = NIL) & (baseClass # NIL) THEN + visualField := baseClass.FieldByName(visualFieldName); + END; IF (visualField = NIL) THEN start.Err1(noSuchField, visualFieldName); END; |
From: Michael v. A. <mv...@us...> - 2008-06-02 11:55:39
|
Update of /cvsroot/ooc/libpobj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15092 Modified Files: dictionary.dtd Log Message: Back reference of a detail (or reference) join may point to a base class, not just to the class containing the join. Index: dictionary.dtd =================================================================== RCS file: /cvsroot/ooc/libpobj/dictionary.dtd,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- dictionary.dtd 4 Apr 2008 09:28:02 -0000 1.88 +++ dictionary.dtd 2 Jun 2008 11:55:38 -0000 1.89 @@ -529,7 +529,7 @@ The name of the field in the referencing class that holds the reference to the master class (that is, the class around this - element). + element, or one of its base classes). `sortFields' @@ -554,7 +554,7 @@ The name of the field in the detail class that holds the reference to the master class (that is, the class around this - element). + element, or one of its base classes). `sortFields' @@ -566,7 +566,7 @@ If the detail table has a unique contraint on the master reference field (i.e., unique="yes"), then there can be only one - detail record per master. This turn the detail row into a kind + detail record per master. This turns the detail row into a kind of nested object. Without such a constraint, there can be arbitrary detail records. In this case, the details can be considered a set valued attribute of the master table. |
From: Michael v. A. <mv...@us...> - 2008-06-02 11:55:39
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15092/src/PObj Modified Files: ParseClassDef.Mod MetaData.Mod Log Message: Back reference of a detail (or reference) join may point to a base class, not just to the class containing the join. Index: MetaData.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/MetaData.Mod,v retrieving revision 1.134 retrieving revision 1.135 diff -u -d -r1.134 -r1.135 --- MetaData.Mod 24 May 2007 12:45:19 -0000 1.134 +++ MetaData.Mod 2 Jun 2008 11:55:38 -0000 1.135 @@ -2744,6 +2744,14 @@ END; END INIT; +PROCEDURE (cl: Class) IsExtensionOf*(baseClass: Class): BOOLEAN; + BEGIN + WHILE (cl # NIL) & (cl # baseClass) DO + cl := cl.baseClass; + END; + RETURN (cl # NIL); + END IsExtensionOf; + PROCEDURE (cl: Class) SetRuntimeFieldDefinitions*(runtimeFieldDefinitions: BOOLEAN); BEGIN cl.runtimeFieldDefinitions := runtimeFieldDefinitions; Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.144 retrieving revision 1.145 diff -u -d -r1.144 -r1.145 --- ParseClassDef.Mod 2 Jun 2008 11:28:49 -0000 1.144 +++ ParseClassDef.Mod 2 Jun 2008 11:55:38 -0000 1.145 @@ -2857,7 +2857,7 @@ tag.Err2(noSuchFieldInTarget, target.name, type.masterReference.name); ELSIF ~(masterReference.type IS MetaData.RefType) OR - ~(masterReference.type(MetaData.RefType).targetClass = cl) THEN + ~cl.IsExtensionOf(masterReference.type(MetaData.RefType).targetClass) THEN tag.Err2(fieldNotBackRef, masterReference.name, cl.name); END; IF (type.sortFields # NIL) THEN |
From: Michael v. A. <mv...@us...> - 2008-06-02 11:29:07
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4332 Modified Files: ParseClassDef.Mod Log Message: get rid of non-ascii accent characters Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.143 retrieving revision 1.144 diff -u -d -r1.143 -r1.144 --- ParseClassDef.Mod 15 Jan 2008 12:27:04 -0000 1.143 +++ ParseClassDef.Mod 2 Jun 2008 11:28:49 -0000 1.144 @@ -3135,8 +3135,8 @@ reg.SetError(targetWithoutPosition, "In class `$1', the second primary key column is not an integer"); reg.SetError(targetWithoutSelectingPKey, "Class `$1' must have at least two columns in its primary key"); reg.SetError(targetWithoutNonPKeyFields, "Class `$1' must have fields beyond the primary key"); - reg.SetError(noSuchFieldInTarget, "Class `$1' has no field `$2´"); - reg.SetError(fieldNotBackRef, "Field `$1' is not a reference to the master class `$2´"); + reg.SetError(noSuchFieldInTarget, "Class `$1' has no field `$2'"); + reg.SetError(fieldNotBackRef, "Field `$1' is not a reference to the master class `$2'"); reg.SetError(multipleMasterReferences, "A class can have at most one reference marked as `master'"); reg.SetError(cannotExpandRelativeFileName, "Cannot expand relative file name when reading from stdin"); |
From: Michael v. A. <mv...@us...> - 2008-04-18 09:01:07
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4209/src/PObj Modified Files: CodeGenJava.Mod Log Message: use LinkedHashMap to preserve order of map elements Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.113 retrieving revision 1.114 diff -u -d -r1.113 -r1.114 --- CodeGenJava.Mod 20 Jun 2007 07:23:26 -0000 1.113 +++ CodeGenJava.Mod 18 Apr 2008 09:01:12 -0000 1.114 @@ -2567,7 +2567,7 @@ ELSE hashName := GenerateName(ng[genHashMap], "hashMap"); Ln; - sb.Append(hashName+" = new HashMap();"); + sb.Append(hashName+" = new LinkedHashMap();"); FOR i := 0 TO t.map.size-1 DO Ln; sb.Append(hashName+".put("+QuotedString(t.map.array[i].label)+ @@ -2661,7 +2661,7 @@ Ln; sb.Append("import pe.base.pobjects.*;"); Ln; - sb.Append("import java.util.HashMap;"); + sb.Append("import java.util.LinkedHashMap;"); Ln; sb.Append("import java.util.regex.Pattern;"); @@ -2692,7 +2692,7 @@ Ln; sb.Append("private static AttributeType[] fixupType = new AttributeType[1000];"); Ln; - sb.Append("private static HashMap[] hashMap = new HashMap[100];"); + sb.Append("private static LinkedHashMap[] hashMap = new LinkedHashMap[100];"); Ln; sb.Append("private static IdFactory[] idFactory = new IdFactory[100];"); IF (LEN(module.tableExprs^) # 0) THEN |
From: Michael v. A. <mv...@us...> - 2008-04-04 09:27:57
|
Update of /cvsroot/ooc/libpobj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32727 Modified Files: dictionary.dtd Log Message: replaced non-ascii quote symbols in accordance to the document encoding (thanks to hsa) Index: dictionary.dtd =================================================================== RCS file: /cvsroot/ooc/libpobj/dictionary.dtd,v retrieving revision 1.87 retrieving revision 1.88 diff -u -d -r1.87 -r1.88 --- dictionary.dtd 24 May 2007 12:45:19 -0000 1.87 +++ dictionary.dtd 4 Apr 2008 09:28:02 -0000 1.88 @@ -525,13 +525,13 @@ "pobjDetail", the relationship does not imply an ownership of the remote data by this table. - `masterReference´ + `masterReference' The name of the field in the referencing class that holds the reference to the master class (that is, the class around this element). - `sortFields´ + `sortFields' When displayed as part of the master class, the referencing records should be ordered using these fields. To implement @@ -550,13 +550,13 @@ master/detail relationship. The class in which this element appears is the master. - `masterReference´ + `masterReference' The name of the field in the detail class that holds the reference to the master class (that is, the class around this element). - `sortFields´ + `sortFields' When displayed as part of the master class, the detail records should be ordered using these fields. To implement |
From: Stewart G. <sgr...@us...> - 2008-03-25 11:52:18
|
Update of /cvsroot/ooc/ooc2 In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27968 Modified Files: README.WIN32 Log Message: Added suggestion to use mounts under msys. Index: README.WIN32 =================================================================== RCS file: /cvsroot/ooc/ooc2/README.WIN32,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- README.WIN32 4 Jun 2004 04:10:40 -0000 1.7 +++ README.WIN32 25 Mar 2008 11:52:19 -0000 1.8 @@ -68,7 +68,18 @@ It is ESSENTIAL that OOC and gcc SEE THE SAME PATHS TO SOURCE FILES. -Keep this in mind when installing the system. +Keep this in mind when installing the system. Try to avoid paths like "C:" and +"/C/" as these won't match between the two envionments. Use a mount to unify +the path names. For example, in the msys /etc/fstab, add an entry like: + + c:/myname /myname + +This allows you to completely omit the drive specifier in paths. Then to +configure pass "--prefix=/myname/local". Use the same prefix when installing +libraries like the GC. To tell the compiler where they are, use: + + export LDFLAGS=-L/myname/local/lib + export CPPFLAGS=-I/myname/local/include Note that OOC does not quote file names that are passed as arguments to the C compiler, so: |
From: Michael v. A. <mv...@us...> - 2008-01-15 12:27:06
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27909 Modified Files: ParseClassDef.Mod Log Message: Check that only one reference in a class is marked with role="master". Index: ParseClassDef.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/ParseClassDef.Mod,v retrieving revision 1.142 retrieving revision 1.143 diff -u -d -r1.142 -r1.143 --- ParseClassDef.Mod 24 May 2007 12:45:19 -0000 1.142 +++ ParseClassDef.Mod 15 Jan 2008 12:27:04 -0000 1.143 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:ParseClassDef; (* Parses XML representation of a dictionary definition. - Copyright (C) 2004-2007 Michael van Acken + Copyright (C) 2004-2008 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -112,6 +112,7 @@ targetWithoutNonPKeyFields = 2069; noSuchFieldInTarget = 2070; fieldNotBackRef = 2071; + multipleMasterReferences = 2072; cannotExpandRelativeFileName = 2100; ioError = 2101; @@ -1520,7 +1521,8 @@ class: MetaData.Class; descr: MetaData.Description; pkeySchemaName, pkeyFields: STRING; - pkeyStart: Parser.Token; + pkeyStart, fieldStart: Parser.Token; + masterReference: INTEGER; PROCEDURE FindColumn(name: STRING): MetaData.Field; VAR @@ -1729,6 +1731,7 @@ pkeyStart := NIL; pkeySchemaName := NIL; pkeyFields := NIL; + masterReference := 0; IF (defaults # NIL) & (defaults.baseClass # NIL) THEN baseClass := defaults.baseClass; idField := baseClass.idField; @@ -1749,6 +1752,7 @@ constrList := NEW(ArrayList.ArrayList(MetaData.Constraint), 4); localColumnList := NEW(ArrayList.ArrayList(MetaData.Column), 4); LOOP + fieldStart := token; IF token.IsStartTag("field", NIL) THEN field := ParseField(token); @@ -1757,6 +1761,13 @@ ELSIF (FindFieldSchema(field.schemaName) # NIL) THEN start.Err1(duplicateFieldName, field.schemaName); END; + IF (field.type IS MetaData.RefType) & + (field.type(MetaData.RefType).role = MetaData.roleMaster) THEN + INC(masterReference); + IF (masterReference > 1) THEN + fieldStart.Err1(multipleMasterReferences, "master"); + END; + END; IF field.unique THEN NEW(field1, 1); @@ -3126,6 +3137,7 @@ reg.SetError(targetWithoutNonPKeyFields, "Class `$1' must have fields beyond the primary key"); reg.SetError(noSuchFieldInTarget, "Class `$1' has no field `$2´"); reg.SetError(fieldNotBackRef, "Field `$1' is not a reference to the master class `$2´"); + reg.SetError(multipleMasterReferences, "A class can have at most one reference marked as `master'"); reg.SetError(cannotExpandRelativeFileName, "Cannot expand relative file name when reading from stdin"); reg.SetError(ioError, "I/O error: $1"); |
From: Michael v. A. <mv...@us...> - 2007-08-09 06:58:54
|
Update of /cvsroot/ooc/libxmls/src/XMLS In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14768/src/XMLS Modified Files: Parser.Mod Log Message: Skip processing instruction. Index: Parser.Mod =================================================================== RCS file: /cvsroot/ooc/libxmls/src/XMLS/Parser.Mod,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Parser.Mod 4 Jan 2006 10:44:32 -0000 1.12 +++ Parser.Mod 9 Aug 2007 06:58:54 -0000 1.13 @@ -165,6 +165,7 @@ dashDashInComment = 1109; commentNotTerminated = 1110; expectWhitespace = 1111; + piNotTerminated = 1112; (* semantic errors: *) attributeNotDefined = 1200; invalidAttributeValue* = 1201; @@ -982,6 +983,35 @@ p.OptS(); p.CheckChar("="); p.OptS(); END Eq; +PROCEDURE (p: Parser) PI(); +(* pre: looking at "<?" *) + VAR + storedPos: Pos; + name: STRING; + BEGIN + p.StorePos(storedPos); + INC (p.pos, 2); (* skip over "<?" *) + name := p.Name(); (* note: no combination of [xX][mM][lL] allowed here *) + p.S(); + LOOP + WHILE (p.chars[p.pos] # endOfBuffer) & (p.chars[p.pos] # "?") DO + IF (p.chars[p.pos] = Ascii.lf) THEN + INC(p.line); + END; + INC(p.pos); + END; + IF (p.chars[p.pos] = endOfBuffer) THEN + p.Err0Pos(piNotTerminated, storedPos); + EXIT; + ELSIF p.LookingAt("?>") THEN (* end of pi *) + INC(p.pos, 2); + EXIT; + ELSE (* single `?' *) + INC(p.pos); + END; + END; + END PI; + PROCEDURE (p: Parser) MiscRep(); BEGIN LOOP @@ -991,8 +1021,8 @@ | "<": IF p.LookingAt("<!--") THEN p.Comment(); - (*ELSIF p.LookingAt("<?") THEN - p.PI();*) + ELSIF p.LookingAt("<?") THEN + p.PI(); ELSE EXIT; END @@ -1273,9 +1303,9 @@ IF p.LookingAt("<!--") THEN (* comment *) p.Comment(); (* ELSIF p.LookingAt("<![CDATA[") THEN (* CDATA section *) - p.CDSect(); + p.CDSect();*) ELSIF p.LookingAt("<?") THEN (* processing instruction *) - p.PI();*) + p.PI(); ELSIF (p.chars[p.pos+1] # "/") THEN (* nested element *) ParseElement(p); ELSE (* end tag *) @@ -1464,6 +1494,7 @@ reg.SetError(dashDashInComment, "`--' must not appear in comment"); reg.SetError(commentNotTerminated, "End of file in comment"); reg.SetError(expectWhitespace, "Expect whitespace"); + reg.SetError(commentNotTerminated, "End of file in processing instruction"); reg.SetError(attributeNotDefined, "Attribute `$1' is not defined"); reg.SetError(invalidAttributeValue, "Invalid value for attribute `$1'"); |
From: Michael v. A. <mv...@us...> - 2007-06-20 07:23:29
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20110 Modified Files: CodeGenJava.Mod Log Message: (getObjectIdForVisual) default to calling genericObjectIdForVisual(), instead of inventing the string value on the spot Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.112 retrieving revision 1.113 diff -u -d -r1.112 -r1.113 --- CodeGenJava.Mod 9 May 2007 08:23:26 -0000 1.112 +++ CodeGenJava.Mod 20 Jun 2007 07:23:26 -0000 1.113 @@ -862,9 +862,7 @@ INC(indent); Ln; IF (class.visualField = NIL) THEN - sb.Append('return "['); - sb.Append(class.schemaName); - sb.Append('."+getObjectId()+"]";'); + sb.Append('return genericObjectIdForVisual();'); ELSE sb.Append("return "); sb.Append(class.visualField.Name(MetaData.columnJavaGetMethodVisual)); |
From: Michael v. A. <mv...@us...> - 2007-05-24 12:45:22
|
Update of /cvsroot/ooc/libpobj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27956 Modified Files: dictionary.dtd Log Message: add join type pobjList Index: dictionary.dtd =================================================================== RCS file: /cvsroot/ooc/libpobj/dictionary.dtd,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- dictionary.dtd 11 Apr 2007 16:11:46 -0000 1.86 +++ dictionary.dtd 24 May 2007 12:45:19 -0000 1.87 @@ -438,7 +438,7 @@ As in element `field'. --> -<!ELEMENT join (description?, (pobjSet|pobjStack|pobjDictionary| +<!ELEMENT join (description?, (pobjSet|pobjStack|pobjList|pobjDictionary| pobjReference|pobjDetail))> <!ATTLIST join name CDATA #REQUIRED label CDATA #IMPLIED @@ -483,6 +483,24 @@ target CDATA #REQUIRED javaTypeClass CDATA #IMPLIED> +<!-- Declares the referenced table to appear as a list valued field in + the parent table. The child table must meet a number of + criteria: + + 1) It must have a primary key declaration. + + 2) The first field of the primary key must be a reference to the + parent table, and it must defined as "on delete cascade". + + 3) The primary key must have exactly two columns. + + 4) The primary key's second column must be of integer type. +--> +<!ELEMENT pobjList EMPTY> +<!ATTLIST pobjList module CDATA #IMPLIED + target CDATA #REQUIRED + javaTypeClass CDATA #IMPLIED> + <!-- Declares the referenced table to appear as a dictionary valued field in the parent table. The child table must meet a number of criteria: |