voyent
Messages posted by: MichaelBreu  XML
Profile for MichaelBreu -> Messages posted by MichaelBreu [18] Go to Page: 1, 2 Next 
Author Message
Hello,

We are experiencing massive problems during a security update from tomcat v 7.0.99 to v7.0.100

e.g.
  • all converters and validators are not recognized by @FacesConverter("..."), but must now be declared in faces-config.xml!
  • ace:ajax does not work any more (have not checked all, but at least at one page)
  • some servlets is initialized twice
  • ... more may be still undetected?

    We are using
    - icefaces 4.3.0
    - spring 4.3.24
    - hibernate 5.4.2

    Does anybody experience the same problems?

    Best regards
    Michael
  • Oh! Unfortunately Valium does not solve my problems ;-)
    Hello,

    Still working with trees :-)

    However I have another problem, which is only indirectly related with trees.

    My tree component has reorder enabled (in order to allow drag&drop of branches inside a tree) .

    Unfortunatelly reorder also allows to move a branch outside the root of the tree (because the tree component can manage multiple roots).

    My TreeModel ignores such moves, however in the browser, the branch still remains outside the tree. The tree is not rerendered, because the server still thinks there is no change in the tree.

    How can I force the rerendering of the tree (without loading the complete page)?

    Or is there a simpler way to veto the dragging a branch outside the tree's root?

    Cheerio

    Wallenstein
    Hello,

    This seems also related to the issue http://www.icesoft.org/JForum/posts/list/0/23494.page#81859 .

    The tree component crashes if it is used inside a component and get's an empty list as model.
    Ok, this may be a problem of the application programmer at first glance.

    However, if the ace:tree is guarded by
    Code:
      <ui:fragment rendered="#{not empty model}">
          <ace:tree value="#{model}"/>
     </ui:fragment>
     

    it still crashed with
    Code:
     SCHWERWIEGEND: java.lang.IllegalArgumentException: Navigating to first root of empty model.
     	at org.icefaces.ace.model.tree.ListNodeDataModel.navToKey(ListNodeDataModel.java:88)
     	at org.icefaces.ace.model.tree.ListNodeDataModel.navToKey(ListNodeDataModel.java:24)
     	at org.icefaces.ace.component.tree.Tree.setNodeToKey(Tree.java:159)
     	at org.icefaces.ace.component.tree.Tree.invokeOnComponent(Tree.java:996)
          ...
     

    Hello,

    I think I have found a nasty bug in ICE v 4.3.0 when using <ace:tree> in a composite component and submit the value attribute as a component parameter:

    This code in a main xhtml-File
    Code:
       <ace:tree value="#{iceFacesTreeBean.treeModel}" var="node">
       	<ace:node>#{node.userObject.name}</ace:node>
       </ace:tree>
     


    works, however using ace:tree inside a component with value parameter

    Code:
     <html id="html" ...
     	xmlns:ace="http://www.icefaces.org/icefaces/components"
     	xmlns:iceTest="http://java.sun.com/jsf/composite/components/test"
     ...
     <h:body id="body">
       		<iceTest:testTreeValueComponent id="someTree" treeValue="#{iceFacesTreeBean.treeModel}"/>
       
     </h:body>
     </html>
     


    with testTreeValueComponent.xhtml
    Code:
     <cc:interface>
     	<cc:attribute name="treeValue" type="java.util.List" required="true" />
     </cc:interface>
     
     <cc:implementation>
     	<ace:tree value="#{cc.attrs.treeModel}" var="node">
     		<ace:node>#{node.userObject.name}</ace:node>
     	</ace:tree>
     </cc:implementation>
     


    crashes with
    Code:
     java.lang.IllegalArgumentException: Navigating to first root of empty model.
     	org.icefaces.ace.model.tree.ListNodeDataModel.navToKey(ListNodeDataModel.java:88)
     	org.icefaces.ace.model.tree.ListNodeDataModel.navToKey(ListNodeDataModel.java:24)
     	org.icefaces.ace.component.tree.Tree.setNodeToKey(Tree.java:159)
     	org.icefaces.ace.component.tree.TreeRenderer.encodeRoots(TreeRenderer.java:196)
     	org.icefaces.ace.component.tree.TreeRenderer.encodeEnd(TreeRenderer.java:84)
     


    I will attach a warfile TreeProblemDokumentation.war for testing:
  • .../TreeProblemDokumentation/faces/testPlain.xhtml works
  • ../TreeProblemDokumentation/faces/testTreeValueComponent.xhtml crashes
  • .../TreeProblemDokumentation/faces/testComponent.xhtml works, because it uses ace:tree inside a component, but not with a cc.attrs.-parameter


  • (Sorry planed to go to forum components). Deleted it here.
    Hello,

    I'm looking for an option to show a busy message during submit, with a certain delay (say e.g. 500msec).

    I.e. if the response is slow, the user should see some animation. If the response is fast, just the new result should be presented.

    Is there any solution for this?

    Best regards

    Michael
    Hello,

    we are severely struggeling with implementing a smooth error handling wit ace:dynamicResource.

    Our case is, that we present the user a list of (quite huge) files loadable from a remote server. The user can download individual files.

    When starting the transfer in getInputStream() there may occur various network errors or the file may have been deleted in the meantime Thus we would like to react positively and show an error message to the user.

    We have identified various options:
    [list]When an error occurs, we would like to return an input stream with an HTML-encoded error message. This would also require to return the contenttype "text/html". However the method getContentType() is already called for each resource, during rendering the list of files.
    [/list]
    [list]The other option would be, to set Status 302 and add an redirect to an error page in getInputStream(). Is this a valid option, or would this interfere with other output handling?
    [/list]

    Both solutions fail because the method getContentType(), getHeaders(), etc. are already called for each resource, during rendering the list of files. I have no idea, why this is necessary. At that point in time, we have no chance to check the availability of the input stream.

    If we can be sure that these methods are called, only just before the output of the resource, we could store the result of the getInputStream() and take approiate action.

    Best regards

    Wallenstein


    Hello Arran,

    Thank you for your answer. Sorry, it took some time to provide a simple example. Find a simple war file under http://server.arctis.at/tmp/ICEFacesLocalization.war. (Sorry it is quite 10 MBytes big, due to ice-faces libs and infrastructure.

    It contains a simple index.xhtml which shows a button that provokes a NullpointerException. The result is a message "See your server log for more information class javax.faces.el.EvaluationException"

    I have included a bridge-message.properties in the classPath (as explained in http://www.icesoft.org/JForum/posts/list/13726.page#sthash.L9nkpBsu.dpbs ).
    However this messages are not evaluated.

    What is the proposed way to have shown a localized version of "See your server log for more information"?

    arran.mccullough wrote:
    Hi Michael,
    ...
    If you can provide a sample that reproduces this issue, it would be the quickest way to get resolved outside of having a support subscription.

    ...
    Regards,
    Arran 


    Best regards

    Michael
    This ticket is now more than one year old.

    Our users are quite frustrated that we still do not have a solution?

    No Progress in this issue?

    Michael
    Hello,

    I have a help menu with a reference to a list of documents. Some are static (easy), however, some are loaded dynamically from the database.

    I can access these documents via a dynamic resource. However: Is there a way to integrate them into a menuItem?

    Thank you

    Michael
    Hello,

    Working with icefaces 4.1,
    I have run into a problem with tooltips in nested datatables.

    I was not able to make it work. Therefore I constructed a small example, with a list

    a1 -> b11, b12
    a2 -> b21, b22





    With icefaces 3.1 (and the old style tooltips) this worked. But not with icefaces 4.1 .

    I have tried various tricks, like defining equals/hashcode on outer row elements, or defining alwaysExecuteContents="true" in the datatables (don't know whether this could help).

    You will find my code below. (sorry, did not find out, how to keep code formatting, find also a zip file enclosed).
    It seems that the inner datatable cannot restore it's row content.

    Any idea, for a workaround?

    Thank you for your kind support.

    Wallenstein

    Testpage


    a
    b
     

    Code:
     
             <h:form>
               <ace:delegate id="outerListDelegate">
                 <ace:dataTable style="width:150px;" var="someA" value="#{simpleTooltipTester.nestingList}" id="outerTable"  alwaysExecuteContents="true">
                   <ace:column headerText="outerName" id="outer">
                     <ace:panel id="aTooltip">
                        #{someA.name}
                     </ace:panel>
                   </ace:column>
                   <ace:column headerText="inner" id="inner">
                     <ace:delegate id="nestedDelegate">
                       <ace:dataTable var="nested" value="#{someA.list}" id="nestedTable" alwaysExecuteContents="true">
                         <ace:column headerText="nestedName" id="nested">
                           <ace:panel id="nestedTooltip">
                           #{nested.name}
                           </ace:panel>
                         </ace:column>
                       </ace:dataTable>
                     </ace:delegate>
                      <ace:tooltip id="nestedTooltip" style="width: 370px" forDelegate="nestedDelegate" for="nestedTooltip"
                       fetch="#{nested}" store="#{testTooltipDelegationBean.nested}">
                       <ace:ajax execute="@form" event="display" />
                      Name: #{testTooltipDelegationBean.nested.name}
                      </ace:tooltip>
                   </ace:column>
                 </ace:dataTable>
               </ace:delegate>
     
     
               <ace:tooltip id="outerProfileTooltip" style="width: 370px" forDelegate="outerListDelegate" for="aTooltip"
                 fetch="#{someA}" store="#{testTooltipDelegationBean.a}">
                 <ace:ajax execute="@form" event="display" />
                        Name: #{testTooltipDelegationBean.a.name}
                 </ace:tooltip>
     </h:form>
     


    TestBean
    Code:
     package de.blb.portale.su_plattform.testing;
     
     import java.util.ArrayList;
     import java.util.List;
     
     import org.springframework.stereotype.Controller;
     
     @Controller
     public class SimpleTooltipTester {
     	
     	private List<A> nestingList = new ArrayList<A>();
     	
     	public SimpleTooltipTester() {
     		super();
     		Nested b11 = new Nested("b11");
     		Nested b12 = new Nested("b12");
     		Nested b21 = new Nested("b21");
     		Nested b22 = new Nested("b22");
     		
     		
     		A a1 = new A("a1");
     		a1.list.add(b11);
     		a1.list.add(b12);
     		A a2 = new A("a2");
     		a2.list.add(b21);
     		a2.list.add(b22);
     		
     		nestingList.add(a1); 
     		nestingList.add(a2);
     		
     	}
     	public List<A> getNestingList() {
     		return nestingList;
     	}
     	public void setNestingList(List<A> nestingList) {
     		this.nestingList = nestingList;
     	}
     	public class A {
     		@Override
     		public int hashCode() {
     			final int prime = 31;
     			int result = 1;
     			result = prime * result + getOuterType().hashCode();
     			result = prime * result + ((name == null) ? 0 : name.hashCode());
     			return result;
     		}
     		@Override
     		public boolean equals(Object obj) {
     			if (this == obj)
     				return true;
     			if (obj == null)
     				return false;
     			if (getClass() != obj.getClass())
     				return false;
     			A other = (A) obj;
     			if (!getOuterType().equals(other.getOuterType()))
     				return false;
     			if (name == null) {
     				if (other.name != null)
     					return false;
     			} else if (!name.equals(other.name))
     				return false;
     			return true;
     		}
     		String name;
     
     		public A(String name) {
     			super();
     			this.name = name;
     		}
     		List<Nested> list = new ArrayList<Nested>();
     		
     		public String getName() {
     			return name;
     		}
     		public List<Nested> getList() {
     			return list;
     		}
     		private SimpleTooltipTester getOuterType() {
     			return SimpleTooltipTester.this;
     		}
     	}
     	public class Nested {
     		@Override
     		public int hashCode() {
     			final int prime = 31;
     			int result = 1;
     			result = prime * result + getOuterType().hashCode();
     			result = prime * result + ((name == null) ? 0 : name.hashCode());
     			return result;
     		}
     		@Override
     		public boolean equals(Object obj) {
     			if (this == obj)
     				return true;
     			if (obj == null)
     				return false;
     			if (getClass() != obj.getClass())
     				return false;
     			Nested other = (Nested) obj;
     			if (!getOuterType().equals(other.getOuterType()))
     				return false;
     			if (name == null) {
     				if (other.name != null)
     					return false;
     			} else if (!name.equals(other.name))
     				return false;
     			return true;
     		}
     		String name;
     
     		public Nested(String name) {
     			super();
     			this.name = name;
     		}
     		public String getName() {
     			return name;
     		}
     		private SimpleTooltipTester getOuterType() {
     			return SimpleTooltipTester.this;
     		}
     	}
     
     }
     

    DelegationBean
    Code:
    package de.blb.portale.su_plattform.testing;
     
     import org.springframework.stereotype.Controller;
     
     @Controller
     public class TestTooltipDelegationBean {
     	SimpleTooltipTester.A a;
     	SimpleTooltipTester.Nested nested;
     	public SimpleTooltipTester.A getA() {
     		return a;
     	}
     	public void setA(SimpleTooltipTester.A a) {
     		this.a = a;
     	}
     	public SimpleTooltipTester.Nested getNested() {
     		return nested;
     	}
     	public void setNested(SimpleTooltipTester.Nested nested) {
     		this.nested = nested;
     	}
     
     }
     

    Hello all,

    I recently migrated to Icefaces 4.0.0 .

    Some years ago there was a JIRA issue http://jira.icesoft.org/browse/ICE-3016 explaining, how to localize error popups.

    This seems not to work any more with icefaces 4.x

    Those messages seem to be hard coded again.

    How could I localize them again, without duplicating the complete java-script code?

    Thank you

    Michael
    Just playing arround a bit: It seems not a problem with download, but rather with login.

    Michael
    Hello,

    I just tried to download ICEfaces 3.0.x from http://www.icesoft.org/downloads/icefaces-downloads.jsf .

    However neither in firefox nor in IE the download buttons are working. :-(

    Michael
     
    Profile for MichaelBreu -> Messages posted by MichaelBreu [18] Go to Page: 1, 2 Next 
    Go to:   
    Powered by JForum 2.1.7ice © JForum Team