Module: Muml_DataType

Defined in:
lib/ontomde-java/java/xsd.rb,
lib/ontomde-java/flex/main.rb,
lib/ontomde-java/java/java.rb,
lib/ontomde-java/struts/jsp_edit.rb,
lib/ontomde-java/crank/validation.rb,
lib/ontomde-java/struts/validation.rb

Constant Summary collapse

STRUTS_ERROR_STYLE =

error style used for form fields

%{errorStyle="background-color: yellow"}

Instance Method Summary collapse

Instance Method Details

#crank_validation_annotationObject



23
24
25
26
# File 'lib/ontomde-java/crank/validation.rb', line 23

def crank_validation_annotation
  tpl=DatatypeMapping.instance.getTemplate(self)
  tpl.crank_validation_annotation
end

#java_isInteger?Boolean

Returns:

  • (Boolean)


65
66
67
68
# File 'lib/ontomde-java/struts/validation.rb', line 65

def java_isInteger?
  a=self
  return a.kind_of?(Muml_DataType) && (a.java_qualifiedName.downcase=="java.lang.Integer" || a.java_qualifiedName=="int")
end

#java_qualifiedNameObject

returns datatype qualified name.

NOTE:

  • A predefined mapping is defined UML_TO_JAVA_PRIMTIVE_TYPE_MAPPING

  • MagicDraw handles primtive types as DataType

  • RSM handles primtive types as PrimitiveType



1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
# File 'lib/ontomde-java/java/java.rb', line 1335

def java_qualifiedName
  return super if kind_of?(Muml_Enumeration)

  return DatatypeMapping.instance.getMapping(self).java_getType


  ot=uml_name_one
  mt=::Muml_PrimitiveType::UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING[ot]
  return mt unless mt.nil? || mt.to_s==""
  #avoid multiple messages
  ::Muml_PrimitiveType::UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING[ot]="String"
  log.error %{
WARN: A default java mapping has been created for DataType #{ot}
HELP:
HELP: To declare a new mapping, create a new entry as shown bellow:
HELP: module Muml_DataType
HELP:  UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING["#{ot}"]="your target java type"
HELP: end
  } #(not useful here) unless log_already_displayed?("#{rdf_uri}__datatype")
  return java_qualifiedName # retry
end

#struts_edit_writeField(field, owner) ⇒ Object



487
488
489
490
# File 'lib/ontomde-java/struts/jsp_edit.rb', line 487

def struts_edit_writeField(field,owner)
  tpl=DatatypeMapping.instance.getMapping(self)
  write tpl.getJSP(self,field,owner)
end

#struts_validation_writeField(field) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/ontomde-java/struts/validation.rb', line 69

def struts_validation_writeField(field)

  #return if self.kind_of?(Muml_Enumeration)
  re=DatatypeMapping.instance.getMapping(field.uml_type_one).getValidationRegexp
  return if re.nil?
  #re=STRUTS_PRIMITIVE_TYPE_REGEXP[self.uml_name_one]
  #n=java_qualifiedName.downcase
  #n=n.gsub("_","") if "_".include?(n[0,1])
  #if self.kind_of?(Muml_Enumeration)
  #       # validation is not necessary
  #elsif !re.nil?
    write %{
    <field property="#{field.java_Name}" depends="mask">
      <arg key="defaultForm.string.displayname" />
      <var><var-name>mask</var-name><var-value>#{re.source}</var-value></var>
    </field>
    }
  #elsif   java_isInteger?
  #  n="integer"
  #  log.error("struts validator #{n} is not registered.") unless rdf_Repository.struts_validatorExists?(n)
  #  write %{
  #  <field property="#{field.java_Name}" depends="required,#{n}">
  #    <arg key="defaultForm.#{n}.displayname" />
  #  </field>
  #}
  #else
  #  log.warn{ "no validation for field: #{field}" }
  #end
  #if  n=="long"
    #write %{
#     <field property="#{field.java_Name}" depends="required,#{n}">
#       <arg key="defaultForm.#{n}.displayname" />
#     </field>
#}
#   end
end

#xsd_qualifiedNameObject

returns datatype qualified name.

NOTE:

  • A predefined mapping is defined UML_TO_JAVA_PRIMTIVE_TYPE_MAPPING

  • MagicDraw handles primtive types as DataType

  • RSM handles primtive types as PrimitiveType



1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
# File 'lib/ontomde-java/java/xsd.rb', line 1298

def xsd_qualifiedName
  return super if kind_of?(Muml_Enumeration)

  return DatatypeMapping.instance.getMapping(self).xsd_getType


  ot=uml_name_one
  mt=::Muml_PrimitiveType::UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING[ot]
  return mt unless mt.nil? || mt.to_s==""
  #avoid multiple messages
  ::Muml_PrimitiveType::UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING[ot]="String"
  log.error %{
WARN: A default java mapping has been created for DataType #{ot}
HELP:
HELP: To declare a new mapping, create a new entry as shown bellow:
HELP: module Muml_DataType
HELP:  UML_TO_JAVA_PRIMITIVE_TYPE_MAPPING["#{ot}"]="your target java type"
HELP: end
  } #(not useful here) unless log_already_displayed?("#{rdf_uri}__datatype")
  return xsd_qualifiedName # retry
end