Author |
Message |
|
Hi,
thanks for your answer. Of course, verticalscrollmode should do the job.
Should ... but doesn't, if you use "always". Please have a look at the attached UI class. There I try to use this attribute. Using "always" does not have the expected effect. Using "hidden" (I've tried that) works as expected.
Do I expect something wrong of verticalscrollmode=always or have I found a bug ;-)?
Thanks,
Björn
|
|
|
Hi,
usually, a scrollbar on the right side of a grid is only visible if it is necessary. Is there a possibility to also show it also when it's not necessary.
The reason why I am asking this is because we have a column layout where the leftmost column is of width="100%" which means that when the scrollbar dissappears, all other columns are being pushed to the left by the width of the scrollbar. To prevent this, it would be cool to be able to say that the scrollbar shall always be displayed.
Thanks,
Björn
|
|
|
Hi,
a normal MessageSource allows me to do this:
Code:
org.springframework.context.MessageSource.getMessage(String, Object[], Locale)
With the normal CaptainCasa resource mechanism I can only use static messages, and I cannot fill in any arguments into placeholders.
So my first question is: Have I simply not discovered that args-Feature in the resource mechanism of CaptainCasa or is this really not possible?
Thanks,
Björn
|
|
|
Hi,
we are using longpolling in our project to get frontend reaction on data changes. This works fine, but occasionally the client logs something like this.
Code:
2012:08:16 16:04:10:489 | 14 | WARNING | Error occurred when communicating to server: <a href="http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345114264302_3.cclongpolling;jsessionid=B2922BEB481F8C544DAD8C59CB4185B4" target="_blank" rel="nofollow">http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345114264302_3.cclongpolling;jsessionid=B2922BEB481F8C544DAD8C59CB4185B4</a> .......... org.eclnt.client.comm.http.DataTransfer>readBytesFromURL
2012:08:16 16:04:10:489 | 14 | WARNING | Problem occurred during communication. Continuing to poll .......... org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread>run
.......... Stacktrace Info ..........
org.eclnt.client.comm.http.DataTransferException: java.net.SocketException: Unexpected end of file from server
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:408)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:366)
at org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread.run(LONGPOLLINGElement.java:72)
Caused by: java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:774)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:771)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:524)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:386)
... 2 more
2012:08:16 16:04:10:991 | 14 | INFO | Starting communication: /cclongpolling/cclongpolling_1345114264302_3.cclongpolling;jsessionid=B2922BEB481F8C544DAD8C59CB4185B4 .......... org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread>run
2012:08:16 16:04:10:991 | 14 | INFO | Reading remote file <a href="http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345114264302_3.cclongpolling;jsessionid=B2922BEB481F8C544DAD8C59CB4185B4" target="_blank" rel="nofollow">http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345114264302_3.cclongpolling;jsessionid=B2922BEB481F8C544DAD8C59CB4185B4</a> .......... org.eclnt.client.comm.http.DataTransfer>readBytesFromURL
2012:08:16 16:04:23:460 | 12 | WARNING | Error occurred when communicating to server: <a href="http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345110254544_1.cclongpolling;jsessionid=AC16712609CE7AC98B0AD753195EE275" target="_blank" rel="nofollow">http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345110254544_1.cclongpolling;jsessionid=AC16712609CE7AC98B0AD753195EE275</a> .......... org.eclnt.client.comm.http.DataTransfer>readBytesFromURL
2012:08:16 16:04:23:460 | 12 | WARNING | Problem occurred during communication. Continuing to poll .......... org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread>run
.......... Stacktrace Info ..........
org.eclnt.client.comm.http.DataTransferException: java.net.SocketException: Unexpected end of file from server
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:408)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:366)
at org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread.run(LONGPOLLINGElement.java:72)
Caused by: java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:774)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:771)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:524)
at org.eclnt.client.comm.http.DataTransfer.readBytesFromURL(DataTransfer.java:386)
... 2 more
2012:08:16 16:04:23:961 | 12 | INFO | Starting communication: /cclongpolling/cclongpolling_1345110254544_1.cclongpolling;jsessionid=AC16712609CE7AC98B0AD753195EE275 .......... org.eclnt.client.elements.impl.LONGPOLLINGElement$PollingThread>run
2012:08:16 16:04:23:961 | 12 | INFO | Reading remote file <a href="http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345110254544_1.cclongpolling;jsessionid=AC16712609CE7AC98B0AD753195EE275" target="_blank" rel="nofollow">http://localhost:9100/smaragd.tcm.server/cclongpolling/cclongpolling_1345110254544_1.cclongpolling;jsessionid=AC16712609CE7AC98B0AD753195EE275</a> .......... org.eclnt.client.comm.http.DataTransfer>readBytesFromURL
The server log says nothing but:
Code:
2012:08:16 16:04:10:997 | 77 | INFO | LONGPOLLING: current number of threads is 31, (true)
2012:08:16 16:04:10:997 | 77 | INFO | LongPollingServlet called via http-request
2012:08:16 16:04:10:998 | 77 | INFO | Now waiting for event to wakeup this long polling thread
2012:08:16 16:04:23:965 | 78 | INFO | LONGPOLLING: current number of threads is 32, (true)
2012:08:16 16:04:23:966 | 78 | INFO | LongPollingServlet called via http-request
Thats all what was logged by the client at this point of time.
In the server log I also found the following at a point of time when nothing is going on in the client log:
Code:
2012:08:16 15:54:10:631 | 74 | INFO | LONGPOLLING: current number of threads is 30, (true)
2012:08:16 15:54:10:631 | 74 | INFO | LongPollingServlet called via http-request
2012:08:16 15:54:10:631 | 74 | INFO | Finish thread with error
2012:08:16 15:54:10:631 | 74 | INFO | Now waiting for event to wakeup this long polling thread
2012:08:16 15:54:10:631 | 41 | INFO | Event woke up this thread
2012:08:16 15:54:10:631 | 41 | INFO | Error occurred when falling to sleep.
.......... Stacktrace Info ..........
java.lang.Error: Thread was aborted via abort-method
at org.eclnt.jsfserver.polling.DefaultLongPolling.waitForEvent(DefaultLongPolling.java:101)
at org.eclnt.jsfserver.polling.LongPollingServlet.doGet(LongPollingServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:123)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:168)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012:08:16 15:54:10:632 | 41 | INFO | LONGPOLLING: current number of threads is 29, (false)
2012:08:16 15:54:23:608 | 75 | INFO | LONGPOLLING: current number of threads is 30, (true)
2012:08:16 15:54:23:608 | 75 | INFO | LongPollingServlet called via http-request
2012:08:16 15:54:23:608 | 75 | INFO | Finish thread with error
2012:08:16 15:54:23:608 | 75 | INFO | Now waiting for event to wakeup this long polling thread
2012:08:16 15:54:23:608 | 30 | INFO | Event woke up this thread
2012:08:16 15:54:23:608 | 30 | INFO | Error occurred when falling to sleep.
.......... Stacktrace Info ..........
java.lang.Error: Thread was aborted via abort-method
at org.eclnt.jsfserver.polling.DefaultLongPolling.waitForEvent(DefaultLongPolling.java:101)
at org.eclnt.jsfserver.polling.LongPollingServlet.doGet(LongPollingServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:123)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:168)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
2012:08:16 15:54:23:609 | 30 | INFO | LONGPOLLING: current number of threads is 29, (false)
Does anybody have any idea what is going on in these scenarios?
Are the two Frontend and server log excerpts related to or independent from each other?
Thanks,
Björn
|
|
|
Hi,
I have searched through all my logs for "java.lang.IllegalStateException: Current state". Nothing was found.
It seems I don't have this problem. I use the release of 2012-07-23.
Björn
|
|
|
Hi,
I have two issues with longtextfield.
The first is that expanding the text does not work if enabled=false. Usually, I use enabled=false to display read-only fields. If I can't use it in a longtextfield, I'll have to put some effort into making it look like the other enabled=false normal fields.
But I could cope with this, since I could use enabled=true; editable=false. The problem here is that editable=false does not have any effect. If you take the demo workplace and click through the longtext popup example, also where editable=false is set the text is still editable.
Do we have a bug here?
Thanks,
Björn
|
|
|
Hi Björn,
i have read over and over over that thing with the Command and I still don't understand it.
Could you provide a coding example?
My scenario is the following:
I would like to create a dynamic (via ROWDYNAMICCONTENT) hierarchic ButtonMenu where all items reference the same action listener which can receive a payload (in my case: an entity ID) and adapt its behaviour.
In my ideal world, things look like this:
Code:
<buttonmenu> ...
<menuitem command="id1" actionListener="{d.UIBean.onSelectMenuItem} ... />
<menuitem command="id2" actionListener="{d.UIBean.onSelectMenuItem} .../>
...
My UI Bean Code would look like this:
Code:
...
public void onSelectMenuItem(ActionEvent event) {
// Command in {id1, id2}
callBusinessLogicMethod(event.getCommand());
...
}
...
Thanks,
Björn
|
|
|
OK, cool, so I'll stick to #{...} completely.
I totally agree on your statement, I usually like to develop Popups as Pagebeans first, so if I just use WorkspaceDispatchedPageBeans, I can use them easily within a popup or not.
Thanks,
Björn
|
|
|
OK I found the error. I need to us a # before the { in the CCGenClass annotation.
I guess I always have to do that, when I use a workspace dispatched bean.
Waht if I use a PageBean? I think I have seen things work also without # before.
Regards,
Björn
|
|
|
Hi,
I have a popup, which I open like this:
Code:
final ModalPopup popup = JournaleintragUebersichtUI.this.dispatcher.createModalPopup();
popup.setUndecorated(true);
AnhaengePopupUI anhaengePopupUI = (AnhaengePopupUI) JournaleintragUebersichtUI.this.dispatcher.getDispatchedBean(AnhaengePopupUI.class);
anhaengePopupUI.setAnhaenge(this.m_journaleintragsInfo.getAnhaengeList());
// @formatter:off
popup.open(anhaengePopupUI.getPageName(),
JournaleintragUebersichtUI.this.captainCasaUiMessageSource.getMessage("journaleintraege_anhaenge"),
450, 300,
new DefaultModalPopupListener(popup));
My JSP looks like this:
Code:
<t:fixgrid id="g_3" objectbinding="{d.AnhaengePopupUI.anhaengeGrid}" sbvisibleamount="25" width="100%" >
The UI Class looks like this:
Code:
@CCGenClass(expressionBase = "{d.AnhaengePopupUI}")
public class AnhaengePopupUI extends WorkpageDispatchedBean {
The Idea is to re-use a popup, so I re-init the UI class with data anytime just before the popup is opened. It's basically like in the demo workplace, just with less indirection.
The Problem is, I don't see any Data in my grid. The error message is:
2012:07:23 11:25:30:506 | 16 | SEVERE | Binding execption: java.lang.Exception: The binding object #{{d.AnhaengePopupUI.anhaengeGrid} for the FIXGRID is null
I have got no idea, where this Double-{ comes from. It is obviously wrong ant I have not written it down anywhere.
Has anybody had this problem before or any hint, where I can look. It seems like a typing error, but as far as I can see it, there is no typing error.
Regards,
Björn
|
|
|
Hm, this is very weird. I finally rebooted my computer. Afterwards everything was OK, both with my extended JAVA_OPTS and without.
So that error is indeterministic, and now it's gone ...
Björn
|
|
|
Hi,
If I create a simple jsf and UI, the following error happens when I press the refresh preview button in my Development Tools.
2012:07:12 13:33:33:734 | 50 | INFO | <<<<<<<<<< request processed [25] ---------------------------------------------
2012:07:12 13:33:33:734 | 50 | INFO | consumedNanosGet: 0 ms (nanos: 0, callCount: 0)
2012:07:12 13:33:33:734 | 50 | INFO | Re-setting session attributes - begin
2012:07:12 13:33:33:734 | 50 | INFO | Re-setting session attributes - end
12.07.2012 13:33:33 com.sun.faces.mgbean.BeanManager preProcessBean
SCHWERWIEGEND: JSF kann auf Anforderung nicht den verwalteten Bean d erstellen. Die folgenden Probleme wurden gefunden:
- Bean- oder Eigenschaftenklasse managedbeans.Dispatcher f?r verwalteten Bean d kann nicht gefunden werden.
Any idea how this can be? Source files are attached.
Last thing I changed was in my catalina.sh:
Code:
JAVA_OPTS="$JAVA_OPTS -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XXermSize=256m -XX:MaxPermSize=256m"
But I don't think that is the problem ...
Thanks,
Björn
|
|
|
Hi,
I'd like to persist Column Widths and Column Details.
I have found already org.eclnt.client.elements.impl.FIXGRIDElement.m_columnsequence etc.
Unfortunately, it seems no extension points are available to hook into this (in comparison to that, Splitpane#dividerlocation is a clear extension point), since I only use FIXGRIDLISTBinding and FIXGRIDItem in my UI Class.
Any ideas how I can get into this topic?
Thanks,
Björn
|
|
|
Hi,
to make my point clearer, I wrote down a dummy project to illustrate my problem.
Please have a special look at the searchbar.jsp. It is used in two different JSPs. Searching works well in both (so rowinclude and contentreplace work fine), but the popupmenu to switch case-sensitivity switches case-sensitivity always in one of the pages/grids, but not both as it should do.
Can you tell why this is?
Tanks,
Björn
|
|
|
The Problem was that the Spring Core Beans Jar, which contains the classes we use in our SpringContextDispatcher-Class was not visible to the Development Tools.
Using the classpathextension-Attribut in the project configuration to refence the JAR needed fixed the problem.
Thanks Björn Müller for your help on this issue.
Regards,
Björn
|
|
|