felipe.lorenz

Felipe Lorenz
Gerente de Projetos
Idealogic Software
Fone: (51) 3715 5523 - (51) 3715 5548
www.idealogic.com.br

Em 27/06/2013, às 09:17, Lukasz Lenart escreveu:

> Username?
> 
> 2013/6/27 Felipe Lorenz <felipe.lor...@idealogic.com.br>:
>> Sure!
>> 
>> I have created an user at jira, but I think I dont have permissions to open 
>> a new issue. Or am I in the wrong place? :)
>> 
>> 
>> Felipe Lorenz
>> 
>> Em 27/06/2013, às 03:11, Lukasz Lenart escreveu:
>> 
>>> Thanks Felipe!
>>> 
>>> I think we must extend RestActionProxyFactory to also add exclude list
>>> of namespaces, eg. "/ajax,/login", thus will allow to work in your
>>> configuration.
>>> 
>>> Could you register an issue?
>>> 
>>> 
>>> Thanks in advance
>>> --
>>> Łukasz
>>> + 48 606 323 122 http://www.lenart.org.pl/
>>> 
>>> 2013/6/26 Felipe Lorenz <felipe.lor...@idealogic.com.br>:
>>>> Hi Lukasz,
>>>> 
>>>> I could identify one plugin wich could be creating this behaviour, the 
>>>> rest plugin.
>>>> 
>>>> 
>>>> Since I have this configuration:
>>>>>> <constant name="struts.mapper.class" 
>>>>>> value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/>
>>>>>> <constant name="struts.mapper.prefixMapping" 
>>>>>> value=":rest,/ajax:struts,/login:struts"/>
>>>> 
>>>> 
>>>> I expect that, when I request the following url 
>>>> http://xxxxxxxxxxx.com/ajax/anyThingHere, struts should handle this call. 
>>>> But instead, RestActionProxyFactory is handle this call.
>>>> 
>>>> But the RestActionProxyFactory class has a if, and every time the 
>>>> namespace attribute is injected with "/ajax" value. So the condition 
>>>> always is redirect to the rest plugin handler and not to the struts 
>>>> default.
>>>> 
>>>> Here is my ActionProxyFactory implementation:
>>>> 
>>>> public class CustomActionProxyFactory extends RestActionProxyFactory {
>>>> 
>>>>       @Override
>>>>       public ActionProxy createActionProxy(String namespace, String 
>>>> actionName, String methodName, Map<String, Object> extraContext, boolean 
>>>> executeResult, boolean cleanupContext) {
>>>>               RestActionProxyFactory p = new RestActionProxyFactory();
>>>>               p.setContainer(container);
>>>>               if ("/ajax".equals(namespace)) {
>>>>                       p.setNamespace("/idealogic");
>>>>               }
>>>> 
>>>>               return p.createActionProxy(namespace, actionName, 
>>>> methodName, extraContext, executeResult, cleanupContext);
>>>>       }
>>>> }
>>>> 
>>>> By some reason, it fixed the origin behaviour.
>>>> 
>>>> I hope it could help you.
>>>> 
>>>> Thanks,
>>>> Felipe Lorenz
>>>> 
>>>> Em 26/06/2013, às 04:45, Lukasz Lenart escreveu:
>>>> 
>>>>> As I understand you use <s:action executeResult="false"/> ? Which
>>>>> means result named "json" shouldn't be executed, you can even remove
>>>>> it.
>>>>> 
>>>>> 
>>>>> Regards
>>>>> --
>>>>> Łukasz
>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>> 
>>>>> 2013/6/22 Felipe Lorenz <felipe.lor...@idealogic.com.br>:
>>>>>> Hello Lukasz,
>>>>>> 
>>>>>> I still facing this behaviour. Even with 2.3.16-SNAPSHOT.
>>>>>> 
>>>>>> One thing that make me thing, was the flush attribute. When it is true, 
>>>>>> the json result (the string) appear in the position where the action tag 
>>>>>> is in the jsp. But, when I change it to false, the result appears in the 
>>>>>> top os my page.
>>>>>> 
>>>>>> One workaround that I can use is return a result name that is no defined 
>>>>>> in the struts.xml. This workaround throw an exception, since struts 
>>>>>> could no find my result name, but my list is populated and no result 
>>>>>> from this action tag appear in my page.
>>>>>> 
>>>>>> I hope this information can help.
>>>>>> 
>>>>>> Also, I am printing my config:
>>>>>> 
>>>>>> struts.xml:
>>>>>> 
>>>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>>>> <!DOCTYPE struts PUBLIC
>>>>>>      "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
>>>>>>      "http://struts.apache.org/dtds/struts-2.3.dtd";>
>>>>>> <struts order="10">
>>>>>>      <constant name="struts.devMode" value="false" />
>>>>>>      <constant name="struts.action.extension" value=",json,xhtml,xml"/>
>>>>>> 
>>>>>>      <constant name="struts.convention.action.mapAllMatches" 
>>>>>> value="true" />
>>>>>>      <constant name="struts.convention.default.parent.package" 
>>>>>> value="default"/>
>>>>>> 
>>>>>>      <constant name="struts.custom.i18n.resources" value="global" />
>>>>>> 
>>>>>>      <constant name="struts.mapper.class" 
>>>>>> value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/>
>>>>>>      <constant name="struts.mapper.prefixMapping" 
>>>>>> value=":rest,/ajax:struts,/login:struts"/>
>>>>>> 
>>>>>>      <package name="default" extends="rest-default">
>>>>>> 
>>>>>>              <interceptors>
>>>>>>                      <interceptor 
>>>>>> class="br.com.idealogic.interceptor.LoginInterceptor" name="login"/>
>>>>>>                      <interceptor 
>>>>>> class="br.com.idealogic.interceptor.PermissaoInterceptor" 
>>>>>> name="permissao"/>
>>>>>>                      <interceptor 
>>>>>> class="br.com.idealogic.interceptor.I18nInterceptor" name="idioma"/>
>>>>>>                      <interceptor 
>>>>>> class="br.com.idealogic.interceptor.JPAInterceptor" name="jpa"/>
>>>>>>                      <interceptor-stack name="jpaStack">
>>>>>>                              <interceptor-ref name="login"/>
>>>>>>                              <interceptor-ref name="permissao"/>
>>>>>>                              <interceptor-ref name="idioma"/>
>>>>>>                              <interceptor-ref name="jpa"/>
>>>>>>                              <interceptor-ref name="restDefaultStack"/>
>>>>>>                      </interceptor-stack>
>>>>>>              </interceptors>
>>>>>>              <default-interceptor-ref name="jpaStack"/>
>>>>>> 
>>>>>> 
>>>>>>              <default-action-ref 
>>>>>> name="login_sistema"></default-action-ref>
>>>>>> 
>>>>>>              <global-results>
>>>>>>                      <result name="login">/login.jsp</result>
>>>>>>                      <result name="forbidden">/forbidden.jsp</result>
>>>>>>              </global-results>
>>>>>> 
>>>>>>      </package>
>>>>>> 
>>>>>>      <include file="struts-ajax.xml"/>
>>>>>>      <include file="struts-login.xml"/>
>>>>>>      <include file="struts-filtro.xml"/>
>>>>>> </struts>
>>>>>> 
>>>>>> struts-ajax.xml
>>>>>> 
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <!DOCTYPE struts PUBLIC
>>>>>> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
>>>>>> "http://struts.apache.org/dtds/struts-2.0.dtd";>
>>>>>> <struts>
>>>>>>      <package name="ajax" extends="json-default" namespace="/ajax">
>>>>>>              <interceptors>
>>>>>>                      <interceptor 
>>>>>> class="br.com.idealogic.interceptor.JPAInterceptor" name="jpa"/>
>>>>>>                      <interceptor-stack name="jpaJsonStack">
>>>>>>                              <interceptor-ref name="jpa"/>
>>>>>>                              <interceptor-ref 
>>>>>> name="jsonValidationWorkflowStack"/>
>>>>>>                      </interceptor-stack>
>>>>>>              </interceptors>
>>>>>>              <default-interceptor-ref name="jpaJsonStack"/>
>>>>>> 
>>>>>> 
>>>>>>              <action name="loadCidadeByEstado" 
>>>>>> method="loadCidadeByEstado" 
>>>>>> class="br.com.seedingControl.action.CidadeAction">
>>>>>>                      <result name="json" type="json">
>>>>>>                              <param name="includeProperties">
>>>>>>                                      ^cidades\[\d+\]\.idCidade,
>>>>>>                                      ^cidades\[\d+\]\.nmCidade
>>>>>>                              </param>
>>>>>>                      </result>
>>>>>>              </action>
>>>>>> 
>>>>>>      </package>
>>>>>> </struts>
>>>>>> 
>>>>>> Thanks for all your help!
>>>>>> 
>>>>>> Felipe Lorenz
>>>>>> 
>>>>>> Em 22/06/2013, às 04:27, Lukasz Lenart escreveu:
>>>>>> 
>>>>>>> 2013/6/22 Litman, Bruno <blit...@alabamainteractive.org>:
>>>>>>>> We are also experiencing issues with tags and theme files, we are 
>>>>>>>> upgrading many applications from 2.3.4.1 to 2.3.14.3
>>>>>>>> I am not sure if this is related - if not and if I need to start a new 
>>>>>>>> discussion please let me know and accept my apology.
>>>>>>>> 
>>>>>>>> 1/
>>>>>>>> 
>>>>>>>> We previously always coded forms as :
>>>>>>>>     <s:form action="login" namespace="/">....
>>>>>>>> Now randomly, this fails to generate the proper action url in the html 
>>>>>>>> (it is missing the '.action', which results in a 404 once you post the 
>>>>>>>> form)
>>>>>>>> 
>>>>>>>> The only workaround we have found so far is to add the '.action' 
>>>>>>>> suffix to the s:form's action attribute. Before it was always added 
>>>>>>>> for us by struts.
>>>>>>>> So now we are having success with
>>>>>>>>     <s:form action="login.action" namespace="/">...
>>>>>>>> 
>>>>>>>> Is this expected behavior? Did this change recently? 2.3.4.1 is not so 
>>>>>>>> ancient..
>>>>>>> 
>>>>>>> No, it isn't - mainly a bug - Struts should add suffix for you, you
>>>>>>> basically use the same action names as defined in struts.xml. This is
>>>>>>> very strange, I have just tested with struts2-blank on Jetty and
>>>>>>> suffix was there. Could you share more details about the config?
>>>>>>> 
>>>>>>>> 2/
>>>>>>>> 
>>>>>>>> We are trying to replace the "required" attribute in the textfields 
>>>>>>>> with "requiredLabel" without success. Was the xhtml theme's ftl file 
>>>>>>>> "controlheader_core" updated to reflect the changes in the 
>>>>>>>> struts-tags.tld (requiredLabel replaced required)?
>>>>>>> 
>>>>>>> You are right, it is bug :\ Please fill an issue
>>>>>>> 
>>>>>>>> Also, it seems applications are randomly serving ftl files from other 
>>>>>>>> applications' theme folders with the same name.
>>>>>>>> This was demonstrated by modifying something obvious in one 
>>>>>>>> application's ftl file (displaying some text next to a text field's 
>>>>>>>> label), and the effect can be seen randomly on other applications 
>>>>>>>> which shouldn’t even see that application's template folder (the 
>>>>>>>> themes are however named the same in both applications)
>>>>>>>> I am only able to make the "requiredLabel" attribute work if placed in 
>>>>>>>> a <s:param> tag as opposed to being just an attribute of the 
>>>>>>>> s:textfield tag, but even so it is still not always using the same ftl 
>>>>>>>> files (however always from similarly named themes placed inside each 
>>>>>>>> application)
>>>>>>>> 
>>>>>>>> This is extremely confusing. Is FreeMarker caching files independently 
>>>>>>>> of the application? Is the app container interfering with caching? (We 
>>>>>>>> are using Resin 4.0.36)
>>>>>>> 
>>>>>>> Hmmm... very strange behaviour, it will be hard to find the source of
>>>>>>> the problem. Maybe it is related to new ContainerHolder and how Resin
>>>>>>> is managing threads - but I'm not sure :\
>>>>>>> 
>>>>>>> 
>>>>>>> Regards
>>>>>>> --
>>>>>>> Łukasz
>>>>>>> + 48 606 323 122 http://www.lenart.org.pl/
>>>>>>> 
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>>>>>> For additional commands, e-mail: user-h...@struts.apache.org
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>>>>> For additional commands, e-mail: user-h...@struts.apache.org
>>>>>> 
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>>>> For additional commands, e-mail: user-h...@struts.apache.org
>>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>>> For additional commands, e-mail: user-h...@struts.apache.org
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>>> For additional commands, e-mail: user-h...@struts.apache.org
>>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 

Reply via email to