Package.jdo in JBuilder
Hi,
The user manual states that "creating and editing package.jdo metadata files
for multiple classes is currently not supported in the JBuilder interface."
Whenever I make/rebuild/run my project from JBuilder, it executes the
enhancer against each of my .jdo files (which are growing in number) making
the make/rebuild/run time consuming. Is there a work around for this? Is
there any time frame for Kodo to support package.jdo files in JBuilder?
Thanks,
Jeff
The user manual states that "creating and editing package.jdo metadata files
for multiple classes is currently not supported in the JBuilder interface."That's correct. You're free to use package-level metadata with Kodo and
JBuilder, you just won't be able to manipulate these files through Kodo's
JBuilder integration (you can certainly edit them by hand).
I don't think there is a definite timetable on correcting this issue, but
we are aware of it.
Similar Messages
-
Is it possible to use Microsoft's Java Packages in Forte4Java/JBuilder?
Dear all,
I am wondering whether it is possible to use those java packages installed by MS Visual J++ in Sun's Forte4Java or Borland's JBuilder? I found one of the java packages of Microsoft -- com.ms.com.* quite useful for calling ActiveX Components in java code and I have succeeded in calling my DLL COM under Visual J++ with the help of com.ms.com.Dispatch. But I have to use Forte4Java to write my Java program, therefore, it will be great if I can still use com.ms.com.* under Forte4Java. Is it possible? If so, how to do it? Please advise and thanks in advance...
TracyYou can use any java package if you just add it to the classpath. In Forte this means adding it to the explorer pane, I am not sure about Builder.
The problem will be when you try to run it. Any Microsoft class which uses some part of their runtime will require the Microsoft VM. If you have that, and are willing to be permenantly tied to it, then you will be in business. -
I have succeed in creating metedate and mapping and schema in
kodoworkbench for my project model,but I fail to run the project due to
kodo enhance. I think that the classes have been enhanced in
kodoworkbench . why ? the follow is the error message :
kodo.enhance.JDOEnhancer: kodo.util.FatalException: java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.-NestedThrowables:-java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositoryImpl.java:180)--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.java:129)--at
kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)--at
kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2181)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.doBuild(JDOEnhancerTask.java:101)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.build(JDOEnhancerTask.java:74)--at
com.borland.primetime.build.BuildTask.execute(Unknown Source)--at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)--at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)--at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)--at
java.lang.reflect.Method.invoke(Method.java:324)--at
org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)--at
org.apache.tools.ant.Task.perform(Task.java:341)--at
org.apache.tools.ant.Target.execute(Target.java:309)--at
org.apache.tools.ant.Target.performTasks(Target.java:336)--at
com.borland.primetime.build.y.executeTarget(Unknown Source)--at
com.borland.primetime.build.y.executeTargets(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.BuildProcess.run(Unknown Source)--at
java.lang.Thread.run(Thread.java:534)--Caused by: java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:320)--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:260)--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:240)--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositoryImpl.java:175)--...
20 more--NestedThrowablesStackTrace:--java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:320)--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:260)--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:240)--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositoryImpl.java:175)--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.java:129)--at
kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)--at
kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2181)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.doBuild(JDOEnhancerTask.java:101)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.build(JDOEnhancerTask.java:74)--at
com.borland.primetime.build.BuildTask.execute(Unknown Source)--at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)--at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)--at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)--at
java.lang.reflect.Method.invoke(Method.java:324)--at
org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)--at
org.apache.tools.ant.Task.perform(Task.java:341)--at
org.apache.tools.ant.Target.execute(Target.java:309)--at
org.apache.tools.ant.Target.performTasks(Target.java:336)--at
com.borland.primetime.build.y.executeTarget(Unknown Source)--at
com.borland.primetime.build.y.executeTargets(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.BuildProcess.run(Unknown Source)--at
java.lang.Thread.run(Thread.java:534)--all the classes in the package have been complied , or the classes can
not be added to the metadata in the workbench .
Greg Campbell wrote:
Is the "ProductDeploy" class compiled? The JDOEnhancer works on compiled
bytecode (ProductDeploy.class) not source code (ProductDeploy.java).
Thanks,
Greg
"qiyongzhen" <[email protected]> wrote in message
news:[email protected]...
I have succeed in creating metedate and mapping and schema in
kodoworkbench for my project model,but I fail to run the project due to
kodo enhance. I think that the classes have been enhanced in
kodoworkbench . why ? the follow is the error message :
kodo.enhance.JDOEnhancer: kodo.util.FatalException: java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.-NestedThrowables:-java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
yImpl.java:180)--at
>
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
va:129)--at
kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)--at
kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2181)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.doBuild(JDOEnhancerTask.java:
101)--at
>
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.build(JDOEnhancerTask.java:74
)--at
com.borland.primetime.build.BuildTask.execute(Unknown Source)--at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)--at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)--at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)--at
java.lang.reflect.Method.invoke(Method.java:324)--at
org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)--at
org.apache.tools.ant.Task.perform(Task.java:341)--at
org.apache.tools.ant.Target.execute(Target.java:309)--at
org.apache.tools.ant.Target.performTasks(Target.java:336)--at
com.borland.primetime.build.y.executeTarget(Unknown Source)--at
com.borland.primetime.build.y.executeTargets(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.BuildProcess.run(Unknown Source)--at
java.lang.Thread.run(Thread.java:534)--Caused by: java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:320)--at
>
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:260)--at
>
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:240)--at
>
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
yImpl.java:175)--...
20 more--NestedThrowablesStackTrace:--java.io.IOException:
org.xml.sax.SAXException:
file:/C:/Home/fashionASP/classes/com/ideal/platformASP/entity/package.jdo
[Location: Line: 20, C: 70]: Type "ProductDeploy" could not be
instantiated.--at
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:320)--at
>
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:260)--at
>
com.solarmetric.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:240)--at
>
kodo.meta.JDOMetaDataRepositoryImpl.getMetaDataInternal(JDOMetaDataRepositor
yImpl.java:175)--at
>
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.ja
va:129)--at
kodo.enhance.JDOEnhancer.<init>(JDOEnhancer.java:110)--at
kodo.enhance.JDOEnhancer.run(JDOEnhancer.java:2181)--at
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.doBuild(JDOEnhancerTask.java:
101)--at
>
kodo.jdbc.integration.jbuilder.JDOEnhancerTask.build(JDOEnhancerTask.java:74
)--at
com.borland.primetime.build.BuildTask.execute(Unknown Source)--at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)--at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)--at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)--at
java.lang.reflect.Method.invoke(Method.java:324)--at
org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)--at
org.apache.tools.ant.Task.perform(Task.java:341)--at
org.apache.tools.ant.Target.execute(Target.java:309)--at
org.apache.tools.ant.Target.performTasks(Target.java:336)--at
com.borland.primetime.build.y.executeTarget(Unknown Source)--at
com.borland.primetime.build.y.executeTargets(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.y.build(Unknown Source)--at
com.borland.primetime.build.BuildProcess.run(Unknown Source)--at
java.lang.Thread.run(Thread.java:534)-- -
Mapping JDO to an existing DB schema
Can anyone advise me how to map following two classes to existing DB:
class Protocol {
private String projectTitle;
private RenewStatus renewStatus;
class RenewStatus{
private Date startDate;
private Date endDate;
We have unidirectional association(1 to 1) from Protocol to RenewStatus. I
was given following to tables to map to:
PROTOCOL
|==================|
| int_protocol| project_title |
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
|==================|
RENEWSTATUS
|================================|
| int_protocol | start_date | end_date|
|================================|
| 1 | 10 25 2000 | NULL |
| 2 | 01 10 2001 | 01 31 2001 |
|================================|
The int_protocol column in RENEWSTATUS table is Primary Key and Foreign Key
from PROTOCOL table at the same time.
I came up with following metadata:
<?xml version="1.0"?>
<jdo>
<package name="dao">
<class name="PROTOCOL">
<extension vendor-name="tt" key="table" value="protocol"/>
<extension vendor-name="tt" key="pk-column" value="int_protocol"/>
<extension vendor-name="tt" key="lock-column" value="none"/>
<extension vendor-name="tt" key="class-column" value="none"/
<field name="projectTitle">
<extension vendor-name="tt" key="data-column"
value="project_title"/>
</field>
<field name="renewStatus">
<extension vendor-name="tt" key="data-column" value="int_protocol"/>
</field>
</class>
<class name="RenewStatus" identity-type="none">
<extension vendor-name="tt" key="table" value="RENEWSTATUS"/>
<extension vendor-name="tt" key="lock-column" value="none"/>
<extension vendor-name="tt" key="class-column" value="none"/>
<field name="startDate">
<extension vendor-name="tt" key="data-column" value="start_end"/>
</field>
<field name="endDate">
<extension vendor-name="tt" key="data-column" value="end_date"/>
</field>
</class>
</package>
</jdo>
but association from Protocol to RenewStatus doesn't work, the renewStatus
filed in Protocol always has null value.
Any suggestions?
Thank You,
KirillPatrick,
Thank you for descriptive example with application identity.
I run it with Enhydra InstantDB, and it generates wrong SQL statement, the
SQL log below:
connect: jdbc:idb:../examples/db/database/idb.properties (null)
INSERT INTO RENEWSTATUS (end_date, start_date, int_protocol) VALUES (NULL,
{ts '2002-01-10 13:07:26.901'}, 1368732254)
INSERT INTO PROTOCOL (int_protocol, int_protocol, project_title) VALUES
(1368732254, 1368732254, 'protocol test 3')
INSERT INTO RENEWSTATUS (end_date, start_date, int_protocol) VALUES (NULL,
{ts '2002-01-10 13:07:27.026'}, 1368732633)
INSERT INTO PROTOCOL (int_protocol, int_protocol, project_title) VALUES
(1368732633, 1368732633, 'protocol test 4')
SELECT t0.int_protocol, t0.project_title, t0.int_protocol FROM PROTOCOL t0
SELECT t0.int_protocol, t0.end_date, t0.start_date FROM RENEWSTATUS t0 WHERE
t0.int_protocol = 1368732254
SELECT t0.int_protocol, t0.end_date, t0.start_date FROM RENEWSTATUS t0 WHERE
t0.int_protocol = 1368732633
Insert for protocol table contains extra column - int_protocol.
The attachment is your example + instantDB database I mapped to.
I couldn't figure out why we have extra column in Insert statement,
Any suggestions?
Thank You,
Kirill.
"Patrick Linskey" <[email protected]> wrote in message
news:[email protected]...
Kirill,
Because you are using a single column in PROTOCOL for two purposes, and
because (by extension) the primary keys for rows in PROTOCOL must match
those in RENEWSTATUS, you must use application identity.
The attached java classes and package.jdo should do the trick. If you
have any more questions about this example, please let me know.
Note that the application-level ID generation scheme that I used is less
than ideal.
-Patrick
>
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
begin 666 examples.zip
M4$L#!!0````(`&)K*BQOA0#S0P(``/0'```1````97AA;7!L97,O=&5S="YJ
M<'B=E<^3FC 4Q^\[X_^0<FH/!+0]=+K2G2KV8'7<5KOMK1/"JP8PR22!D?]^
M@\Q&[6P=\ (DX?O)R_N1-WXX[ M4@=),\,@;XM!#P*E(&=]&WL_-5_^C]_!Y
M<#>X&[_Q_?FD9$4*"OU>+M"C$AE0X_MV>2S;@?U$J!E(4*9&E!C8"E5'7M((
M/<3)'B)O*F0].QC@S:8:#SU4D:*T"UDJ/!3<!!DYB%3P5U_#L+0X0?:2%:"<
M^(EI-E$B;Z;^3U E-VP/C;-:SH^2<Y(4L*DE.!85>YP(51">XBQI/8=?I%^D
M+)@E6N,;<<_]B)0:E T;ABR9$Z77I(+4[3R\$2:)LC/&9H-#^9G1R,]X\]#-
M(TUNA+>O9M;!K?%4<$/8[>>O]J\9'5?),8B8;($;+(4RT?!#&(;(CS-2$5RP
M1!%5VQ.;733]%$S:. 4V+.LC.+!_W+^ZD##>R]9,2W6,,"Y(R>FN5,P9&EPC
MZ5J_,":$YJ5\M,8Z:4+RCN+I#FB^-DU^=LN0<ZTM$,)KI^LALW6UXC$DY=:I
MP[YR6QHWB&6MV'9GG-+-H+?T'1J%X:@C*@9-%9--D?;U0"SH1;A203LJ9P=:
ME"E,"Z+U['BKI+U],(^_G2Y5F^]HB-_C\$_G@R^(-AO2/W"+8UDQ.)6B,?-X
M=;^2AEB_A_YRO?Z^\.?Q9-J1N"0Y_).[78U9E>8B!+3Q*%QM#6?JM2@5A0N
M5EUCN&'FS.".HJ>V"Y]J%'<]Z2^A<MNP8Z9L#[:+#H%;P#@X]>?!W3-02P,$
M% ````@`(&PJ+,*:JF5*`0``OP4``! ```!E>&%M<&QE<R]S<6PN='ATO91-
M:X- $(;OA?Z'N9F T777KP@]A+"E`:M%37,,?NS!8#7$*11*_WLW38HF@=ZZ
MMYG=F??9=QBV[-I6E!C KBK*H*Z*P#!,\9&_[1O1FU5A5CGF1=X+4]X9^T.W
M%P>L10^3]KUIIO=WJRCE20:K*(LAX1'?I-DB6Z<P$6VUE<U"AQ[S`Y[CNL6M
M5,&N[)HIO"["-9>UT3H,=?C$'C1*")T1:V81L%C :$!]PW(][4N7N4<H8SYS
MK[@O29S%RSB$R5C^$J:#C';2ZA9K;,3 'E3'!!VTWTY T2/8FB*SQ!F;M1W_
M'\Q*U3'AQBP[FDUYR)<9(#$NI>7!A;I^70*/2?P\O!/)GUK#Z&0R3.\D,AXR
M$M@\\83?X!ZD%=?W&*6.K0KE,J8"-?==0AU?#<J9^]Y<`<HCEB,W7\5:_* L
M1PWJ]'.H0MG'M?@&4$L#! H``````&U1*BP````````````````-````97AA
M;7!L97,O<W)C+U!+`P04````" ""72HL>AL\E)P!```;`P``&0```&5X86UP
M;&5S+W-R8R]S>7-T96TN<')E9G-M4L%NVS ,O1?H/W"]2W)L--T*U06*7+;3
ML Z[TQ;3:)4E0Y+;Y.]'QX[3M3U1>'KO\5&4OM]W#EXH)AO\W=5*%E?W]>6%
M[B-M$Q\`]!<AX'>TZ."9#A+^H+,&!I^M@]4U_$ _8#Q 612E!"$FS7,P03C;
MDD\D6%9794E560FL5M2LOXGF*ZVOUZ6@[<VVJ&ZT^J"XO%BZ;S!C@XD@41YZ
MZ&/H*69+20(\$D'>$0R)(CP-UA!L0P1#R %'PBF2:8YULM0CW6-']5\3\I##
M.)]6"SHS>TSI-43S/VM!9VLF#M$QIVEOK6ENI52TQZYWE)1IE)G3*[Z3Y^S<
MC473E&.\:'D+=8A/DOSN8")*ZU-&GUDU6DN6;XXDK6;R26K;S-OC+<P(0!LZ
MF8+#V%&.MI7CZTK+D2:KU.ZH0SD*Y?>IR^9AL]C,ONJ#L>Y#<$L3W5E?%UJ-
MY8SA_HAQ.=F\$>E^_&DID\\B'WI*9R'&B.<!&'A!-U!M,,B?,>30!G[Z"?N4
M](L\O3YFS$-ZS]/JK3D'^BP$CSO^$+Z=O_X_4$L#! H``````&U1*BP`````
M```````````1````97AA;7!L97,O<W)C+V1A;R]02P,$% ````@`.IHI+'F?
M7>9:`P``BPH``" ```!E>&%M<&QE<R]S<F,O9&%O+TI$3T9A8W1O<GDN:F%V
M895637/:2!"]\RNZ.(U<+H5L[<F4:[<6QQ52"79"=O<\C-HPSFA&GFDE."G_
M]VV-)%"$("P'D/1>?[WN'E%(]46N$3+IIJ/1JXN+$5S 9TT&KZJK&PS*ZX*T
ML_%^YHIGK]<;N@+^[.Y J 1^FTQ>UYR\D/8Y\O^4)6V<CY=?T0?V`Z_3"=^_
M&HU&.B^<)U N3X,STN=(7JOTB\M<RIA)'[.52M_=_#6[KVP#H57X05I.V-]*
M1<X_3\]TLL2GLK(^RZPD;=*[U2,JFF=ANDOT47Z5-7CO78&>-(;I(?A6A@W)
ME<$!;.:,8;>L0\]M>I :UNPC]UXS0(VQ1_"RX_OWVP5%L/&2Y$.5KJ!=6.
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
MGU 9KQ9#<+E83">PJ+[5C]0PK.^@L1@CM#X`]KTU#;+Q#HPFQX;W$%,_M,F
MH5+:J^_DZ/F>D5-4)7J3V%]N)!R024.]A\;O5/06PXXXF$9MO?:*O;=1R2"C
MU<UQW/KN01(J=UI.)WVJ)3$2.QFUUM-))5M9V@FY"/<4#%KS$VM+T\DO22Z7
M0-ATT&^A-60U& =O^$*![5)DJ FLB9DO1D 8YY;*C@()H6H,&L?PWF/T(&MN
MFI6M1(KU@6%1TK= /Q+:"")$Y[4:4,MCZUI6)W0'U&P\C:_G@LE;5::%&7<F
MPFHUAJLJ$*?@@$.BZQP@&PDRT-<9YI*U\/("&^+;0<?9'#[D:G42.>O4RG :
MEJFJ,]'!LX@!*YB=A>?2;)@\UAL]T,M8-:A2_?ZW,AW&[M9K&K4![I /EHOR
M1J6P2'/YBFZ\XX -*WC(LICSOA)QWEV*A=&6^N>.G)S<LA%@.; </,BW0M%L
M'(X6Z%&,+JQD+O3![##L2_V6]I\RP#N['[*M">*?$0.2'ETSBT)<FI4RM'V'
M-;&XW-K]/!-D097YB:'=12\M41VV^NRLU<?C$K$6#MF#9RE9G1<W4"_4_=
MV=_+1^DV17"?N$^#WL+0%_L9_3&6ZM,MG] FBG\3/G0[M'V7<\E]36V;B5]]
MGN<_`G)9M=2+:TZJCZF++W!1?'H,&;VZ."*R`B>EHP+R^P-02P,$% ````@`
M)6PJ+,\::U]A`0``50,``!H```!E>&%M<&QE<R]S<F,O9&%O+W1E<W0N:F%V
M8;5234O$,! ]6^A_&/;4BN2BMV5O*BCX@>M-/&2S0S>[;1*2Z7X@_G<G_=J*
M"WJ1!CIY>?/R9C).JHTL$);23M,D373EK"=8RZW<B_72BO/I-U#4I,L?H&YY
M\7/UHM0*5"E#`,) :?*1)@`='D@2_[96+Z&2VD V)Z]-`6_O('T1\LAM$@">
MT0<="(W"!VG8I0=7P>SL_OKI5BJR_B *I!.L+)^V"J]>FL!4;0W0*)ZQD%"U
M]VAHS!D21V2QP$)W1YTO;\DJ6X)C(8.[(Y!-7!_&TN%RT@NZ:/4%F3WG#M2!
M]41 XHVG:TD(611JHWQ(JD0E-SA42)"YHXU?;[_ZS]O''5*VJC0=NQ>;6]J
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
M=W+/'[?#[email protected](]U..-K0R60B4<:Y#B`$W=IQHW1M_GGVV%9AZR"XZO_?/\
MW=#M&X2J*XQDL$]I\KHQ'J4[!/XIP=T.<>!DN X1_YX^=A[:^:LX59AS=D<P
MDF[Z]5E.N/QP4)<986E>+@E+'UX8'X(&S;BY&"+O4C6L?9-]_P%V&(HER"
M4GEQK>Z<"WM6HNZ BN5^[NFWT]"U7L?+3JC_+1A??/)^V+4!X.TT%_<2BT$B
M-5WN?Y$_^WP!@&/)7^_SX?\]?Y/V?/<692]193:%\+79%"HPGF&QJ;!G\LD<
M)+),M,32ZW]=FQW#-#= O9$&79W-J[ZSUO9;Q64MZ&CEXQ__6-#=M_;(R']0
M2P,$"@``````;5$J+ ```````````````!4```!E>&%M<&QE<R]C;&%S<V5S
M+V1A;R]02P,$% ````@`&VPJ+',],^:G"P``<!P``"8```!E>&%M<&QE<R]C
M;&%S<V5S+V1A;R]296YE=U-T871U<RYC;&%S<Y58!WA;U17^KX8E*\][Q(EM
M8HAC9,D#`H20P8@=$X'MI-B$&M/"B_0L*Y$E5Y(33&E+VW1"]X1"*;34+:2M
M[1 /# 0Z0DOWWBUT[T7W`,YY]^D]+=MIOL]Z[]W[WW/^<^X9]^;)9Q]Z%':T
MB^T>E*&U&*7PN>#WT%B;&^W\[/#08">_G>/&N?RQF3_.8^SY_'.!"UM<N%#
M%@D)B(! <3*E)E+=:DH3*.\]J!Y6.R=2D6@GCVP7<&FQD)PLVA&)15(7"SB\
M@=;]].B*AVBXK#<2T_HGQ@YHB4'U0)1&*GOC036Z7TU$^-L8=*1&(TF!BMZ0
M&N^\2HMI1P92:FHB22K<J?A *A&)A06JO:V20E2-A3OE*"'L!R9&!.KRIG9-
MC(QH"0(H22TU8-E1Y<TUA G;#ZM1@H:SH)5IC9E&>TC<[K3=GG#FQT!\(A'4
M>B)L4\F^1#P5#\:C'2Q!00VV*BA'A4!M8:8,J1588[I\6Y."B[!-P48T\QOK
M;C(\SG,M/-R 1@65J%)0C2IR>(X':=LL;7L/'-2"*;+5RQ87J>/C)$V@S9OO
MUGQ/F^[,@DN1*\'K#H;B`UJ*>%V?P>MZCK :;]Z&4_ HV(&=')T431L*+\Z(
MRN9\&?G;J^!27,8B=TF1EZ\H<F.^R+PP4-"-W2RQ1Z"Q,$ECIQ3LD;H#$EE
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
M<S%M+-@\(OP8F.Z4M=/PF9Q0]$-Q1W04(/&/---,\Q4+V$TJ%Y!/O:_">@
MM3E.(-PV;:!'[email protected]/XD([&^[$FB4<I'6'3J+A?AVN1S'_8[T-8.N
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
M:TD1JU'G%U>(*UB)6"M07VNY(9"9L[CHAUBF@BGRE@&XR#<3/+-TL7O.(J
M1;0041JG^TFE$1.J0776#P^B34)LEA\EFBUC7G&-@C@&>)C.\PDD^6D;.63!
MRM8S171*H"[YS:$Y.^ 5.Q3TR[&=A0>3T,!@?(L6'^29[*%:DM+ZN#JD6N4E
M\&#]I&FPN?)-OM_U;IK4-7T-HJHO=HOK_&*7N)YVO4@\F:#MILX*0CTT!W1%
M'4RF:*>US$.O(O;@&3_*Q8VHI4-R.00.8!:*^%L/0.T\5.GM?"R@UL]70KVE
ML.@MY;W>4K#UED)-[5&^W^DMW>ZH]?)T0XAF0']KRWOKM+PM)P9TGJ/?A?26
M@(ML`X' *$1@`D7A,3A&X1R!:PP]U.$)!\:P8Q3>,5P?"([AAF&=[47T6TFZ
M@ (GYI W9:BCWP;J7:2/Z:CD<Q59XJ?%6$*MX"]/.=L.7:IY`L7A$K*A= 1+
M9XU@=F $<ZBY+EA:PF]CV#>"N7K'"$I/Y.R7DF60+W[RIHH0&ZC7M-UL6/23
MO66ZU[3-Y_S>0#(LY2[PR:_WUI%GRRQ8;M0;?KAS?C3D_&C1L0$7,8V:]-R&
MXXOT(.D".>4`@C;*^PJ55]@H._EKHJ$\-Z=,L\=.L' &(6.X5"=/8"=QR+WO
MN/XL<!BW&..U-.Z@MGP"9>%1'.EL#)[&;8W.T[B]\80A31=;0_I6HL#2B6J"
MBZZON0_%$[B#]%YU%C6/Z.+8*1O=;@W]-=+?QD#@4=P6J!['ZQUTB7$/Y][?
M[, YW'4:?K/K[=SE.0W?< Y;\G@'WFGP6$(LF$>E8_TQS H$:YI'\.ZC1:(F
M>.;!%Y\=-N3OSO'.&+S[I^'=8<-[G>1$O^YQW.O$<.[=/X[W6]]]X_@@O1<P
M_M"TC!^:Q/@C.&;(WTF3[*;VCN"3*+O7I!L\A[*N)K9*?P]Q_\/4_\A9.%8Y
MCZ&SL<+9S"ZN<E6X=+_66KSBXK*,_BX)$(";IN$8YO.CG\)_C!89/?HH[,?@
M..H4%<Y&8G8RR^QCN82K)C\XX>;("1O')XMH2F_/"I[ ,!D["<Y2@4=UE0YZ
M9N>O8HWSJ)":P7&,<3;<=@P+Q_!X9^-YE#1.X$RX]-PH/C6"SP4X%:6*-^"T
MV/@\GK:D+Y,I9[&GX!(G#%)?+D(V?;^"9V:2_H8I_<V9I;]C2G\7WYM"VG'<
MD/Y1$;++[L<S2__,E/[YS-*_,J5_/;/T[TSIW\\L_2=3^L^YR5]D2)=):>>P
M(?QL$;*3\_=<@:TUBGMYGC!-^[\=.>G#^ ^R5;!(WTR6&I6HJXFGOTFO1.?P
MW!IGTWSGHWB>TK8I&_W_Y>:JW.#EG<!SI/Q"5N)%`4-B(9'AO6(N@Q&V8URX
M.7&?'\Z)>@S1Q0:3"EV45YQAW)T3]_-_,*"P`I/$<6/X6JJ#<G@%K6..PG(9
M!5^@VBR M%0=^UBM>EP4N_3*:.BKV&_HMQ%MUE]-<K??3RN!%NP)4G3N,ZK3
MN)CCP#W&0, L4*+,R;7UA($8QAX#<:7!J($1[R5&0;/^ZL"L'AP7\US9VFQ
MW(B;;$B14VS;QZ1<-J1\)BG?N*AF4IXLJ5W8;4-*#U.0=X <*1>3\A&I1:[L
M[J!#5(G:7'(>)T#^]X#["=P5=I2)Q=UA9YE8TAUVE8FEW:?$,O<3XN*P`R=%
M(XU0L_$\?/1+%;E,7#TF6L.GQ$:0. VUZT/M^M 6.=0.PMCJ?MP;=I1X>\).
M^G.5^'M.B0Z2WZ[+;]?EKY7RVZE[V4FQ]:3H."FZC;0>$V')W,NG;Q091S+F
MO]Q8+Z6!,7'9B8X)L3(<'!%K1L7:LS+!J :MI];)YTFSR(H;=.TZHRY7!4;%
M36%*6D'+AUL'K2!JLDN"][4B-+T$4$L#!!0````(`!9L*BP2.8L#F 0``)X(
M```?````97AA;7!L97,O8VQA<W-E<R]D86\O=&5S="YC;&%S<X55V5<;51C_
M7;),F-RRA*4@+:65U@0*J;9NT-:%Q5)#0$)10*U#N(2AR0S.3$I0L:YUU_KH
M@^?X).?HB]9S6.0<??0<_Q/_"?6[,Z$)(=:7NWS[]_N^[]X___[U-_C0AZ]5
M#&%8P8B"417/X8I*Y#$5W;BJX'D5"8PK2(:A8"*,6DPJ>"&$*14<*;E,*[BF
MH@$S*E[$2U)L-H0Y*3DO+R\K>*46#^+5$*ZKM+\FB9J"A3".(AW&,2S60F!)
MGC(JEJ&K=%U1<$-!EB&2SFJVW;VHF=V3ENF8:9.(C8D5[:86SVI&)CXD^8,,
MP8NZH3N7&7S1V R#?\A<% SU"=T0R7QN05C3VD*6*)&$F=:R,YJERWN1Z'>6
M=9M!39"?N"-LAPSZ<YIN,+1&Y\N\I1Q+-S*#K@?-RI!.4Q4V0\UJCJ'3Y13B
M*XMF?%)8MFX[PDB+<<W0,L(BJ;!C:8:MI1W=)$]'R\2G2PR28ZL,=6YL^QA(
MHIM,266D0-9EX$QG:/:"RCMZ-C[F"$MS3.DPZ*')<#I:):DJJ/H*W>?VW52D
M>*I2/&DZHV;>6!PII,5J,7(U9>:MM!C5)<JU$ME^J:4@QV'@$D/7_QDA&$LB
M2=,5&A9+GI!EF98"DV,5KW,\!$LN489C]P->@<WA(,_04A5PCIM8XRA(0[P<
M=&JGU>*Q2Z;2=;[H<QUO4(%*B ]KCG C4? FQUO8X'@;MPZI7^!X!U&.=Z6G
MALI*<IS&&2^"_OT(."[B$L=[>)^*<KC"'!_@0X[;^$C!QQR?X%..S_"Y@B\X
MOL0MCJ]PAR&TW^1%IQZT$PLK(DVD^HJ","A+II74<E3 IA)O>MDRU[SA43/"
M&1>V3=A2XT5CU9JEI5J_T1#5R5BN#D^,$O2FM4Z"9.QPR:A/BG;O,TV1=-ZR
M"+CI\J%J/Z!W<*P""R(C1[R.?$X)0ZRE',W)RYDF)1E8&9'$ZRM(5!M;.'2V
M'%EPJ58V=9+DI9C3;HA[`3L56'BPNX+!M)G+Z2002&=-6\X+Q>7U`L.9:.6X
M#<Z59W9O^D-ZL1GDTQ6K_@PHRYJ=% 7'?2SG#K1!:IVBI+?+9^9EJ)Z^+F=
M-RA72V@Y^38:KO;!8A=3V6^3@TKD=%7>LH2W7Q1DFO[H6&P&)^E/Z 9 D<N&
MIY./SC0[M,;H%J>=T1[HV4;P9SK4H(?6H$L,H9=6[@G@+'UFH'^GWU4B998B
M8T&B_;B#4*)W%RK#^-E=A!GVP&<C1[91E^S;0OT>&F:WT;B%2&_?+IIJ/';S
M?[+)1@L#&6QE<$W?1=L?J(^T[^"!V5_0MHD@4?R[Z/!AP-].A^,,`X'VP"XZ
M&;Y!TUV<D)<NABV<W/SG+\^4;P>G2BE.H=E-SH\C"*,.C?3)=M :0P3GB#>
M%EQ!*R;0AFMHQSS]H-=Q'!OHI"?@!.X0MM_2_ATA_#UA_ /A*^&Z[$%"-AZF
MW8]-/(+S!%B8)"_@4?+>0;J/X7$";X/ ? )/DM1MTA[ (,$<DH]0L3I)DJFA
M/=*S`_938@^^V=XM^+<1^+U8E #Q#Y>LU=.B6)YR.9Q.3[N5?L;-_]E_`5!+
M`P04````" !M9BHL/#>.1E !```,!@``( ```&5X86UP;&5S+V-L87-S97,O
M9&%O+W!A8VMA9V4N:F1O[90_;X,P$,7W2OT.EG=*NY-&59NA4E4J0M4QNN!K
MY<38R!QI^/8U!A*&1/D[=@)L[O?>^9X<C=>Y8BNTI31ZQ!_N[OGX\?8F6@CC
M'HQ%!61+^$&F(<<1%V"X7W<[F8*R[-8_K"&3&<69%*A)4AU07;@-* HE,R!'
MYVT=8V:^P(RD"#QA6_PJ>K:CXYI0-Z:<.2V,#5HA(LZ66+L7F"OD; 6J:O23
M.(V?XS<>'D]0)EL&3K;*]8:CC<93&+Z#O9 -YENB$MU12<%9864.M@[:3FR%
MV\:/$!5 T&MNRU@O+S7-BGX>@UY"[V*?+5?13"65I*[JIN/.R(-WV=EAQJ+&
MWRD!5>5)7ERF+CV<]LO/=5?0DX&S<[(^J+\@[LGD??(U39_2S^E_XL]-?$E@
MZ07HJE8\="8:ZI%9=RH7F>B5W8\'=(>QCL+N8F\N^["][?\`4$L#!!0````(
M`.MK*BP#PTIZ4 (```$$```H````97AA;7!L97,O8VQA<W-E<R]D86\O4F5N
M97=3=&%T=7-)9"YC;&%S<W52RV[34! ]-[%C-Y@F]$4I%%J@X#R:\"B/OEBT
M$E*D0"6"*I6=D]PFKH)=$@<D5GP*&V#3!4@HE:B$6+'@HQ#GVE'ZB%!TQW//
MS)PY,S=__O[XB3@6L9Y$&K>4N6W 'B&6,9!-0D=.F;R!Q21,%%1&47EW3-PU
M<4^Y]Y59,O# P$.!F%L7$"6!Q)KKN<$3@;B=V1;0-OVZ%$B574\^[[ZNRO9+
MI]HB,E;V:TYKVVF[ZMX'M:#I=@3&RW7'+[Z0GGQ7"9R@VRG55\DLWW2=%L.3
M=GG/>>L46X[7*&Y5]V0M6,V\H@:_JGB'8@*Z'S1E6\!L.IUFI(CRJ-8,_$K0
M=KV&P(2=.5$:H2Q-5OQNNR:?NJ'H4YH**MW"!"8M/,)C@0M#LBV,89R!8^*2
M%\B&;*NR90MSF!>8.MMVH[N[.TBYCAL65D IL94YZG;KZ^J^%D8$TF?'Y20A
MY/K%BN1V6^[[:+EF0P:;+:>C%GQJUA DOV:7U),EG/U]Z?$Y\_;P0H9W%(EE
M^666_R^*>?ZWTN F>(1:"@"-'I='.\5;,8P`>O80XAN=&"[2)D(PB6E:*TK
M)<SPRXZXTB_^P.PXOX5L[C-T[2#W&Z/9'F(YGD_0XP>Y7X@_RWZ'EN?Y"$/[
M`BU^,.@RPSZ@I[./0?XI(M-DG^5/=9Z+V'F[&FHH]#7,<J!K]&)$^99]-<O,
M5EFI(^@[JNDA$CT8Q^VBH;(GADH-AN*K]FFV^C0+1S!WTO8A1KB:9 _GQBQE
MSM,H\AY&>TA]/4.^=()\84!^,\Q:^ =02P,$% ````@`ZVLJ+/TRZ*).`@``
M^ ,``"4```!E>&%M<&QE<R]C;&%S<V5S+V1A;R]0<F]T;V-O;$ED+F-L87-S
M=5)+;Q)1&#T79I@IC@7IPUJM4A4=H 4?]=&7"YN8D* UP32INP&F,,W(U.G@
MPI4_Q8VZ8:&)H8E-C"L7_BCCN3,$:!M#[C??_1[G.]^Y_/G[XR?B6,9F$FG<
MDN:V!G."L;R&0A(JBM(L:5A.0D=)5I2E=T?'71WWI'M?FA4-#S0\%(@Y30%1
M$4AL.!TG>"(0-_,[`LJ6U[0%4E6G8[_HOJG;_BNK[C*2J7H-R]VQ?$?>!T$E
M:#N'`NEJT_+WTO\!J>6VFN$]9^V[5<YF;,ZK[USBJ[5J=5WJ[OVXU@/?^:
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
M)$X1>#(;^C"(ON:_C=N7Q.V<-E?$P5L2)J)(KP";+(AWU1$HT;VIDGL<NS
MN"I+4_AG*DE+$WM;[DBL1D9()6SWI2J-8QK.^*=WF,\WM3#YAB6YML7);Z:T
M*C>Z<&J#IR) UQN/,L'EP$>EKA51*"PA*1USQ+4F-;>W#9'!&;,?9MZ4A3#:
M:#SQJ848L>B=F&5:F$0Y$D$W]@E/-YF.30(B::%RB)%N,J,R&VNF$:FQCM<M
M41*RJ/(%;)Z\5F?'ZOQ8_>,XBB(U#WZIZ<:ET1Y<<:<C4N728L66<+O"ZX^*
MY5=J-!T/YV,U'UY<C=6WA<[-=^KF6MT.D>+S"?[Z5KA^!U9\9;[NJ*IB6Q5>
MK37["LQ=M=EDJ4GX;'-L1*<&Y\W]1DMEE\KT]<PKYWN4Z :BGIRJLZW>D:H]
M=RF2VO4YG@V2UU]OC"?#-%^>#^+77R.S-@<'GZ -
I am having a problem with enhancing a .class for JDO
Hi
i am having a rpoblem with JDO . please help me for this.
Buildfile: build.xml
compile:
xdoclet:
[ojbdoclet] May 26, 2005 11:08:55 AM xdoclet.XDocletMain start
[ojbdoclet] INFO: Running <ojbrepository/>
[ojbdoclet] May 26, 2005 11:08:56 AM xdoclet.XDocletMain start
[ojbdoclet] INFO: Running <torqueschema/>
build:
build_if_with_mainclass:
enhance-jdori:
[java] Enhancer: options:
[java] verbose = true
[java] quiet = false
[java] forceWrite = true
[java] noWrite = false
[java] sourcePath = null
[java] destinationDirectory = build/classes
[java] propertiesFileName = null
[java] doTiming = false
[java] classNames = {
[java] }
[java] jdoFileNames = {
[java] src/java/org/apache/ojb/tutorial5/Product.jdo
[java] }
[java] classFileNames = {
[java] build/org/apache/ojb/tutorial5/Product.class
[java] }
[java] zipFileNames = {
[java] }
[java] dumpClass = false
[java] noAugment = false
[java] noAnnotate = false
[java] JDO ENHANCER: using file: file:/D:/ojb-blank/ojb-blank/build/org/ap
che/ojb/tutorial5/Product.class
[java] Class Locator: using class files: {
[java] build/org/apache/ojb/tutorial5/Product.class
[java] }
[java] JDO ENHANCER: using file: file:/D:/ojb-blank/ojb-blank/src/java/org
apache/ojb/tutorial5/Product.jdo
[java] -------------------------------------------------------------------
[java] JDO ENHANCER: Enhancer: enhancing classfile ...
[java] JDO ENHANCER: scanning class org.apache.ojb.tutorial5.Product
[java] JDO ENHANCER: not found resource: META-INF/package.jdo
[java] JDO ENHANCER: not found resource: WEB-INF/package.jdo
[java] JDO ENHANCER: not found resource: package.jdo
[java] JDO ENHANCER: not found resource: org/package.jdo
[java] JDO ENHANCER: not found resource: org/apache/package.jdo
[java] JDO ENHANCER: not found resource: org/apache/ojb/package.jdo
[java] JDO ENHANCER: not found resource: org/apache/ojb/tutorial5/package.
do
[java] JDO ENHANCER: found resource: org/apache/ojb/tutorial5/Product.jdo
[java] com.sun.jdori.enhancer.util.InternalError: assertion failed: cannot
find class file for class: org/apache/ojb/tutorial5/Product
[java] at com.sun.jdori.enhancer.util.Assertion.affirm(Unknown Source)
[java] at com.sun.jdori.enhancer.meta.model.EnhancerMetaDataJDOModelIm
l.declareField(Unknown Source)
[java] at com.sun.jdori.enhancer.core.Analyzer.scanFields(Unknown Sour
e)
[java] at com.sun.jdori.enhancer.core.Analyzer.scan(Unknown Source)
[java] at com.sun.jdori.enhancer.core.Controller.scan(Unknown Source)
[java] at com.sun.jdori.enhancer.core.Controller.enhanceClass(Unknown
ource)
[java] at com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile1(Unk
own Source)
[java] at com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile(Unkn
wn Source)
[java] at com.sun.jdori.enhancer.Main.enhanceClassFile(Unknown Source)
[java] at com.sun.jdori.enhancer.Main.enhanceInputFiles(Unknown Source
[java] at com.sun.jdori.enhancer.Main.process(Unknown Source)
[java] at com.sun.jdori.enhancer.Main.main(Unknown Source)
[java] Fatal error while enhancing: JDO ENHANCER: An internal error occurr
d while enhancing input class; detailed message: assertion failed: cannot find
lass file for class: org/apache/ojb/tutorial5/Product
[java] com.sun.jdori.enhancer.EnhancerFatalError: JDO ENHANCER: An interna
error occurred while enhancing input class; detailed message: assertion failed
cannot find class file for class: org/apache/ojb/tutorial5/Product
[java] at com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile(Unkn
wn Source)
[java] at com.sun.jdori.enhancer.Main.enhanceClassFile(Unknown Source)
[java] at com.sun.jdori.enhancer.Main.enhanceInputFiles(Unknown Source
[java] at com.sun.jdori.enhancer.Main.process(Unknown Source)
[java] at com.sun.jdori.enhancer.Main.main(Unknown Source)
[java] aborted with errors.
BUILD FAILED
D:\ojb-blank\ojb-blank\build.xml:226: Java returned: 1
Please help me asap
bye
Rahul S
Senior Software Eng.
Lionbridge Tech Pvt Ltd.Thanks for the suggestion. I have my iphone in an Otter Box and am not aware of getting any water in the phone. I tried cleaning out the docking opening with a toothbrush, no help. I will take your suggestion about going to Apple. Thanks again
-
Where: vertical-mapping JDO meta-data examples
Looking for package.jdo examples that describe a vertical mapping
scenarioIn article <bu9h3e$g3h$[email protected]>, Kevin J Citron wrote:
>
Looking for package.jdo examples that describe a vertical mapping
scenariohttp://docs.solarmetric.com/manual.html#vertical
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Class Enhancement without a .jdo file
Is it possible to do a byte code enhancement using the KODO APIs passing in
a data structure containing the .jdo metadata file information without
having to explicitly create a .jdo file?
I'm looking at using the enhance() method of JDOEnhancer class and it looks
like I have to have a .jdo file on disk. Is there any way to avoid it?
In my enviornment I read information from a master metadata file, use that
to generate Java code, invoke the compiler on it and now I'd like to invoke
the enhancer on the class files - i'd like to do all this one shot. Since I
have all the information needed in memory, I don't want to create a .jdo
file and have the enhancer read that file.
Thanks
VijayVijay-
You do always need the .jdo metadata file for your classes; the JDO
specification requires it. Note, though, that you could just have a
single top-level package.jdo file that holds the metadata for all your
classes, so that you would only need to create a single file.
Technically, I suppose you could use a custom ClassLoader that overrides
getResourceAsStream() (since this is the way we locate .jdo metadata
files for classes), and return a textual stream of the contents of the
..jdo metadata. It might work, but we advise against it, since using
custom ClassLoaders can introduce very tricky problems that are
difficult to debug.
In article <bju9ua$ops$[email protected]>, Vijay Ganesan wrote:
>
Is it possible to do a byte code enhancement using the KODO APIs passing in
a data structure containing the .jdo metadata file information without
having to explicitly create a .jdo file?
I'm looking at using the enhance() method of JDOEnhancer class and it looks
like I have to have a .jdo file on disk. Is there any way to avoid it?
In my enviornment I read information from a master metadata file, use that
to generate Java code, invoke the compiler on it and now I'd like to invoke
the enhancer on the class files - i'd like to do all this one shot. Since I
have all the information needed in memory, I don't want to create a .jdo
file and have the enhancer read that file.
Thanks
Vijay--
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Trouble running mappingtool on Kodo-jdo 3.0.2
Hi
I was trying to run the Kodo tutorial. I was able to run jdoc
properties.jdo, but I am having trouble running mappingtool. I am having
trouble getting Oracle to work properly. Here is the output:
C:\kodoanimals\test\tutorial>mappingtool -action refresh package.jdo
Exception in thread "main" kodo.util.FatalDataStoreException:
oracle.jdbc.driver.OracleDriver
NestedThrowables:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at
kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:42)
at
kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:24)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:97)
at
kodo.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:880)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:798)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:886)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource2(JDBCConfigurationImpl.java:895)
at kodo.jdbc.schema.SchemaTool.<init>(SchemaTool.java:67)
at kodo.jdbc.meta.MappingTool.newSchemaTool(MappingTool.java:243)
at kodo.jdbc.meta.MappingTool.getSchemaTool(MappingTool.java:233)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:864)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:816)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:749)
Caused by: java.lang.ClassNotFoundException:
oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:55)
... 10 more
NestedThrowablesStackTrace:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:55)
at
kodo.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:880)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:798)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:886)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource2(JDBCConfigurationImpl.java:895)
at kodo.jdbc.schema.SchemaTool.<init>(SchemaTool.java:67)
at kodo.jdbc.meta.MappingTool.newSchemaTool(MappingTool.java:243)
at kodo.jdbc.meta.MappingTool.getSchemaTool(MappingTool.java:233)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:864)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:816)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:749)
Here is what my kodo.properties file looks like (located at
c:\kodo-jdo-3.0.2 directory)
kodo.LicenseKey: xxxx
javax.jdo.PersistenceManagerFactoryClass:com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
#javax.jdo.PersistenceManagerFactoryClass:kodo.jdbc.runtime.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionDriverName:oracle.jdbc.driver.OracleDriver
javax.jdo.option.ConnectionUserName:teckusr04
javax.jdo.option.ConnectionPassword:teckusr04
javax.jdo.option.ConnectionURL:jdbc:oracle:thin:casrvta6861dt11:1521:casrvta6
javax.jdo.option.Optimistic:true
javax.jdo.option.RetainValues:true
javax.jdo.option.NontransactionalRead:true
I have set my path to include both jre1.4, as well as the kodo\bin
directory. My classpath is shown here
C:\j2sdk1.4.2_03\bin;C:\j2sdk1.4.2_03\lib;C:\j2sdk1.4.2_03\jre\lib;C:\kodo-jdo-3.0.2;C:\kodo-jdo-3.0.2\lib;C:\oracle\ora92\jdbc\lib;.;
I suspect my error is either from my classpath or my kodo.properties file.
Is there any other reason that I am getting this error?
Thanks
JoeYou should add your classes12.jar to your classpath. If you are using
Kodo's scripts, you should edit bin/jdocmd.bat to include your library.
Joe DeVilla wrote:
>
Hi
I was trying to run the Kodo tutorial. I was able to run jdoc
properties.jdo, but I am having trouble running mappingtool. I am having
trouble getting Oracle to work properly. Here is the output:
C:\kodoanimals\test\tutorial>mappingtool -action refresh package.jdo
Exception in thread "main" kodo.util.FatalDataStoreException:
oracle.jdbc.driver.OracleDriver
NestedThrowables:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at
kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:42)
at
kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:24)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:97)
at
kodo.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:880)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:798)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:886)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource2(JDBCConfigurationImpl.java:895)
at kodo.jdbc.schema.SchemaTool.<init>(SchemaTool.java:67)
at kodo.jdbc.meta.MappingTool.newSchemaTool(MappingTool.java:243)
at kodo.jdbc.meta.MappingTool.getSchemaTool(MappingTool.java:233)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:864)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:816)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:749)
Caused by: java.lang.ClassNotFoundException:
oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:55)
... 10 more
NestedThrowablesStackTrace:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
kodo.jdbc.schema.DataSourceFactory.createDataSource(DataSourceFactory.java:55)
at
kodo.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:880)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:798)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource(JDBCConfigurationImpl.java:886)
at
kodo.jdbc.conf.JDBCConfigurationImpl.getDataSource2(JDBCConfigurationImpl.java:895)
at kodo.jdbc.schema.SchemaTool.<init>(SchemaTool.java:67)
at kodo.jdbc.meta.MappingTool.newSchemaTool(MappingTool.java:243)
at kodo.jdbc.meta.MappingTool.getSchemaTool(MappingTool.java:233)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:864)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:816)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:749)
Here is what my kodo.properties file looks like (located at
c:\kodo-jdo-3.0.2 directory)
kodo.LicenseKey: xxxx
javax.jdo.PersistenceManagerFactoryClass:com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
#javax.jdo.PersistenceManagerFactoryClass:kodo.jdbc.runtime.JDBCPersistenceManagerFactory
javax.jdo.option.ConnectionDriverName:oracle.jdbc.driver.OracleDriver
javax.jdo.option.ConnectionUserName:teckusr04
javax.jdo.option.ConnectionPassword:teckusr04
javax.jdo.option.ConnectionURL:jdbc:oracle:thin:casrvta6861dt11:1521:casrvta6
javax.jdo.option.Optimistic:true
javax.jdo.option.RetainValues:true
javax.jdo.option.NontransactionalRead:true
I have set my path to include both jre1.4, as well as the kodo\bin
directory. My classpath is shown here
C:\j2sdk1.4.2_03\bin;C:\j2sdk1.4.2_03\lib;C:\j2sdk1.4.2_03\jre\lib;C:\kodo-jdo-3.0.2;C:\kodo-jdo-3.0.2\lib;C:\oracle\ora92\jdbc\lib;.;
I suspect my error is either from my classpath or my kodo.properties file.
Is there any other reason that I am getting this error?
Thanks
Joe
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Inheritance in Kodo JDO 3.1.0
Hi
I am implementing inheritance in 2 classes and buys battling with it.
I resorted to using the examples from the Kodo documentation and it is
still not working.
I am following the example in the documentation by the letter and no
success. The subclass Tabloid is never generated. When I look at the
generated mapping file - the following is generated.
<mapping>
<package name="biz.lautus.pfa.domain.test.kodo.vertical">
<class name="Magazine">
<jdbc-class-map type="base" pk-column="JDOID"
table="MAGAZINE"/>
<jdbc-version-ind type="version-number" column="JDOVERSION"/>
<jdbc-class-ind type="in-class-name" column="JDOCLASS"/>
<field name="title">
<jdbc-field-map type="value" column="TITLE"/>
</field>
</class>
<class name="Tabloid">
<jdbc-class-map type="flat"/>
<field name="tabloidType">
<jdbc-field-map type="value" column="TABLOIDTYPE"/>
</field>
</class>
</package>
</mapping>
What I am doing wrong?
Must I only specify a jdo file or must a start to modify mapping files as
well?
Any help will be greatly appreciated
My output from kodo.log is also at the bottom of the message...
Here is the Java source and the jdo file.
Magazine.java
package biz.lautus.pfa.domain.test.kodo.vertical;
public class Magazine
private String title;
Tabloid.java
package biz.lautus.pfa.domain.test.kodo.vertical;
public class Tabloid extends Magazine
private String tabloidType;
package.jdo
<?xml version="1.0"?>
<jdo>
<package name="biz.lautus.pfa.domain.test.kodo.vertical">
<class name="Magazine">
<extension vendor-name="kodo" key="jdbc-class-map" value="vertical">
<extension vendor-name="kodo" key="table" value="MAGAZINE"/>
<extension vendor-name="kodo" key="pk-column" value="JDOID"/>
</extension>
</class>
<class name="Tabloid" persistence-capable-superclass="Magazine">
<extension vendor-name="kodo" key="jdbc-class-map" value="vertical">
<extension vendor-name="kodo" key="table" value="TABLOID"/>
<extension vendor-name="kodo" key="ref-column.JDOID"
value="MAG_ID"/>
</extension>
</class>
</package>
</jdo>
output from kodo.log
348 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Magazine" with action "refresh".
492 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Tabloid" with action "refresh".
497 INFO [main] kodo.Tool - Recording mapping and schema changes.
618 TRACE [main] kodo.jdbc.SQL - <t 22996593, conn 18434638> [106 ms]
executing stmnt 25609906 CREATE TABLE MAGAZINE (JDOCLASS VARCHAR(255),
JDOID int8 NOT NULL, JDOVERSION int4, TABLOIDTYPE VARCHAR(255), TITLE
VARCHAR(255), CONSTRAINT P_MAGAZINE PRIMARY KEY (JDOID))
622 TRACE [main] kodo.jdbc.SQL - <t 22996593, conn 18434638> [4 ms]
executing stmnt 14651230 CREATE INDEX I_MGAZINE_JDOCLASS ON MAGAZINE
(JDOCLASS)
626 TRACE [main] kodo.jdbc.SQL - <t 22996593, conn 18434638> [3 ms]
executing stmnt 20812788 CREATE INDEX I_MGAZINE_JDOVERSION ON MAGAZINE
(JDOVERSION)
638 TRACE [main] kodo.jdbc.SQL - <t 22996593, conn 18434638> [7 ms]
executing stmnt 29140465 CREATE TABLE JDO_SEQUENCE (ID SMALLINT NOT NULL,
SEQUENCE_VALUE int8, PRIMARY KEY (ID))
350 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Magazine" with action "drop".
449 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Tabloid" with action "drop".
449 INFO [main] kodo.Tool - Recording mapping and schema changes.
348 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Magazine" with action "refresh".
489 INFO [main] kodo.Tool - Mapping tool running on type "class
biz.lautus.pfa.domain.test.kodo.vertical.Tabloid" with action "refresh".
495 INFO [main] kodo.Tool - Recording mapping and schema changes.Rudi-
What examples can you give me today? Any example of either horizontal or
vertical subclass mapping will work for me. I just do not want to use flat.Following are the mapping files for the samples we will include in the
next 3.2 beta. They are completely unsupported (until, at least, 3.2
final is released), but they may help you get on the right track.
Note that they are using the .mapping file format, not the .jdo metadata
format for mappings: you will need to either convert them to the .jdo
mapping format, or else switch to using the "file" MappingFactory. The
different mappings represent an identical object model, just using
different inheritance strategies.
Sample using Flat Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<package name="samples.models.school.flat">
<class name="FlatAddress">
<jdbc-class-map type="base" pk-column="PK" table="SCF_ADDRESS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="metadata-value" column="ADDRESS_TYPE"/>
<field name="city">
<jdbc-field-map type="value" column="CITY"/>
</field>
<field name="phone">
<jdbc-field-map type="value" column="PHONE"/>
</field>
<field name="state">
<jdbc-field-map type="value" column="STATE"/>
</field>
<field name="street">
<jdbc-field-map type="value" column="STREET"/>
</field>
<field name="zip">
<jdbc-field-map type="value" column="ZIP"/>
</field>
</class>
<class name="FlatAdmin">
<jdbc-class-map type="flat"/>
<field name="certifications">
<jdbc-field-map type="collection"
element-column="ELEMENT" ref-column.PK="PK"
table="SCF_PERS_CERTS"/>
</field>
</class>
<class name="FlatCourse">
<jdbc-class-map type="base" pk-column="PK" table="SCF_COURSE"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="details">
<jdbc-field-map type="value" column="DETAILS"/>
</field>
<field name="name">
<jdbc-field-map type="value" column="NAME0"/>
</field>
<field name="shortDescription">
<jdbc-field-map type="value" column="SHORTDESCRIPTION"/>
</field>
</class>
<class name="FlatEmployee">
<jdbc-class-map type="flat"/>
<field name="hireDate">
<jdbc-field-map type="value" column="HIREDATE"/>
</field>
<field name="jobTitle">
<jdbc-field-map type="value" column="JOBTITLE"/>
</field>
<field name="manager">
<jdbc-field-map type="one-one" column.PK="MANAGER_PK"/>
</field>
<field name="office">
<jdbc-field-map type="value" column="OFFICE"/>
</field>
<field name="salary">
<jdbc-field-map type="value" column="SALARY"/>
</field>
</class>
<class name="FlatHomeAddress">
<jdbc-class-map type="flat"/>
<field name="emailAddress">
<jdbc-field-map type="value" column="EMAILADDRESS"/>
</field>
</class>
<class name="FlatParent">
<jdbc-class-map type="flat"/>
<field name="children">
<jdbc-field-map type="many-many"
element-column.PK="CHILDREN_PK"
ref-column.PK="PARENT_PK"
table="SCF_PARENTHOOD"/>
</field>
<field name="workAddress">
<jdbc-field-map type="one-one" column.PK="WORK_ADDRESS_ID"/>
</field>
</class>
<class name="FlatPerson">
<jdbc-class-map type="base" pk-column="PK" table="SCF_PERSON"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="metadata-value" column="PERSON_TYPE"/>
<field name="dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
</class>
<class name="FlatScheduledClass">
<jdbc-class-map type="base" pk-column="PK" table="SCF_SCH_CLASS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="course">
<jdbc-field-map type="one-one" column.PK="COURSE_PK"/>
</field>
<field name="students">
<jdbc-field-map type="many-many"
element-column.PK="STUDENTS_PK" ref-column.PK="PK"
table="SCF_SCH_STUDENTS"/>
</field>
<field name="teacher">
<jdbc-field-map type="one-one" column.PK="TEACHER_PK"/>
</field>
<field name="classPeriod">
<jdbc-field-map type="value" column="PERIOD"/>
</field>
</class>
<class name="FlatStaff">
<jdbc-class-map type="flat"/>
<field name="hrContact">
<jdbc-field-map type="one-one" column.PK="HRCONTACT_PK"/>
</field>
</class>
<class name="FlatStudent">
<jdbc-class-map type="flat"/>
<field name="grade">
<jdbc-field-map type="value" column="GRADE"/>
</field>
<field name="parents">
<jdbc-field-map type="many-many"
element-column.PK="PARENT_PK"
ref-column.PK="CHILDREN_PK"
table="SCF_PARENTHOOD"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHCLASS_PK" ref-column.PK="PK"
table="SCF_PERS_SCHED"/>
</field>
</class>
<class name="FlatTeacher">
<jdbc-class-map type="flat"/>
<field name="degree">
<jdbc-field-map type="value" column="DEGREE"/>
</field>
<field name="qualifiedCourses">
<jdbc-field-map type="many-many"
element-column.PK="QUALCOURSES_PK" ref-column.PK="PK"
table="SCF_PERS_QUALIFS"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHEDCLASS_PK" ref-column.PK="PK"
table="SCF_PERS_SCHED"/>
</field>
</class>
<class name="FlatWorkAddress">
<jdbc-class-map type="flat"/>
<field name="company">
<jdbc-field-map type="value" column="COMPANY"/>
</field>
<field name="mailStop">
<jdbc-field-map type="value" column="MAILSTOP"/>
</field>
</class>
</package>
</mapping>
Sample using Vertical Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<package name="samples.models.school.vertical">
<class name="VerticalAddress">
<jdbc-class-map type="base" pk-column="PK" table="SCV_ADDRESS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="metadata-value" column="ADDRESS_TYPE"/>
<field name="city">
<jdbc-field-map type="value" column="CITY"/>
</field>
<field name="phone">
<jdbc-field-map type="value" column="PHONE"/>
</field>
<field name="state">
<jdbc-field-map type="value" column="STATE"/>
</field>
<field name="street">
<jdbc-field-map type="value" column="STREET"/>
</field>
<field name="zip">
<jdbc-field-map type="value" column="ZIP"/>
</field>
</class>
<class name="VerticalAdmin">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_ADMIN"/>
<field name="certifications">
<jdbc-field-map type="collection" element-column="ELEMENT"
ref-column.PK="PK" table="SCV_CERTIFICATIONS"/>
</field>
</class>
<class name="VerticalCourse">
<jdbc-class-map type="base" pk-column="PK" table="SCV_COURSE"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="details">
<jdbc-field-map type="value" column="DETAILS"/>
</field>
<field name="name">
<jdbc-field-map type="value" column="NAME0"/>
</field>
<field name="shortDescription">
<jdbc-field-map type="value" column="SHORTDESCRIPTION"/>
</field>
</class>
<class name="VerticalEmployee">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_EMPLOYEE"/>
<field name="hireDate">
<jdbc-field-map type="value" column="HIREDATE"/>
</field>
<field name="jobTitle">
<jdbc-field-map type="value" column="JOBTITLE"/>
</field>
<field name="manager">
<jdbc-field-map type="one-one" column.PK="MANAGER_PK"/>
</field>
<field name="office">
<jdbc-field-map type="value" column="OFFICE"/>
</field>
<field name="salary">
<jdbc-field-map type="value" column="SALARY"/>
</field>
</class>
<class name="VerticalHomeAddress">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_HOMEADDRESS"/>
<field name="emailAddress">
<jdbc-field-map type="value" column="EMAILADDRESS"/>
</field>
</class>
<class name="VerticalParent">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_PARENT"/>
<field name="children">
<jdbc-field-map type="many-many"
element-column.PK="CHILDREN_PK"
ref-column.PK="PARENT_PK"
table="SCV_PARENTHOOD"/>
</field>
<field name="workAddress">
<jdbc-field-map type="one-one" column.PK="WORKADDRESS_PK"/>
</field>
</class>
<class name="VerticalPerson">
<jdbc-class-map type="base" pk-column="PK" table="SCV_PERSON"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="metadata-value" column="PERSON_TYPE"/>
<field name="dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
</class>
<class name="VerticalScheduledClass">
<jdbc-class-map type="base" pk-column="PK"
table="SCV_SCHEDULEDCLASS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="classPeriod">
<jdbc-field-map type="value" column="CLASSPERIOD"/>
</field>
<field name="course">
<jdbc-field-map type="one-one" column.PK="COURSE_PK"/>
</field>
<field name="students">
<jdbc-field-map type="many-many"
element-column.PK="STUDENTS_PK" ref-column.PK="PK"
table="SCV_STUDENTS"/>
</field>
<field name="teacher">
<jdbc-field-map type="one-one" column.PK="TEACHER_PK"/>
</field>
</class>
<class name="VerticalStaff">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_STAFF"/>
<field name="hrContact">
<jdbc-field-map type="one-one" column.PK="HRCONTACT_PK"/>
</field>
</class>
<class name="VerticalStudent">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_STUDENT"/>
<field name="grade">
<jdbc-field-map type="value" column="GRADE"/>
</field>
<field name="parents">
<jdbc-field-map type="many-many"
element-column.PK="PARENT_PK"
ref-column.PK="CHILDREN_PK"
table="SCV_PARENTHOOD"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHEDULEDCLASSES_PK"
ref-column.PK="PK" table="SCV_SCHEDULEDCLASSES"/>
</field>
</class>
<class name="VerticalTeacher">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_TEACHER"/>
<field name="degree">
<jdbc-field-map type="value" column="DEGREE"/>
</field>
<field name="qualifiedCourses">
<jdbc-field-map type="many-many"
element-column.PK="QUALIFIEDCOURSES_PK"
ref-column.PK="PK" table="SCV_QUALIFIEDCOURSES"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHEDULEDCLASSES_PK"
ref-column.PK="PK" table="SCV_TEACHER_CLASSES"/>
</field>
</class>
<class name="VerticalWorkAddress">
<jdbc-class-map type="vertical" ref-column.PK="PK"
table="SCV_WORKADDRESS"/>
<field name="company">
<jdbc-field-map type="value" column="COMPANY"/>
</field>
<field name="mailStop">
<jdbc-field-map type="value" column="MAILSTOP"/>
</field>
</class>
</package>
</mapping>
Sample using Horizontal Mapping:
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<package name="samples.models.school.horizontal">
<class name="HorizontalAddress">
<jdbc-class-map type="horizontal"/>
</class>
<class name="HorizontalAdmin">
<jdbc-class-map type="base" pk-column="PK" table="SCH_ADMIN"/>
<jdbc-version-ind type="state-image"/>
<field name="certifications">
<jdbc-field-map type="collection"
element-column="ELEMENT" ref-column.PK="PK"
table="SCH_ADMIN_CERTS"/>
</field>
<field name="HorizontalPerson.dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="HorizontalPerson.firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="HorizontalPerson.homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="HorizontalPerson.lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="HorizontalPerson.status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
<field name="HorizontalEmployee.hireDate">
<jdbc-field-map type="value" column="HIREDATE"/>
</field>
<field name="HorizontalEmployee.jobTitle">
<jdbc-field-map type="value" column="JOBTITLE"/>
</field>
<field name="HorizontalEmployee.manager">
<jdbc-field-map type="pc" column="MANAGER"/>
</field>
<field name="HorizontalEmployee.office">
<jdbc-field-map type="value" column="OFFICE"/>
</field>
<field name="HorizontalEmployee.salary">
<jdbc-field-map type="value" column="SALARY"/>
</field>
</class>
<class name="HorizontalCourse">
<jdbc-class-map type="base" pk-column="PK" table="SCH_COURSE"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="details">
<jdbc-field-map type="value" column="DETAILS"/>
</field>
<field name="name">
<jdbc-field-map type="value" column="NAME0"/>
</field>
<field name="shortDescription">
<jdbc-field-map type="value" column="SHORTDESCRIPTION"/>
</field>
</class>
<class name="HorizontalEmployee">
<jdbc-class-map type="horizontal"/>
</class>
<class name="HorizontalHomeAddress">
<jdbc-class-map type="base" pk-column="PK" table="SCH_HOMEADDRESS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="emailAddress">
<jdbc-field-map type="value" column="EMAILADDRESS"/>
</field>
<field name="HorizontalAddress.city">
<jdbc-field-map type="value" column="CITY"/>
</field>
<field name="HorizontalAddress.phone">
<jdbc-field-map type="value" column="PHONE"/>
</field>
<field name="HorizontalAddress.state">
<jdbc-field-map type="value" column="STATE"/>
</field>
<field name="HorizontalAddress.street">
<jdbc-field-map type="value" column="STREET"/>
</field>
<field name="HorizontalAddress.zip">
<jdbc-field-map type="value" column="ZIP"/>
</field>
</class>
<class name="HorizontalParent">
<jdbc-class-map type="base" pk-column="PK" table="SCH_PARENT"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="children">
<jdbc-field-map type="many-many"
element-column.PK="CHILDREN_PK"
ref-column.PK="PARENT_PK"
table="SCH_PARENTHOOD"/>
</field>
<field name="HorizontalPerson.dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="HorizontalPerson.firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="HorizontalPerson.homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="HorizontalPerson.lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="HorizontalPerson.status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
<field name="workAddress">
<jdbc-field-map type="one-one" column.PK="WORKADDRESS_PK"/>
</field>
</class>
<class name="HorizontalPerson">
<jdbc-class-map type="horizontal"/>
</class>
<class name="HorizontalScheduledClass">
<jdbc-class-map type="base" pk-column="PK"
table="SCH_SCHEDULEDCLASS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="classPeriod">
<jdbc-field-map type="value" column="CLASSPERIOD"/>
</field>
<field name="course">
<jdbc-field-map type="one-one" column.PK="COURSE_PK"/>
</field>
<field name="students">
<jdbc-field-map type="many-many"
element-column.PK="STUDENTS_PK" ref-column.PK="PK"
table="SCH_CLASS_STUDENT"/>
</field>
<field name="teacher">
<jdbc-field-map type="one-one" column.PK="TEACHER_PK"/>
</field>
</class>
<class name="HorizontalStaff">
<jdbc-class-map type="base" pk-column="PK" table="SCH_STAFF"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="hrContact">
<jdbc-field-map type="one-one" column.PK="HRCONTACT_PK"/>
</field>
<field name="HorizontalEmployee.hireDate">
<jdbc-field-map type="value" column="HIREDATE"/>
</field>
<field name="HorizontalEmployee.jobTitle">
<jdbc-field-map type="value" column="JOBTITLE"/>
</field>
<field name="HorizontalEmployee.manager">
<jdbc-field-map type="pc" column="MANAGER"/>
</field>
<field name="HorizontalEmployee.office">
<jdbc-field-map type="value" column="OFFICE"/>
</field>
<field name="HorizontalEmployee.salary">
<jdbc-field-map type="value" column="SALARY"/>
</field>
<field name="HorizontalPerson.dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="HorizontalPerson.firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="HorizontalPerson.homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="HorizontalPerson.lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="HorizontalPerson.status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
</class>
<class name="HorizontalStudent">
<jdbc-class-map type="base" pk-column="PK" table="SCH_STUDENT"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="grade">
<jdbc-field-map type="value" column="GRADE"/>
</field>
<field name="parents">
<jdbc-field-map type="many-many"
element-column.PK="PARENT_PK"
ref-column.PK="CHILDREN_PK"
table="SCH_PARENTHOOD"/>
</field>
<field name="HorizontalPerson.dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="HorizontalPerson.firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="HorizontalPerson.homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="HorizontalPerson.lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="HorizontalPerson.status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHEDULEDCLASSES_PK" ref-column.PK="PK"
table="SCH_SCHEDULEDCLASSES"/>
</field>
</class>
<class name="HorizontalTeacher">
<jdbc-class-map type="base" pk-column="PK" table="SCH_TEACHER"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="degree">
<jdbc-field-map type="value" column="DEGREE"/>
</field>
<field name="qualifiedCourses">
<jdbc-field-map type="many-many"
element-column.PK="QUALIFIEDCOURSES_PK"
ref-column.PK="PK" table="SCH_TEACHER_QUALS"/>
</field>
<field name="HorizontalEmployee.hireDate">
<jdbc-field-map type="value" column="HIREDATE"/>
</field>
<field name="HorizontalEmployee.jobTitle">
<jdbc-field-map type="value" column="JOBTITLE"/>
</field>
<field name="HorizontalEmployee.manager">
<jdbc-field-map type="pc" column="MANAGER"/>
</field>
<field name="HorizontalEmployee.office">
<jdbc-field-map type="value" column="OFFICE"/>
</field>
<field name="HorizontalEmployee.salary">
<jdbc-field-map type="value" column="SALARY"/>
</field>
<field name="HorizontalPerson.dateOfBirth">
<jdbc-field-map type="value" column="DATEOFBIRTH"/>
</field>
<field name="HorizontalPerson.firstName">
<jdbc-field-map type="value" column="FIRSTNAME"/>
</field>
<field name="HorizontalPerson.homeAddress">
<jdbc-field-map type="one-one" column.PK="HOMEADDRESS_PK"/>
</field>
<field name="HorizontalPerson.lastName">
<jdbc-field-map type="value" column="LASTNAME"/>
</field>
<field name="HorizontalPerson.status">
<jdbc-field-map type="value" column="STATUS"/>
</field>
<field name="scheduledClasses">
<jdbc-field-map type="many-many"
element-column.PK="SCHEDULEDCLASSES_PK"
ref-column.PK="PK" table="SCH_TEACHER_CLASSES"/>
</field>
</class>
<class name="HorizontalWorkAddress">
<jdbc-class-map type="base" pk-column="PK" table="SCH_WORKADDRESS"/>
<jdbc-version-ind type="state-image"/>
<jdbc-class-ind type="none"/>
<field name="company">
<jdbc-field-map type="value" column="COMPANY"/>
</field>
<field name="mailStop">
<jdbc-field-map type="value" column="MAILSTOP"/>
</field>
<field name="HorizontalAddress.city">
<jdbc-field-map type="value" column="CITY"/>
</field>
<field name="HorizontalAddress.phone">
<jdbc-field-map type="value" column="PHONE"/>
</field>
<field name="HorizontalAddress.state">
<jdbc-field-map type="value" column="STATE"/>
</field>
<field name="HorizontalAddress.street">
<jdbc-field-map type="value" column="STREET"/>
</field>
<field name="HorizontalAddress.zip">
<jdbc-field-map type="value" column="ZIP"/>
</field>
</class>
</package>
</mapping>
In article <[email protected]>, Rudi Engelbrecht wrote:
Abe White wrote:
That is exactly what I am doing, I am copying it verbatim from the docs. I
am using the base tag.
Not according to the code you posted previously. In that code, your
subclass was using a jdbc-class-map type of "horizontal" rather than
"base". Can you double check?I used base in the code - see the previous article where I explain that I
changed horizontal to base as well. When it is base the mappingtool
crashes with a null pointer as explained in the previous article.
When it is horizontal the mappingtool does not crash, but does not of
course create the table. <-- this is not my problem. My problem is that
specifying base the mappingtool crashes.
Also, are you using the "metadata" mapping factory?Yes, I enabled it in the kodo.properties file...
Do you guys actually have a working example of either horizontal or
vertical subclass mapping? With source?
We will in the next 3.2 beta; we've already created several new model
samples internally.What examples can you give me today? Any example of either horizontal or
vertical subclass mapping will work for me. I just do not want to use flat.--
Marc Prud'hommeaux
SolarMetric Inc. -
Placement of .JDO files
Hi,
(my question
Can .JDO files be placed in src folder or some other folder or does it
have to be in the folder containing the class files. )
We have a web application under Tomcat with the structure as
web-inf
-classes
... package structure
- src
... package structure.
Currently we have our .JDO files under the classes folder in the right
package structure. we have individual .JDO file for each object rather
than a package.jdo or a system.jdo (we specify each db column and property
in each file per table)
Can these be placed in src folder or some other folder or does it have to
be in that folder.
when i tried to move the .jdo to the src folder and i tried to enhance an
object, the enhancer said
[java] Enhancing "class Adib.Motiwala.Person"...
[java] Type "Adib.Motiwala.Person" has no metadata; enhancing as
persistence-aware
Please let us know abt this.
Thanks
adib motiwalaThe metadata files must be loadable as a resource from the Classes they pertain to. This is part of the JDO specification. For more information on Java resources, consult the Javadoc for java.lang.Class.getResource() and java.lang.ClassLoader.getResource().
It boils down to this: the metadata files have to be in certain special locations, and those locations have to be in the CLASSPATH. If you put your src/ directory in your CLASSPATH things should work just fine. -
Run a program without JBuilder
Hi,
I have made a program that has 5 .java files (5 classes) and are all in a package. With JBuilder I can compile and run it correctly.
I want to run it with command prompt and to make a batch file as well.
In one file (first.java) I have the main class of course. I can not compile it
I have tried
javac -classpath .... first.java and javac -classpath .... package_name.first.javaHow all the files will be compiled as JBuilder does?
please help me. I know the question is very stupid but I can't solve this problem.
Thanks
KostasThis is how I compile (engr_analyzer_2 is the name of my package)
C:\Documents and Settings\Kostas\Servlets & JSP\engr_analyzer_2> javac -cp ..;.;lucene-1.4.3.jar;lucene-demos-1.4.3.jar; Lucene_v4.javaNote: Lucene_v4.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details
And the message when I run the program is:
Exception in thread "main" java.lang.NoClassDefFoundError: Lucene_v4 (wrong name
: engr_analyzer_2/Lucene_v4)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
All the .class files are created.
In my first post I could't compile because I did a wrong in the classpath that I have fixed now.
I can not find those build features you told me.
Thank you very much
Kostas -
Hi,
I am a beginner in Java and I am using JBuilder.
How can I adding existing classes in my applet ?
I got this error for each class I added:
"MyClass.java": Package D:\applet_testing\jbuilder\browser2\MyApplet\src\MyApplet\MirageBrowser.java stated in source unnamed package does not match directory D:\applet_testing\jbuilder\browser2\MyApplet\src\MyApplet\MyClass.java.
djbadd package MyApplet; to the first line of your file (s).
-
Javax.jdo.JDOFatalUserException: No metadata has been registered
Hi all,
I get the following error when running the following call:
String fieldNames[] =
JDOImplHelper.getInstance().getFieldNames(emp.getClass());
for (int i = 0; i <fieldNames.length; i++) {
JDOHelper.makeDirty(emp, fieldNames);
javax.jdo.JDOFatalUserException: No metadata has been registered for
class persistent.Person.
at javax.jdo.spi.JDOImplHelper.getMeta(JDOImplHelper.java:472)
at javax.jdo.spi.JDOImplHelper.getFieldNames(JDOImplHelper.java:141)
at test.TestVersionNumber.main(TestVersionNumber.java:124)
I placed the package.jdo file in the same package as the class.
Thanks in advance.
DanielaLooks like a classpath issue. To debug you could try to read the jdo file to see if it can be found in the classpath.
Laurent -
Custom Java Type persistence with JDO
Hello,
I have a question regarding KodoJDO.
We have a class called "CBOCountry", CBOCountry is a type that has some
behaviors.
Each CBOCountry has only one field, an integer.
We have a class called Person, this class must be persisted in the DB !
Also, Person has a file of type CBOCountry, so, we need to persist in the
DB the integer field of the CBOCountry.
It is possible with JDO ?
You can call me at +352 295665 280
(Can you also send me a list of prices for KodoJDO ?)
Thanks
Demez ChristopheChristophe,
Ah! It seems to be that I recall some discussion of serialization on
this list and if I recall right, it is possible to serialize an object
as a field, but then you would lose the ability to query on those
fields, I'm pretty sure. What you want is CBOCountryValue to be a
second class object stored in PERSONX table.
So let's see what the others have to say.
David
-------- Original Message --------
Subject: Re: Custom Java Type persistence with JDO
Date: Tue, 14 Aug 2001 14:00:28 +0200
From: [email protected]
To: [email protected]
Thanks David, but ...
I have 2 tables and only one table is usefull.
In fact, what I need is a table PERSONX with a field CBOCOUNTRYVALUE !
In our object model, every field is a specific class ( a CBO), and we do
not want to create a table by field or even by kind of field.
Thanks , I appreciate your answer
Christophe
David
Ezzio
<dezzio@ysoft To:
[email protected]
.com>
cc:
Subject: Re: Custom Java
Type persistence with JDO
08/14/01
02:01
PM
Christophe,
The short answer is yes. Both Person and CBOCountry would be
enhanced to PersistenceCapable objects with entries in the XML metadata
(package.jdo) and either entries in the database or in system.prefs.
When the schematool is run you end up with a PERSONX table in the DB and
a CBOCOUNTRYX table in the database. The names can be tweaked if
necessary. Each table will have a column for each persistent field in
the corresponding object. Which fields are persistent and which are not
are identified by defaults and by the XML metadata.
David -
When I load my application within the servlet environment, koko is
unable to find my system.jdo file. It is located here:
catalina\webapps\at\WEB-INF\classes\system.jdo
The funny thing is that if I create a package.jdo and put it in the
right place, it finds it fine, such as:
catalina\webapps\at\WEB-INF\classes\
com\almostthere\business\data\package.jdo
Also, when I run kodo from the command-line, and have my CLASSPATH set,
it will find the system.jdo file just fine.
Can you explain why it might be able to find the package.jdo file and
not the system.jdo file within the servlet engine? This one has me
stumped! It was also had to zero in on because the message is a bit
round-about (I'm pasting it in below...). Maybe it could just say it
couldn't find any jdo files... ;-)
Thanks,
Dan
2002-03-11 10:42:56,062 [main] INFO frontend.Initialize - Initialize:
init() failed: javax.jdo.JDOFatalUserException: The system could not
initialize; the following registered persistent types are missing
metadata or have not been enhanced: [class
com.almostthere.business.data.DiscountCode, class
com.almostthere.business.data.DebitProduct, class
com.almostthere.business.data.ServiceIntervalPrice, class
com.almostthere.business.data.CreditSession, class
=========== etc, etc, for each class ================
com.almostthere.business.data.DebitSession, class
com.almostthere.business.data.Category].
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.loadPersistentTypes(JDBCPersistenceManagerFactory.java:306)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersistenceManagerFactory.java:269)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup(PersistenceManagerFactoryImpl.java:778)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getConnectionFactory(PersistenceManagerFactoryImpl.java:214)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setLogWriter(JDBCPersistenceManagerFactory.java:188)Yes, this is a rather strange problem. It has been resolved in an
internal build, and will be available in our next patch release. As you
noticed, the problem only occurs when loading the system.jdo fine --
other .jdo files load just fine.
-Patrick
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Maybe you are looking for
-
How to know how many users uses Report Designer?
Dear Experts, Somebody knows if it's possible to know how many users have made look ups in Report Designer on one period or how many modifications? Thanks in advance.
-
How can i print data in smartforms from ABAP program.
Dear gurus: in my abap program i process require data, and saved in a internal table. how can l print the data in smartforms.? who can give me a code sample is better:) reward all helpful advise.
-
Can I use my US account in the UK?
That was pretty much it. Are there any issues with using my US Adobe account in the UK? I will be there for about 2 1/2 months.
-
Need URGENT help on Log4cpp....
Hi all, I have written a C++ program which uses Log4cpp. Here I have written the following statement to use property file- log4cpp::PropertyConfigurator::configure ("/home/tests/log/testlog.properties"); -as the first statement of the program(within
-
Recurring CacheFullException when creating new Entity Bean
Normally I can create new instances of my Entity Bean just fine. However, at some point (whether it's after a rollback or not, I don't yet know), I get a CacheFullException when trying to create a new Entity Bean. The CacheFullException exception sho