frascati issueshttps://gitlab.ow2.org/frascati/frascati/-/issues2018-02-06T10:32:20Zhttps://gitlab.ow2.org/frascati/frascati/-/issues/119Velocity servlet : allow to configure request encoding2018-02-06T10:32:20ZMarc DutooVelocity servlet : allow to configure request encodingIn Tomcat, Velocity servlet decodes an HTML Form's POST parameters using Tomcat's default encoding ISO-8859-1 (because browsers don't provide encoding), which produces ugly (c)-like badly encoded characters on server side when commonly e...In Tomcat, Velocity servlet decodes an HTML Form's POST parameters using Tomcat's default encoding ISO-8859-1 (because browsers don't provide encoding), which produces ugly (c)-like badly encoded characters on server side when commonly expecting UTF-8.
This is a well known case, see :
* tomcat's own and most common solution, using a ServletFilter doing request.setCharacterEncoding() http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q2 http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Set_Character_Encoding_Filter
* and source http://code.google.com/p/forsecond/source/browse/trunk/compare/src/com/jz/filter/SetCharacterEncodingFilter.java?r=39
* discussion http://stackoverflow.com/questions/8391675/utf-8-encoding-a-servlet-form-submission-with-tomcat
Note that Velocity's own servlet does not handle it (but allows to configure output content type) http://www.docjar.org/html/api/org/apache/velocity/tools/view/servlet/VelocityViewServlet.java.htmlhttps://gitlab.ow2.org/frascati/frascati/-/issues/118servlet-api version conflict2018-02-06T10:32:20ZJeremie Guillemotteservlet-api version conflictThere is a version conflict with the servlet-api jar when building and executing FraSCAti-studio (standalone with ./run.sh command).
- The version 2.5 used by velocity and fratacl-bf.
- The version 3 is used by cxg 2.7.5 and jetty 8
A...There is a version conflict with the servlet-api jar when building and executing FraSCAti-studio (standalone with ./run.sh command).
- The version 2.5 used by velocity and fratacl-bf.
- The version 3 is used by cxg 2.7.5 and jetty 8
A solution to solve this problem is to exclude the servlet-api lib in the pom file.
A long-term solution would be to use the new version of servlet-api in fractal-bf-connectors and implementation.velocity. Tomcat 7 embeds the version 3 of servlet-api so maybe it will be a good solution to use only this version.https://gitlab.ow2.org/frascati/frascati/-/issues/117External configuration file for uri attributes used in composite files 2018-02-06T10:32:20ZJeremie GuillemotteExternal configuration file for uri attributes used in composite files Is there a way to configure uri's used in HTTP, REST (and eventually others) bindings used in composite files in an external property file?
The idea is to externalize the URI in a property files to be able to configure them without the ...Is there a way to configure uri's used in HTTP, REST (and eventually others) bindings used in composite files in an external property file?
The idea is to externalize the URI in a property files to be able to configure them without the need of building the project each time.
There is already a system for the sca properties working with the implementation javascript module but this system is not working with bindings attributes (eg : uri attribute).1.6https://gitlab.ow2.org/frascati/frascati/-/issues/116Binding 2013-07-01T09:19:58ZJeremie GuillemotteBinding When a binding HTTP is used in a composite file, we need to specify where the binding will be exposed in a "uri" attribute.
eg : <tuscany:binding.http uri="http://vmregistry:8082/" />
If the specified host name is "localhost", the serv...When a binding HTTP is used in a composite file, we need to specify where the binding will be exposed in a "uri" attribute.
eg : <tuscany:binding.http uri="http://vmregistry:8082/" />
If the specified host name is "localhost", the service associated to the binding is not avaible in the network, just visible from the local machine.
To have the service visible, we have to specify the "real" host name. It is not a "one clic deploy" feature.
Is it possible to publish the service and make it visible in the network when the host "localhost" is used ?https://gitlab.ow2.org/frascati/frascati/-/issues/115Source attribute of a property must have the same name of the property2013-04-16T12:29:51ZGwenael CattezSource attribute of a property must have the same name of the propertyWhen a SCA property of a component is define in the enclosing composite both properties must have the same nameWhen a SCA property of a component is define in the enclosing composite both properties must have the same name1.6https://gitlab.ow2.org/frascati/frascati/-/issues/114JAX-B properties get null when injected in a component2013-04-16T12:02:21ZGwenael CattezJAX-B properties get null when injected in a componentWhen a component have a composite implementation, the JAX-B properties define in this component are null when injected in the implemented component.When a component have a composite implementation, the JAX-B properties define in this component are null when injected in the implemented component.1.6https://gitlab.ow2.org/frascati/frascati/-/issues/113Support for invoking Web services asynchronously2013-04-05T15:37:09ZPhilippe MerleSupport for invoking Web services asynchronouslyAdd support for invoking Web Services asynchronously.
At least add an example.
Better should be to allow to configure <interface.wsdl> in order to generate asynchronous JAX-WS API.
Add support for invoking Web Services asynchronously.
At least add an example.
Better should be to allow to configure <interface.wsdl> in order to generate asynchronous JAX-WS API.
1.6https://gitlab.ow2.org/frascati/frascati/-/issues/112Support for Apache CXF 2.7.42018-02-06T10:32:19ZPhilippe MerleSupport for Apache CXF 2.7.41.6https://gitlab.ow2.org/frascati/frascati/-/issues/111Support for Java 1.72018-02-06T10:32:19ZPhilippe MerleSupport for Java 1.7Allows to compile FraSCAti with Java 1.7.
This requires to apply at least the following patch:
Index: frascati/modules/pom.xml
===================================================================
--- frascati/modules/pom.xml (revision 5...Allows to compile FraSCAti with Java 1.7.
This requires to apply at least the following patch:
Index: frascati/modules/pom.xml
===================================================================
--- frascati/modules/pom.xml (revision 5941)
+++ frascati/modules/pom.xml (working copy)
@@ -111,6 +111,8 @@
</execution>
</executions>
<configuration>
+ <source>1.5</source>
+ <target>1.5</target>
<srcs>
<src>src/main/java</src>
<src>src/main/resources</src>
1.6https://gitlab.ow2.org/frascati/frascati/-/issues/110FraSCAti Studio application editor's tree should be recursively opened up by ...2013-03-25T19:02:43ZMarc DutooFraSCAti Studio application editor's tree should be recursively opened up by defaultStudio applications are not big so it's not a problem. And the first thing a user does when editing an application is to open up its left pane tree.Studio applications are not big so it's not a problem. And the first thing a user does when editing an application is to open up its left pane tree.https://gitlab.ow2.org/frascati/frascati/-/issues/109When deploying application, compilation errors should be shown in error message.2013-03-25T19:00:27ZMarc DutooWhen deploying application, compilation errors should be shown in error message.When deploying an application in FraSCAti Studio fails because of implementation compilation errors (ex. a function implementation without "return"), a generic error message is displayed. Detailed error information should be displayed in...When deploying an application in FraSCAti Studio fails because of implementation compilation errors (ex. a function implementation without "return"), a generic error message is displayed. Detailed error information should be displayed instead.https://gitlab.ow2.org/frascati/frascati/-/issues/108In Studio WS Binding editor, "wsdl uri" saves but never displays2013-03-25T18:56:33ZMarc DutooIn Studio WS Binding editor, "wsdl uri" saves but never displaysin Studio WS Binding editor, setting than saving "wsdl uri" changes the deployed output, but the editor always displays an empty field.in Studio WS Binding editor, setting than saving "wsdl uri" changes the deployed output, but the editor always displays an empty field.https://gitlab.ow2.org/frascati/frascati/-/issues/107Improve Template parameter escaping2018-02-06T10:32:19ZMarc DutooImprove Template parameter escapingWhen creating a new application from a Template (ex. BasicService), parameters are passed as a single '&'-separated string from the UI to TemplateRestImpl.createApplication(String params).
Therefore parameters can't contain '&', and oth...When creating a new application from a Template (ex. BasicService), parameters are passed as a single '&'-separated string from the UI to TemplateRestImpl.createApplication(String params).
Therefore parameters can't contain '&', and other nastier problems due to bad escaping.
Solution :
at least manually encode / decode each param on both sides, or on server-side let FraSCAti do the escaping by rather passing a Map-like argument, or even better on client side find a more automated way (implementation.widget, see helloworld-widget example ?)https://gitlab.ow2.org/frascati/frascati/-/issues/106Constants not supported in Java interface of BasicService template2018-02-06T10:32:18ZMarc DutooConstants not supported in Java interface of BasicService templateFor instance, when trying to create a new application using the BasicService template with the following Java interface :
public interface AddressService {
public static final String RESULT_OK = "OK";
public static final String RE...For instance, when trying to create a new application using the BasicService template with the following Java interface :
public interface AddressService {
public static final String RESULT_OK = "OK";
public static final String RESULT_KO = "KO";
public String checkAddress(String strHno, String city, String zip, String state, String country);
}
Here's the log it outputs :
file:///home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/resources
GRAVE: /home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/java/org/ow2/frascati/api/AddressService.java:
line 4: Syntax error, insert ";" to complete FieldDeclaration
GRAVE: /home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/java/org/ow2/frascati/api/AddressService.java:
linvi /home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/java/org/ow2/frascati/api/AddressService.java
mdutoo@mdutoo-laptop:~/dev/easysoa/workspace/frascati-trunk/frascati/frascati-studio$ vi /home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/java/org/ow2/frascati/api/AddressService.java
mdutoo@mdutoo-laptop:~/dev/easysoa/workspace/frascati-trunk/frascati/frascati-studio$ org.easysoa.utils.exceptions.CompilationException: Compilation error:
/home/mdutoo/Documents/frascati-studio/mdutoo/MockAddressManager/src/main/java/org/ow2/frascati/api/AddressService.java:
line 4: Syntax error, insert "}" to complete InterfaceBody
at org.easysoa.codegenerator.JavaCodeTransformer.transform(JavaCodeTransformer.java:94)
But if the constant field definition lines are removed, it works.1.6https://gitlab.ow2.org/frascati/frascati/-/issues/105HTTP Binding : Jetty connection not closed when FraSCAti stop2018-02-06T10:32:19ZJeremie GuillemotteHTTP Binding : Jetty connection not closed when FraSCAti stopThe problem occurs when a HTTP binding is used in a composite and this composite is started on a tomcat embedded FraSCAti (packaged in a war).
When the stop command is sent to the tomcat server, the FraSCAti composite are trigered to st...The problem occurs when a HTTP binding is used in a composite and this composite is started on a tomcat embedded FraSCAti (packaged in a war).
When the stop command is sent to the tomcat server, the FraSCAti composite are trigered to stop. There is a problem with the components using a HTTP binding, the jetty resources are not unregistred/destroyed correctly.
In some cases, the java process ends but in others the java process remains alive and the resart of the application is not possible because the error "port already in use is throwed".
After some researchs, we have seen that the JettyServletManager.unregisterServlet(...) method is never called for an HTTP binding. In the HttpBinding class, there are an init and a destroy methods associated with @init and @destroy annotations. These annotations do not seem to work. The destroy method is never called and the init method is called "manually" in the FrascatiBindingHttpProcessor class (See method doInstanciate, line 154).1.5https://gitlab.ow2.org/frascati/frascati/-/issues/104Improvement for implementation velocity in FraSCAti. Add the possibility to u...2018-02-06T10:32:19ZJeremie GuillemotteImprovement for implementation velocity in FraSCAti. Add the possibility to use templates in a tree organisation.Improvement for implementation velocity in FraSCAti (ProxyImplementationVelocity.java).
Here is the original code : http://websvn.ow2.org/filedetails.php?repname=frascati&path=%2Ftrunk%2Ffrascati%2Fmodules%2Ffrascati-implementation-velo...Improvement for implementation velocity in FraSCAti (ProxyImplementationVelocity.java).
Here is the original code : http://websvn.ow2.org/filedetails.php?repname=frascati&path=%2Ftrunk%2Ffrascati%2Fmodules%2Ffrascati-implementation-velocity%2Fsrc%2Fmain%2Fjava%2Forg%2Fow2%2Ffrascati%2Fimplementation%2Fvelocity%2FServletImplementationVelocity.java
The proposition is to add this portion of code to offer the possibility to load Velocity templates not only in a base folder but also in a folder tree.
Here is the code addition to solve this problem (can be found also on GitHub : https://github.com/easysoa/EasySOA/blob/master/easysoa-proxy/easysoa-proxy-core/easysoa-proxy-core-httpdiscoveryproxy/src/main/java/org/ow2/frascati/implementation/velocity/ProxyImplementationVelocity.java)
....
protected final String invoke(String method, VelocityContext context, String[] args, Object... parameters) {
// VelocityContext context = new VelocityContext(this.velocityContext);
context.put(params, parameters);
// FIXME: should not be called but @Lifecycle does not work as expected.
registerScaProperties();
StringWriter sw = new StringWriter();
// **** EasySOA Hack begin
int pathArgIndex = Integer.parseInt((String) context.get("pathArgIndex")); // pathArgIndex has been set as an SCA xsd:int property
int storeIndex = Integer.parseInt((String) context.get("storeIndex")); // storeIndex has been set as an SCA xsd:int property
Template template = null;
if (parameters.length > pathArgIndex) {
Object templatePathFound = parameters[pathArgIndex];
Object storeNameFound = parameters[storeIndex];
if (templatePathFound instanceof String) {
template = this.velocityEngine.getTemplate((String)storeNameFound + "/" + (String) templatePathFound);
}
}
// *** EasySOA Hack end
if (template == null) {
String name = this.velocityEngine.templateExists(method + ".vm") ? method + ".vm" : this.defaultResource;
template = this.velocityEngine.getTemplate(name);
}
if (!this.velocityEngine.invokeVelocimacro(method, method, args, context, sw)) {
template.merge(context, sw);
.....
Currently, the method parameter contains the name of the velocity template to use. It is not possible to call templates in an other folder or in a folder tree organisation.
The hack uses 2 properties to set the array position of 2 parameters "pathArgIndex" and "storeIndex". The "pathArgIndex" parameter contains the folder where to find the "storeIndex" template.
An other solution is to have a special method name (eg : folder1_folder2_template) to pass the informations.
A third solution is to use a special method name, allowing to pass special params, to be able get templates in a tree folder organisation.
1.5https://gitlab.ow2.org/frascati/frascati/-/issues/103Binding.ws with wrong prefix doesn't generate any error2012-11-08T15:49:26ZJeremie GuillemotteBinding.ws with wrong prefix doesn't generate any errorUsing a wrong prefix with binding.ws tag does generates any error at the runtime.
Having these prefixes and binding.ws :
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
xmlns:frascati="http://frascati.ow2.org/xmlns/sca/1.1"
<sca:service...Using a wrong prefix with binding.ws tag does generates any error at the runtime.
Having these prefixes and binding.ws :
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
xmlns:frascati="http://frascati.ow2.org/xmlns/sca/1.1"
<sca:service name="proxyInfoService" promote="server/r">
<sca:interface.java interface="org.easysoa.proxy.ProxyInfoService"/>
<frascati:binding.ws uri="http://localhost:8089/proxyInfoService"/>
</sca:service>
If using frascati prefix instead of sca prefix, the binding.ws tag is ignored by FraSCAti. No error is generated at compilation or execution.https://gitlab.ow2.org/frascati/frascati/-/issues/102Implementation.composite not working on FraSCAti studio2018-02-06T10:32:19ZJeremie GuillemotteImplementation.composite not working on FraSCAti studioThe tag implementation.composite is not working on FraSCAti studio.
- When an app containing an implementation.composite tag is loaded in the FraSCAti studio editor, an error is throwed an the screen remains blank (see logErrorEdit.log ...The tag implementation.composite is not working on FraSCAti studio.
- When an app containing an implementation.composite tag is loaded in the FraSCAti studio editor, an error is throwed an the screen remains blank (see logErrorEdit.log file). In the ComplexProcessor class, the method getMenuItem try to get a processor for a EObject of type SCAImplementation but there is no processor registred for this object type, so null is returned and an error is generated.
- When an app containing an implementation.composite tag is deployed locally, an error is throwed (see logErrorDeploy.log file).
The FraSCAti studio app is joined in DiscovProx.zip file.1.5https://gitlab.ow2.org/frascati/frascati/-/issues/101SCA include generate "already defined" error when used in FraSCAti studio2013-03-14T16:50:34ZJeremie GuillemotteSCA include generate "already defined" error when used in FraSCAti studioContext : adding an new app template in FraSCAti studio to create HTTP discovery proxy apps.
In the velocity template, I have to use the include tag on another composite file. In the generated composite file, there are all the content o...Context : adding an new app template in FraSCAti studio to create HTTP discovery proxy apps.
In the velocity template, I have to use the include tag on another composite file. In the generated composite file, there are all the content of the included composite but also the include tag. So at the compilation, a "component is already defined" error is throwed.
I have tried to delete by hand the include tag in the generated composite and it works. So the solution is either to remove the include tag in the generated composite or to remain the include tag but with no inclusion of the composite content.
There is also another solution. Currently, "the implementation.composite" tag is not supported by FraSCAti studio. Maybe the best is to use this tag to avoid the "is already defined" problem.
See the attached generated composite file for more informations about the problem.https://gitlab.ow2.org/frascati/frascati/-/issues/100Unable to compile & deploy app with annotated JAXRS interface2013-03-26T09:05:35ZMarc DutooUnable to compile & deploy app with annotated JAXRS interfaceCompilation fails because it can't find the javax.ws.rs.* imports.
Cause : they are not in the compilation classpath in SCAJavaCompilerImpl.compileAll() which is only all jars that are in lib/
Short term solution :
Here is a hack in SC...Compilation fails because it can't find the javax.ws.rs.* imports.
Cause : they are not in the compilation classpath in SCAJavaCompilerImpl.compileAll() which is only all jars that are in lib/
Short term solution :
Here is a hack in SCAJavaCompilerImpl.compileAll() that adds all FStudio classpath jars to the compilation :
// .concat(System.getProperty("java.class.path")); NOT THE RIGHT VALUE when started from maven
for (java.net.URL fileUrl : ((java.net.URLClassLoader) SCAJavaCompilerImpl.class.getClassLoader()).getURLs()) { // TODO DANGEROUS, BETTER INCLUDING FOR DEPLOY
try {
libList = libList.concat(System.getProperty("path.separator"));
libList = libList.concat(new java.io.File(fileUrl.toURI()).getAbsolutePath());
} catch (java.net.URISyntaxException e) {
e.printStackTrace(); // TODO log "unable to add to classpath default classpath lib ..."
}
}
Better long term solution alternatives :
* provide only "interface" jars ex. jaxrs/ws (jsr311 jars)...
* provides all "default" FraSCAti deps that are in the classpath to the compilation
* try to take into account the fact that those jars have also to be on the Deploy platform side...1.5