ontomde-uml2-struts 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/Manifest.txt +31 -0
- data/README.txt +38 -0
- data/Rakefile +32 -0
- data/lib/ontomde-uml2-struts/MessageResources.rb +356 -0
- data/lib/ontomde-uml2-struts/action.rb +886 -0
- data/lib/ontomde-uml2-struts/blob.rb +11 -0
- data/lib/ontomde-uml2-struts/exceptionHandling.rb +167 -0
- data/lib/ontomde-uml2-struts/footer.rb +128 -0
- data/lib/ontomde-uml2-struts/form.rb +483 -0
- data/lib/ontomde-uml2-struts/header.rb +37 -0
- data/lib/ontomde-uml2-struts/header_link.rb +39 -0
- data/lib/ontomde-uml2-struts/jsp_edit.rb +866 -0
- data/lib/ontomde-uml2-struts/jsp_edit_field.rb +1 -0
- data/lib/ontomde-uml2-struts/jsp_edit_js.rb +124 -0
- data/lib/ontomde-uml2-struts/jsp_index.rb +131 -0
- data/lib/ontomde-uml2-struts/localeAction.rb +641 -0
- data/lib/ontomde-uml2-struts/main.rb +140 -0
- data/lib/ontomde-uml2-struts/mappingForBean.rb +132 -0
- data/lib/ontomde-uml2-struts/mappingForJsp.rb +272 -0
- data/lib/ontomde-uml2-struts/mappingToJavaHierarchy.rb +87 -0
- data/lib/ontomde-uml2-struts/reloadAction.rb +33 -0
- data/lib/ontomde-uml2-struts/spring.rb +89 -0
- data/lib/ontomde-uml2-struts/struts-config.rb +232 -0
- data/lib/ontomde-uml2-struts/validation.rb +116 -0
- data/lib/ontomde-uml2-struts/validator.rb +341 -0
- data/lib/ontomde-uml2-struts/version.rb +7 -0
- data/lib/ontomde-uml2-struts/webXml.rb +165 -0
- data/lib/ontomde-uml2-struts/xmlForm.rb +308 -0
- data/lib/ontomde-uml2-struts.rb +34 -0
- data/test/test_ontomde-uml2-struts.rb +0 -0
- metadata +112 -0
@@ -0,0 +1,167 @@
|
|
1
|
+
|
2
|
+
#/**
|
3
|
+
# * <p>An <strong>ExceptionHandler</strong> is configured in the Struts
|
4
|
+
# * configuration file to handle a specific type of exception thrown by an
|
5
|
+
# * <code>Action.execute</code> method.</p>
|
6
|
+
# *
|
7
|
+
# */
|
8
|
+
|
9
|
+
class Crdf_Model
|
10
|
+
!!!!!!!!!!!!!!!!!
|
11
|
+
def struts_getExceptionHandlerClass
|
12
|
+
return umlx_reserved_model.struts_getExceptionHandlerClass
|
13
|
+
end
|
14
|
+
def struts_getFunctionalException
|
15
|
+
return umlx_reserved_model.struts_getFunctionalException
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
module Muml_Element
|
20
|
+
def struts_getExceptionHandlerClass
|
21
|
+
m=umlx_getOrCreateClass("xmda.struts.exceptions.XMDAExceptionHandler")
|
22
|
+
if(m.java_import.empty?)
|
23
|
+
['org.apache.struts.Globals', 'org.apache.struts.action.ActionForm', 'org.apache.struts.action.ActionForward', 'org.apache.struts.action.ActionMapping', 'org.apache.struts.action.ActionMessage', 'org.apache.struts.action.ExceptionHandler', 'org.apache.struts.config.ExceptionConfig', 'org.apache.struts.util.ModuleException', 'javax.servlet.http.HttpServletResponse','javax.servlet.ServletException','javax.servlet.http.HttpServletRequest'].each { |c|
|
24
|
+
m.java_import_add(c);
|
25
|
+
}
|
26
|
+
m.apaCom_addLogger!
|
27
|
+
m.umlx_external=RDF_FALSE
|
28
|
+
#m.java_import_add(STRUTS_LVB)
|
29
|
+
m.db_isTransient=RDF_TRUE
|
30
|
+
m.struts_isForm=RDF_FALSE
|
31
|
+
m.java_extends_add(umlx_reserved_model.umlx_getOrCreateClass("org.apache.struts.action.ExceptionHandler"))
|
32
|
+
|
33
|
+
m.java_customCode= <<ENDCODE
|
34
|
+
|
35
|
+
/**
|
36
|
+
* <p> Handle the Exception. Return the ActionForward instance (if any)
|
37
|
+
* returned by the called ExceptionHandler. </p>
|
38
|
+
*
|
39
|
+
* @param ex The exception to handle
|
40
|
+
* @param ae The ExceptionConfig corresponding to the exception
|
41
|
+
* @param mapping The ActionMapping we are processing
|
42
|
+
* @param formInstance The ActionForm we are processing
|
43
|
+
* @param request The servlet request we are processing
|
44
|
+
* @param response The servlet response we are creating
|
45
|
+
* @return The <code>ActionForward</code> instance (if any) returned by
|
46
|
+
* the called <code>ExceptionHandler</code>.
|
47
|
+
* @throws ServletException if a servlet exception occurs
|
48
|
+
* @since Struts 1.1
|
49
|
+
*/
|
50
|
+
public ActionForward execute(Exception ex, ExceptionConfig ae,
|
51
|
+
ActionMapping mapping, ActionForm formInstance,
|
52
|
+
HttpServletRequest request, HttpServletResponse response)
|
53
|
+
throws ServletException {
|
54
|
+
log.debug("ExceptionHandler executing for exception " + ex);
|
55
|
+
|
56
|
+
ActionForward forward;
|
57
|
+
ActionMessage error;
|
58
|
+
String property;
|
59
|
+
|
60
|
+
// Build the forward from the exception mapping if it exists
|
61
|
+
// or from the form input
|
62
|
+
if (ex instanceof FunctionalException && ((FunctionalException)ex).getFwPath()!= null) {
|
63
|
+
String fwPath = ((FunctionalException)ex).getFwPath();
|
64
|
+
forward = new ActionForward(fwPath);
|
65
|
+
}
|
66
|
+
else if (ae.getPath() != null) {
|
67
|
+
forward = new ActionForward(ae.getPath());
|
68
|
+
} else {
|
69
|
+
forward = mapping.getInputForward();
|
70
|
+
}
|
71
|
+
|
72
|
+
// Figure out the error
|
73
|
+
if (ex instanceof ModuleException) {
|
74
|
+
error = ((ModuleException) ex).getActionMessage();
|
75
|
+
property = ((ModuleException) ex).getProperty();
|
76
|
+
} else {
|
77
|
+
error = new ActionMessage(ae.getKey(), ex.getMessage());
|
78
|
+
property = error.getKey();
|
79
|
+
}
|
80
|
+
|
81
|
+
this.logException(ex);
|
82
|
+
|
83
|
+
// Store the exception
|
84
|
+
request.setAttribute(Globals.EXCEPTION_KEY, ex);
|
85
|
+
this.storeException(request, property, error, forward, ae.getScope());
|
86
|
+
|
87
|
+
if (!response.isCommitted()) {
|
88
|
+
return forward;
|
89
|
+
}
|
90
|
+
|
91
|
+
log.debug("Response is already committed, so forwarding will not work."
|
92
|
+
+ " Attempt alternate handling.");
|
93
|
+
|
94
|
+
if (!silent(ae)) {
|
95
|
+
handleCommittedResponse(ex, ae, mapping, formInstance, request,
|
96
|
+
response, forward);
|
97
|
+
} else {
|
98
|
+
log.warn("ExceptionHandler configured with " + SILENT_IF_COMMITTED
|
99
|
+
+ " and response is committed.", ex);
|
100
|
+
}
|
101
|
+
|
102
|
+
return null;
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
/**
|
107
|
+
* <p>Indicate whether this Handler has been configured to be silent. In
|
108
|
+
* the base implementation, this is done by specifying the value
|
109
|
+
* <code>"true"</code> for the property "SILENT_IF_COMMITTED" in the
|
110
|
+
* ExceptionConfig.</p>
|
111
|
+
*
|
112
|
+
* @param config The ExceptionConfiguration we are handling
|
113
|
+
* @return True if Handler is silent
|
114
|
+
* @since Struts 1.3
|
115
|
+
*/
|
116
|
+
private boolean silent(ExceptionConfig config) {
|
117
|
+
return "true".equals(config.getProperty(SILENT_IF_COMMITTED));
|
118
|
+
}
|
119
|
+
ENDCODE
|
120
|
+
end
|
121
|
+
return m
|
122
|
+
end
|
123
|
+
|
124
|
+
STRUTS_FUNCTIONAL_EXCEPTION="xmda.struts.exceptions.FunctionalException"
|
125
|
+
def struts_getFunctionalException
|
126
|
+
m=umlx_getOrCreateClass(STRUTS_FUNCTIONAL_EXCEPTION)
|
127
|
+
if(m.java_customCode.empty?)
|
128
|
+
m.java_annotation_add(%{@SuppressWarnings("serial")})
|
129
|
+
m.apaCom_addLogger!
|
130
|
+
m.umlx_external=RDF_FALSE
|
131
|
+
#m.java_import_add(STRUTS_LVB)
|
132
|
+
m.db_isTransient=RDF_TRUE
|
133
|
+
m.struts_isForm=RDF_FALSE
|
134
|
+
m.java_extends_add(umlx_getOrCreateClass("java.lang.RuntimeException"))
|
135
|
+
|
136
|
+
m.java_customCode= <<ENDCODEend
|
137
|
+
private String fwPath =null;
|
138
|
+
public #{m.java_Name}() {
|
139
|
+
super();
|
140
|
+
}
|
141
|
+
public #{m.java_Name}(String mesg) {
|
142
|
+
super(mesg);
|
143
|
+
}
|
144
|
+
public #{m.java_Name}(String fwPath, String mesg) {
|
145
|
+
super(mesg);
|
146
|
+
this.fwPath = fwPath;
|
147
|
+
}
|
148
|
+
|
149
|
+
public #{m.java_Name}(String mesg, Throwable th) {
|
150
|
+
super(mesg, th);
|
151
|
+
}
|
152
|
+
|
153
|
+
public String getFwPath() {
|
154
|
+
return fwPath;
|
155
|
+
}
|
156
|
+
|
157
|
+
public void setFwPath(String fwPath) {
|
158
|
+
this.fwPath = fwPath;
|
159
|
+
}
|
160
|
+
ENDCODEend
|
161
|
+
end
|
162
|
+
return m
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
|
167
|
+
|
@@ -0,0 +1,128 @@
|
|
1
|
+
module Muml_Class
|
2
|
+
STRUTS_SWITH_TO_FLEX_ACTION="switchToFlex"
|
3
|
+
end
|
4
|
+
module Mrdf_Model
|
5
|
+
def struts_footer_generate
|
6
|
+
write <<END
|
7
|
+
<!-- **********************************
|
8
|
+
************ BAS DE PAGE ***********
|
9
|
+
************************************ -->
|
10
|
+
<SCRIPT>
|
11
|
+
function #{::Muml_Class::STRUTS_SETLOCALE_ACTION}(lang) {
|
12
|
+
document.forms[0].#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}.value="#{::Muml_Class::STRUTS_SETLOCALE_ACTION}";
|
13
|
+
document.forms[0].#{Muml_Class::STRUTS_SETLOCALE_LANGUAGE_FIELD}.value=lang;
|
14
|
+
document.forms[0].submit();
|
15
|
+
}
|
16
|
+
function #{::Muml_Class::STRUTS_SETTIMEZONE_ACTION}(tz) {
|
17
|
+
document.forms[0].#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}.value="#{::Muml_Class::STRUTS_SETTIMEZONE_ACTION}";
|
18
|
+
document.forms[0].#{Muml_Class::STRUTS_SETTIMEZONE_FIELD}.value=tz;
|
19
|
+
document.forms[0].submit();
|
20
|
+
}
|
21
|
+
function #{::Muml_Class::STRUTS_SETSKIN_ACTION}(skin) {
|
22
|
+
alert("!!");
|
23
|
+
document.forms[0].#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}.value="#{::Muml_Class::STRUTS_SETSKIN_ACTION}";
|
24
|
+
document.forms[0].#{Muml_Class::STRUTS_SETSKIN_FIELD}.value=skin;
|
25
|
+
document.forms[0].submit();
|
26
|
+
}
|
27
|
+
function #{::Muml_Class::STRUTS_SWITH_TO_FLEX_ACTION}() {
|
28
|
+
document.forms[0].#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}.value="#{::Muml_Class::STRUTS_SWITH_TO_FLEX_ACTION}";
|
29
|
+
document.forms[0].submit();
|
30
|
+
}
|
31
|
+
|
32
|
+
</SCRIPT>
|
33
|
+
<br/>
|
34
|
+
<table>
|
35
|
+
<tr>
|
36
|
+
<td>
|
37
|
+
<img onClick="switchToFlex();" src="#{css_path_model}/#{css_color_class}/image/logoFrancetelecom.gif" border="0" alt=""/>
|
38
|
+
</td>
|
39
|
+
<td width="100%">
|
40
|
+
</td>
|
41
|
+
<td>
|
42
|
+
<a href="#">
|
43
|
+
<img onClick="#{::Muml_Class::STRUTS_SWITH_TO_FLEX_ACTION}();" src="#{css_path_model}/#{css_color_class}/image/btnFX.gif" width="28" height="25" border="0" alt=""/>
|
44
|
+
</a>
|
45
|
+
</td>
|
46
|
+
<td>
|
47
|
+
<a href="#">
|
48
|
+
<img src="#{css_path_model}/#{css_color_class}/image/btnSend.gif" width="25" height="25" border="0" alt="" />
|
49
|
+
</a>
|
50
|
+
</td>
|
51
|
+
<td>
|
52
|
+
<a href="#">
|
53
|
+
<img src="#{css_path_model}/#{css_color_class}/image/btnUp.gif" width="25" height="25" border="0" alt=""/>
|
54
|
+
</a>
|
55
|
+
</td>
|
56
|
+
<td>
|
57
|
+
<img src="#{css_path_model}/#{css_color_class}/image/imgSprtr.gif" width="1" height="30" border="0" alt="" />
|
58
|
+
</td>
|
59
|
+
<td>
|
60
|
+
<a href="#">
|
61
|
+
<img onclick="setLocale('fr');" src="#{css_path_model}/#{css_color_class}/image/btnLanguage_Fr.gif" width="24" height="19" border="0" alt="" />
|
62
|
+
</a>
|
63
|
+
</td>
|
64
|
+
<td>
|
65
|
+
<a href="#">
|
66
|
+
<img onclick="setLocale('en');" src="#{css_path_model}/#{css_color_class}/image/btnLanguage_Eng.gif" width="24" height="19" border="0" alt="" />
|
67
|
+
</a>
|
68
|
+
</td>
|
69
|
+
<td>
|
70
|
+
<a href="#">
|
71
|
+
<img onclick="setLocale('de');" src="#{css_path_model}/#{css_color_class}/image/btnLanguage_Dch.gif" width="24" height="19" border="0" alt="" />
|
72
|
+
</a>
|
73
|
+
</td>
|
74
|
+
<td>
|
75
|
+
<img src="#{css_path_model}/#{css_color_class}/image/imgSprtr.gif" width="1" height="30" border="0" alt="" />
|
76
|
+
</td>
|
77
|
+
<td>
|
78
|
+
<html:hidden property="#{::Muml_Class::STRUTS_SETLOCALE_LANGUAGE_FIELD}"/>
|
79
|
+
<input type="hidden" name="#{::Muml_Class::STRUTS_SETSKIN_FIELD}"/>
|
80
|
+
END
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
write(struts_getTimeZoneSelect())
|
85
|
+
|
86
|
+
write %{
|
87
|
+
</td>
|
88
|
+
<td>
|
89
|
+
}
|
90
|
+
struts_writeTimeoutIndicator()
|
91
|
+
|
92
|
+
if context[:security]
|
93
|
+
# DISPLAY A WARNING IN WEB PAGE IF SERVER SECURITY IS DISABLED
|
94
|
+
write <<SECWARN
|
95
|
+
<%=
|
96
|
+
xmda.security.ProviderImpl.getSecurityIsDisabled()
|
97
|
+
? "<span style=\\"background-color:red; text-color:black\\" bgcolor=\\"black\\">ACCESS<br>CONTROL<br>DISABLED</span>"
|
98
|
+
: ""
|
99
|
+
%>
|
100
|
+
SECWARN
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
#cf: j_acegi_logout is handled in Application-security.xml
|
105
|
+
write <<END2
|
106
|
+
<td><html:link page="/j_acegi_logout" title="Logout"><img src="res/orange/image/exit.gif" width="25" height="25" border="0" alt="exit"/></html:link></td>
|
107
|
+
END2
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
write <<END
|
112
|
+
|
113
|
+
</td>
|
114
|
+
</tr>
|
115
|
+
</table>
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
END
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
module Muml_Class
|
125
|
+
def struts_footer_generate
|
126
|
+
rdf_model.struts_footer_generate
|
127
|
+
end
|
128
|
+
end
|