logo       

RE: [argouml-dev] PluggableImport API changes: msg#00005

db.axion.devel

Subject: RE: [argouml-dev] PluggableImport API changes

Hello Tom!

If we should keep reverse engineering and code generation together, we
should firstly join the two Cookbook sections (5.7 and 5.8) and specify
the package name for this joint subsystem there. After that, we can move
the ImportManager, ImportInterface and ImportSettings (that should be
done ASAP before they are used). We can also move the generator-stuff
and deprecate the old use. In all but extremely strange cases I think a
solution like in the attached class diagram could be used to move
classes.


We have settings on different levels here:
* Importer level / Global (if we decide that the recursive descent
through the file system is implemented once for all importers then
turning this on and of is one of these).
* Language level (these differ depending on what language, like how
shall we model attributes, ...)

I think the current selection is strange. I think we should have one tab
for each Language level settings and the main tab we should be able to
enable and disable the different languages (for different suffixes).
Then we could do import of files with different languages in the same
structure in one go. The gain of this is not that the case of several
languages at the same time but the tabs and the checkboxes would be
stable promoting the available languages.

/Linus

> -----Original Message-----
> From: Tom Morris [mailto:tfmorris@xxxxxxxxx]
> Sent: den 1 november 2006 22:17
> To: dev@xxxxxxxxxxxxxxxxxx
> Subject: RE: [argouml-dev] PluggableImport API changes
>
> Linus wrote:
>
> > I would like for us to take this opportunity with the new
> > classes for the "import"-function, to create the interface
> > classes (ImportManager, ImportInterface, and ImportSettings)
> > in a package that is one level shorter. Either
> > org.argouml.reveng, org.argouml.import, or something else. An
> > update of section 5.7 in the Cookbook is then needed because
> > this new package will be the main package for the import function.
>
> While I don't object to saving four characters in the package name, I
do
> think we should keep the code generation and reverse engineering side
of
> things parallel to each other to make it easier for folks to find
stuff.
> We
> currently have GeneratorManager et al in org.argouml.uml.generator.
Since
> it's presumably too late to change the API for code generation, I
suspect
> we
> should leave reverse engineering where it is as well.
>
> BTW, I don't think the cookbook is accurate for the code generation
side
> of
> things (Section 5.8).
>
> > The configuration panels and layout engines, if eventually
> > added again, should probably be provided by the GUI-subsystem
> > and not by the Reverse Engineering subsystem.
>
> I think import modules need to be able to specify additional settings
in a
> GUI independent way. A simple interface which specifies the type of
> setting
> (boolean, string, etc) and labels for the setting and options (if
> applicable) should be adequate for the vast majority of cases.
>
> Pluggable layout engines I agree should not be part of reverse
engineering.
> I would have thought they'd extend the Diagram subsystem, but I'm not
100%
> sure of the relationship between GUI and Diagram.
>
> > I think the classfile module has some settings. Perhaps they
> > are exactly the same as the Java import.
>
> Yes, they are the same. As a matter of fact, most importers implement
the
> same two settings because a) the default implementation provides them
and
> b)
> the Modeller requires them.
>
> Tom
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@xxxxxxxxxxxxxxxxxx
> For additional commands, e-mail: dev-help@xxxxxxxxxxxxxxxxxx



begin 666 ClassDiagram1.gif
M1TE&.#EA! +L`/,``._O[P```-[;WN;GYO___\[*SK6VM=;2UN_K[_?W]];7
MUL7"Q=[?WK6RM;V^O0```"'Y! $`````+ `````$`NP```3^$,A)J[TXZ\V[
M_V HCF1IGFBJKFSKOG LSW1MWWBN[WSO_\"@<$@L&H_(I'+);#J?Q(!T2JU:
MK]BL=LOM>K^"`=3W+9O/Z/0T/&[O`H2X?$ZOV^_XO'[/[_,#!0)N;WZ%AH>(
MB02 @H..-'"*DI.4E7$!!@>/.)&6GI^3F)J;I"Z=H*BIE:*E-:>JL+%RK*VU
M**^RN;ITM+8PN+O!H9F^Q2/ PLFHO<8LR,K0?\3-U!S/T=B)S-6WV=[2H]SB
M%<#(K]>+W[+;XR37YWKHZH;L[=7R<_!Y^//:T_8EWO&*U\]2/8#&3DE)=VGA
M(H=3\CED^+#3Q(<%^QQ$V.&<Q5G^%RO.`FE1(;]L&SG64GBI)<-(, >^E!ES
M9L9X_U2"8&FSYDB;/VOZO'DII\YB/(6Z'-J3I$N2)^>E/'HAZ=*G5RE&I-@P
MY,VI5!U9;0HTJU*R1'&&"VLMGUFL9,\R3;O(*-M28T7V-/FQ8DF)4=6!O0O
MXT^]3I=NQ9B8[F#"3P1RW4=7U6.V@656'K86\B9T7O%DWKSG<MC1ATG[Z^Q9
MK&K'=EM/0/V:DFG92&C7CG7[J.[=JW%_!IZQM\[?Q.G%%AXY>3_C*I$[U[B<
M>1,UV+-KW\Z]>P`V3+R+'T^^_!7PUD-(G\Y^5J#K[>.7?I]>O?S[P</CWY^O
M>GT,Z_'^MQMT.00HH%3^_6>!@0>21B G#>+W(&X,1@@;:T=4:"$T$\JFX8;%
M)2C$AR &TV%K))8HF(A!I*CB.BPJ*(&++V)S(B0U)G<C9#3FJ,R.,O3HXR=
MWB7DD+L4^0N2M2EY&I/W.6D*E*I)Z1N5\5GI#):;:1D=E^QYJ<*18!XB)D)D
MEDEDC#^DJ29U&,I8U9O$G=D-G079:8^;>$JBIPE\]GG'G^,$*JB9;))QZ(IQ
MRDG.H@xxxxxxx!;5J*.S55H9H>YH:J.D]1UIWJBD7H% `LI=.@2E?I7JJA>G
M^L$I-Z(N&H ""*0*'THYWIHKG)AN4.NA`2S @*[Z\5ICL<?^`AML!L,*RBRR
M2[#*ZH_&R@IJ>M'V.6TALXI@;:_9.OOLG$G:6JZVJH[HS;7)? O.N0":J&ZS
M[.YJ([GXEK:M==WB*:^Y2HR[[+K^MNMHP'0./&^R^Q[<KUKTHJN+P5WU92/"
M#U?[;KI0I<8;Q_O\RQS#PL"A\5SQDDPQQ-'TJ/)A+*?B<,D*RXFRO2O#A>W$
M">L;\\5:!96DRX.:+-S.1"LVD;5(BZ;T#1C#TA<5(EL==1WA4L-T+E7X##70
M+WNL+&]83Z:V95OS,K6']@Z=E5LHM<WUVZY\O([1FJUC]RQX>_8U;P/A,C:U
M!>MM=>%<'TUVTCG+.#B6-Y>=^-G^*E8.><4+QBWMW_U%KBCF)6IN1]?-3$ZE
MZ9O#S"&_^7).@>I0LGYZX#-473KH=8G^'^U,VGZW[SSH#J+P@!//K>?>\FZI
MT*]+'+OL,S(OL/.]0_\C[ 3+#CR2R(>N?;S<=TR]J*^F3Q[VJ']@K?KP9\%[
M^TA9WS#[N >I>.;SYV^D_6\*7_+&E[+R!8UZU0/9YQXG->7IP'@;$B#]?/&]
M(0GP>:[;GO2ZQ[D*^NB"V<L@^39H/N\!4$T@G&!;2'>\_CGP9"<L4PK]MR06
M1M"%"$Q@TQ:(N"1 T$(2I.&3%-@\!I9#B%.R(1!QF$,/&K QXA-A`4EX0 0Z
MD8J,.>+^"R&DQ @%<8L4BB&8Y'41+1)0C ?Z8@X+@T;*E<MPMP.C#7[H129:
ML8VK,U9HS"A%/.Y'C4WT8_!"X[,0FBUB+P+D'8DHL'C$[Y&D>B+.UGC%1!)R
M;2H4UOYVQ\#A45*0X--C.>)X1D:VL)-NDR.*0&G!-^HCE:7<(?]0&<5%RO)Z
M_>()+/MHRAO2<H"!3!(DAXD&CD&$E+R\&#$A:<?SL?*#+EM,+2^'R%E.SYF]
M1&'4^'A(N26RF2;,I@SQITH<=;%!BL3F+>_WRVGZ<).GO&8XUQE <L82;))L
MX"?%.49[)A.?6)QD,.FIS78"LYO1^Z9!,]F*2E)F;:7YS2O^S>1/A&I0H?+L
MX#/_H(B:::.C%:6F-ZW)P8H%[&EE_(M((J)2Q*0-*[J$R<HN69J0OO.<:02G
M1HDHE[?0K:<ST1A$6P)4C];4H!BTZ @5:@7 3&$:5IC=,I>)GHXPKZA;*4E1
MS3*SK+EEJT,]:@]S`T]?9E23ECR &#S0+;#R#:Q#*2-EX I2I!I2I DE:0E7
MF+D&!$"M;+4>2OGB-)EJY6HKI9O8)$(SFL;#IF3%J8#2:=5$-L"O@.4K0 >E
M07@M`K(9*NL2%RHISR;ILIA=JP:^QB?'I@RT1J C.G6*UKZB]J^JK1<_N33#
M<N9.M'4DK>],>S'47A:WJ]UH0"W^=]-J<O*LR;6L<5,++>5B%%Q(;(%L<RI<
M^TAWNLBUV&:+.-;0HF2J\:-M=*6YN(?:;+JWS>RC=NM&NS*TNME @ (6P-_^
M^O>_``ZP@ =,X (;N,"X@BY^C6H0@EA&"_+-%'WS:-_L;BD;"4 ``S;,X0Y[
M^,,@#K&(1TSB$I,X5B5=;V,;`Q&3`$8O*6VM`QHQ.Q.A]\;RJ[!O]><I#I7V
M*72-"TU\VEJ['$F_!TZRDI?,Y"8G.<'8W7$,B"NP'Q?-+T3.*M>.B>6RF,C(
MP<BPB<=,YC*;^<QC1K&"H]!C'P]W;OHXRUM]RK=X@;G-(9)R#?'\Y3<CIBN
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
&NAP0`0`[
`
end


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise