ontomde-uml2-struts 1.0.4 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/lib/ontomde-uml2-struts/form.rb +17 -50
- data/lib/ontomde-uml2-struts/jsp_edit.rb +28 -35
- data/lib/ontomde-uml2-struts/mappingForJsp.rb +1 -1
- data/lib/ontomde-uml2-struts/version.rb +1 -1
- metadata +4 -13
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require 'hoe'
|
4
|
+
require 'ontomde-hoe'
|
5
5
|
require './lib/ontomde-uml2-struts/version.rb'
|
6
6
|
|
7
|
-
|
7
|
+
OntomdeHoe.new('ontomde-uml2-struts', Ontomde::Uml2::Struts::VERSION) do |p|
|
8
8
|
p.rubyforge_name = 'ontomde'
|
9
9
|
p.author = 'Stephane (Pierre) Carrie'
|
10
10
|
p.email = 'stephanepierre.carrie@orange-ftgroup.com'
|
@@ -190,30 +190,6 @@ module Muml_Classifier
|
|
190
190
|
return false
|
191
191
|
end
|
192
192
|
|
193
|
-
|
194
|
-
# def struts_addDateFormater!(form)
|
195
|
-
# if struts_typeIsUsed?("date")
|
196
|
-
# df=form.umlx_createAndAddProperty("#{rdf_uri}_dfCalendar",STRUTS_DATE_FORMATER_INSTANCE);
|
197
|
-
# df.uml_type=form.umlx_getOrCreateClass('java.text.SimpleDateFormat');
|
198
|
-
# df.java_code='new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);'
|
199
|
-
# df.java_noAccessors=RDF_TRUE
|
200
|
-
# df.uml_visibility=Cuml_VisibilityKind::Private
|
201
|
-
# df.uml_isStatic=RDF_TRUE #TODO : synchronized ??, (pb synchronisation)
|
202
|
-
# df.db_isTransient=RDF_TRUE
|
203
|
-
# df.java_isTransient=RDF_TRUE
|
204
|
-
# end
|
205
|
-
# if struts_typeIsUsed?("timestamp")
|
206
|
-
# df=form.umlx_createAndAddProperty("#{rdf_uri}_dfTimestamp",STRUTS_TIMESTAMP_FORMATER_INSTANCE);
|
207
|
-
# df.uml_type=form.umlx_getOrCreateClass('java.text.SimpleDateFormat');
|
208
|
-
# df.java_code='new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss",java.util.Locale.ENGLISH);'
|
209
|
-
# df.java_noAccessors=RDF_TRUE
|
210
|
-
# df.uml_visibility=Cuml_VisibilityKind::Private
|
211
|
-
# df.uml_isStatic=RDF_TRUE #TODO : synchronized ??, (pb synchronisation)
|
212
|
-
# df.db_isTransient=RDF_TRUE
|
213
|
-
# df.java_isTransient=RDF_TRUE
|
214
|
-
# end
|
215
|
-
# end
|
216
|
-
|
217
193
|
def struts_addInitFrom!
|
218
194
|
form=struts_actionForm_one
|
219
195
|
inf=form.umlx_createAndAddOperation(form.rdf_uri+"_initFrom","initFrom")
|
@@ -307,7 +283,7 @@ module Muml_Property
|
|
307
283
|
struts_addActionFormAttributeReference!(form)
|
308
284
|
|
309
285
|
end
|
310
|
-
#TODO: ajouter autres
|
286
|
+
#TODO: ajouter autres proprietes
|
311
287
|
end
|
312
288
|
|
313
289
|
|
@@ -355,7 +331,6 @@ module Muml_Property
|
|
355
331
|
//
|
356
332
|
// //#{self.umlx_manySide? ? "" : %{lvb=new #{STRUTS_LVB}("--","empty");
|
357
333
|
// //ret.add(lvb);} }
|
358
|
-
|
359
334
|
// return #{form.struts_getFormHelper.java_qualifiedName}.#{STRUTS_FORM_HELPER_ENUMTOLVB}(#{self.uml_type_one.java_qualifiedName}.class,(#{self.uml_type_one.java_qualifiedName})null,getReference().get#{self.java_NameBean}Sug());
|
360
335
|
|
361
336
|
for (#{self.uml_type_one.java_qualifiedName} item : getReference().get#{self.java_NameBean}Sug()) {
|
@@ -391,41 +366,23 @@ ENDJAVA
|
|
391
366
|
|
392
367
|
end
|
393
368
|
|
394
|
-
#module Muml_DataType
|
395
|
-
#contains regexp for string representation of corresponding type
|
396
|
-
#obsolete!
|
397
|
-
#STRUTS_PRIMITIVE_TYPE_REGEXP=Hash.new()
|
398
|
-
#end
|
399
|
-
|
400
|
-
|
401
369
|
module Muml_Element
|
402
370
|
STRUTS_FORM_HELPER="xmda.struts.FormHelper"
|
403
371
|
STRUTS_FORM_HELPER_ENUMTOLVB="enumToLvb"
|
404
372
|
|
405
373
|
STRUTS_DATE_FORMATER_INSTANCE=STRUTS_FORM_HELPER+'.DfCalendar'
|
406
374
|
STRUTS_TIMESTAMP_FORMATER_INSTANCE=STRUTS_FORM_HELPER+'.DfTimestamp'
|
407
|
-
|
408
|
-
|
409
|
-
if(helper.java_customCode.empty?)
|
410
|
-
helper.apaCom_addLogger!
|
411
|
-
helper.umlx_external=RDF_FALSE
|
412
|
-
#helper.java_import_add(STRUTS_LVB)
|
413
|
-
helper.db_isTransient=RDF_TRUE
|
414
|
-
helper.struts_isForm=RDF_FALSE
|
415
|
-
helper.java_customCode= %{
|
416
|
-
|
375
|
+
|
376
|
+
STRUTS_FORM_HELPER_CODE= <<ENDCODE
|
417
377
|
public static final java.text.SimpleDateFormat DfTimestamp=new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss",java.util.Locale.ENGLISH);
|
418
378
|
public static final java.text.SimpleDateFormat DfCalendar=new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);
|
419
379
|
|
420
|
-
|
421
|
-
|
422
|
-
|
423
380
|
/**
|
424
381
|
* Transform a timestamp date to its GMT equivalent date.
|
425
382
|
*
|
426
383
|
* @param fromTimeZone
|
427
384
|
* @param timestampToTransform
|
428
|
-
* @return
|
385
|
+
* @return date in GMT
|
429
386
|
*/
|
430
387
|
public static java.util.Date transformFromCurrentTZToGMT(final java.util.TimeZone fromTimeZone,final java.util.Date timestampToTransform) {
|
431
388
|
// the offset of this time zone from UTC.
|
@@ -474,9 +431,19 @@ public static java.util.List<#{STRUTS_LVB}> #{STRUTS_FORM_HELPER_ENUMTOLVB}(fina
|
|
474
431
|
throw(e);
|
475
432
|
}
|
476
433
|
}
|
477
|
-
|
478
|
-
|
479
|
-
|
434
|
+
ENDCODE
|
435
|
+
|
436
|
+
def struts_getFormHelper
|
437
|
+
helper=umlx_getOrCreateClass(STRUTS_FORM_HELPER)
|
438
|
+
if(helper.java_customCode.empty?)
|
439
|
+
helper.apaCom_addLogger!
|
440
|
+
helper.umlx_external=RDF_FALSE
|
441
|
+
#helper.java_import_add(STRUTS_LVB)
|
442
|
+
helper.db_isTransient=RDF_TRUE
|
443
|
+
helper.struts_isForm=RDF_FALSE
|
444
|
+
helper.java_customCode= STRUTS_FORM_HELPER_CODE
|
445
|
+
end
|
446
|
+
return helper;
|
480
447
|
end
|
481
448
|
end
|
482
449
|
|
@@ -429,7 +429,7 @@ def struts_jspEdit_write_Operation
|
|
429
429
|
next unless biz.umlx_businessMethod?
|
430
430
|
next if biz.struts_bizOperationReverse.empty?
|
431
431
|
|
432
|
-
#TODO:
|
432
|
+
#TODO:recuperer le nom MPC par navigation!
|
433
433
|
|
434
434
|
#<html:form action="/#{self.java_Name}#{biz.java_Name}MPC-new.do">
|
435
435
|
#<html:id>
|
@@ -459,33 +459,6 @@ end
|
|
459
459
|
|
460
460
|
end
|
461
461
|
|
462
|
-
###moved to helpermodule Muml_Enumeration
|
463
|
-
###moved to helper def struts_edit_writeField(field,owner)
|
464
|
-
###moved to helper# write %{
|
465
|
-
###moved to helper#<html:select property="#{field.java_Name}">
|
466
|
-
###moved to helper# <html:optionsCollection property="#{field.java_Name}Sug"/>
|
467
|
-
###moved to helper#</html:select>
|
468
|
-
###moved to helper# }
|
469
|
-
###moved to helper#TODO: utiliser le suggester
|
470
|
-
###moved to helperwrite %{<html:select property="#{field.java_Name}">\n}
|
471
|
-
###moved to helperfield.uml_type_one.uml_ownedLiteral.each { |ol|
|
472
|
-
###moved to helper write %{ <html:option value="#{ol}" key="#{field.uml_type_one.java_qualifiedName}.#{ol}"/>\n}
|
473
|
-
###moved to helper }
|
474
|
-
###moved to helperwrite %{</html:select>\n}
|
475
|
-
###moved to helper
|
476
|
-
###moved to helper#elt="#{field.java_Name}_eltSsug"
|
477
|
-
###moved to helper#write %{
|
478
|
-
###moved to helper#<%-- TODO (retrieve label from ressource for localization)
|
479
|
-
###moved to helper# <html:select property="#{field.java_Name}">
|
480
|
-
###moved to helper# <logic:iterate id="#{elt}" name="org.apache.struts.taglib.html.BEAN" property="#{field.java_Name}Sug">
|
481
|
-
###moved to helper# <%= TagUtils.getInstance().message(pageContext, bundle, locale, key); %>
|
482
|
-
###moved to helper#
|
483
|
-
###moved to helper# <html:option value="value">#{field.uml_type_one.java_qualifiedName}.<bean:write name="#{elt}" property="label"/></html:option>
|
484
|
-
###moved to helper# </logic:iterate>
|
485
|
-
###moved to helper#</html:select> --%>
|
486
|
-
###moved to helper# }
|
487
|
-
###moved to helper end
|
488
|
-
###moved to helperend
|
489
462
|
module Muml_DataType
|
490
463
|
#error style used for form fields
|
491
464
|
STRUTS_ERROR_STYLE=%{errorStyle="background-color: yellow"}
|
@@ -528,18 +501,31 @@ def struts_edit_writeFieldMany(field,owner)
|
|
528
501
|
struts_edit_writeFieldGeneric(field,owner,true,false)
|
529
502
|
struts_edit_writeSelectAndAdd(field,owner)
|
530
503
|
end
|
504
|
+
|
505
|
+
#add label
|
506
|
+
#use every property stereotpyed Label.
|
507
|
+
#if none found, use every field
|
508
|
+
def struts_editWriteSelectAndAddLabel(field,elt,withLabelOnly=true)
|
509
|
+
emptySelection=true
|
510
|
+
field.uml_type_one.struts_formAttribute.each { |a|
|
511
|
+
#next if a.uml_name_one=="id"
|
512
|
+
next if a.uml_name_one=="owner"
|
513
|
+
next if a.uml_type_one.kind_of?(Muml_Class)
|
514
|
+
next if withLabelOnly && !(a.umlx_hasStereotype?("label"))
|
515
|
+
emptySelection=false
|
516
|
+
write %{<bean:write name="#{elt}" property="#{a.java_Name}"/>, }
|
517
|
+
}
|
518
|
+
struts_editWriteSelectAndAddLabel(field,elt,false) if emptySelection && withLabelOnly
|
519
|
+
end
|
520
|
+
|
531
521
|
def struts_edit_writeSelectAndAdd(field,owner)
|
532
522
|
return if field.uml_isReadOnly?
|
533
523
|
elt="#{field.java_Name}_add"
|
534
524
|
struts_encloseWrite( %{<select name="#{field.java_Name}_add" onchange="add#{field.java_NameBean}(value);"> \n<option>--</option>\n} ,%{</select>\n}) {
|
535
525
|
struts_encloseWrite( %{<logic:iterate id="#{elt}" name="#{owner.java_Name}StrutsForm" property="reference.#{field.java_Name}Sug" >\n} ,%{</logic:iterate>}) {
|
536
526
|
struts_encloseWrite( %{ <option value="<bean:write name="#{elt}" property="id"/>">\n},%{ </option> \n}) {
|
537
|
-
field
|
538
|
-
|
539
|
-
next if a.uml_name_one=="owner"
|
540
|
-
next if a.uml_type_one.kind_of?(Muml_Class)
|
541
|
-
write %{<bean:write name="#{elt}" property="#{a.java_Name}"/>, }
|
542
|
-
}}}}
|
527
|
+
struts_editWriteSelectAndAddLabel(field,elt)
|
528
|
+
}}}
|
543
529
|
end
|
544
530
|
|
545
531
|
def struts_edit_writeFieldManyCompo(field,owner)
|
@@ -805,7 +791,6 @@ def struts_edit_writeHelpToggle
|
|
805
791
|
if uml_ownedComment.empty?
|
806
792
|
write %{<img src="#{css_path_model}/#{css_color_class}/image/vide.gif" width="25" height="25" border="0" alt="" />\n}
|
807
793
|
else
|
808
|
-
|
809
794
|
write %{<img src="#{css_path_model}/#{css_color_class}/image/btnHelp.gif" width="25" height="25" border="0" alt="help" onclick='togglehelp("#{java_Name}")' />\n}
|
810
795
|
end
|
811
796
|
|
@@ -854,6 +839,7 @@ def struts_edit_writeFieldGeneric_DisplayTable_displayTag_column(prop)
|
|
854
839
|
prop.write %{<display:column property="#{prop.java_Name}" titleKey="#{prop.umlx_owner_one.java_qualifiedName}.#{prop.java_Name}" decorator="xmda.displayTag.extensions.I18nCalendarColumnDecorator" />\n}
|
855
840
|
end
|
856
841
|
end
|
842
|
+
|
857
843
|
class JavaMappingTimeStamp < JavaMapping
|
858
844
|
def struts_edit_writeFieldGeneric_DisplayTable_displayTag_column(prop)
|
859
845
|
#Note: Because Calendar and TimeStamp share the same java type (java.util.Date)
|
@@ -862,5 +848,12 @@ def struts_edit_writeFieldGeneric_DisplayTable_displayTag_column(prop)
|
|
862
848
|
end
|
863
849
|
end
|
864
850
|
|
851
|
+
class JavaMappingGRAPHVIZ < JavaMappingLargeText
|
852
|
+
def struts_edit_writeFieldGeneric_DisplayTable_displayTag_column(prop)
|
853
|
+
#we don't display graphviz into table (but we could)
|
854
|
+
prop.write %{<%-- skip graphviz field #{prop.java_Name} --%>\n}
|
855
|
+
end
|
856
|
+
end
|
857
|
+
|
865
858
|
|
866
859
|
|
@@ -36,7 +36,7 @@ class JavaMappingURL < JavaMappingText
|
|
36
36
|
# cf: http://www.osix.net/modules/article/?id=586
|
37
37
|
n=datatype.java_Name.downcase #TODO
|
38
38
|
return <<END
|
39
|
-
<html:text property="#{field.java_Name}" size="20%" maxlength="#{self.maxStringLength}" styleId="#{n}" #{::Muml_DataType::STRUTS_ERROR_STYLE}
|
39
|
+
<html:text property="#{field.java_Name}" size="20%" maxlength="#{self.maxStringLength}" styleId="#{n}" #{::Muml_DataType::STRUTS_ERROR_STYLE} disabled="true"/>
|
40
40
|
|
41
41
|
<a onclick="javascript:document.getElementById('#{n}').disabled=false;document.getElementById('#{n}').value='';;">
|
42
42
|
<img src="res//orange/image/edit.gif" />
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ontomde-uml2-struts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephane (Pierre) Carrie
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-03-
|
12
|
+
date: 2008-03-25 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - "="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.0.
|
22
|
+
version: 1.0.6
|
23
23
|
version:
|
24
24
|
- !ruby/object:Gem::Dependency
|
25
25
|
name: ontomde-uml2-apaCom
|
@@ -28,16 +28,7 @@ dependencies:
|
|
28
28
|
requirements:
|
29
29
|
- - "="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
version: 1.0.
|
32
|
-
version:
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: hoe
|
35
|
-
version_requirement:
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 1.5.0
|
31
|
+
version: 1.0.6
|
41
32
|
version:
|
42
33
|
description: "ontomde-uml2-struts is library for generating a struts application. == SYNOPSIS: use commande line provided in ontomde-uml2-javaFrontEnd. == INSTALL:"
|
43
34
|
email: stephanepierre.carrie@orange-ftgroup.com
|