Issue with iText when doing document.Close... Unbalanced Save Restore state operators - itext

We have an application which was working fine as a monolith.
Now we are in the process of splitting the application
In this process, I am getting an error stating something as shown here below...
This happens only at the place of d.close()
Document d = new Document(PageSize.A4, 10, 10, 50, 50);
......
.....
finally{
if(d.isOpen()) {
d.close();
}
byteOutputStream.flush();
byteOutputStream.close();
pw.close();
return byteOutputStream.toByteArray();
}
(As a monolith the whole application was working fine)
(iText2.1.7 jar is used)
at com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:241)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:84)
at <<stub path>>.retrieve(_fileName1Remote_Stub.java:1)
at <<filePath>>.retrieve(fileName2.java:778)
at <<filePath>>.onCustomAction1(fileName3.java:403)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.el.parser.AstValue.invoke(AstValue.java:266)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:83)
... 43 more
Caused by: com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Unbalanced save/restore state operators.
at com.itextpdf.text.pdf.PdfContentByte.sanityCheck(PdfContentByte.java:3171)
at com.itextpdf.text.pdf.PdfContentByte.toPdf(PdfContentByte.java:245)
at com.itextpdf.text.pdf.PdfFormXObject.(PdfFormXObject.java:88)
at com.itextpdf.text.pdf.PdfTemplate.getFormXObject(PdfTemplate.java:241)
at com.itextpdf.text.pdf.PdfWriter.addSharedObjectsToBody(PdfWriter.java:1257)
at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1169)
at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:780)
at com.itextpdf.text.Document.close(Document.java:409)
at <>.createPDF(<>.java:135)
at <>.getPdfData(fileName1Bean.java:339)
at <>.retrieve(fileName1Bean.java:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:613)
at com.ibm.ejs.container.EJSContainer.invokeProceed(EJSContainer.java:5730)
at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:568)
at <>.retrieveIntercept(<>.java:43)
at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:613)
at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:227)
at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:548)
at com.ibm.ejs.container.interceptors.InvocationContextImpl.doAroundInvoke(InvocationContextImpl.java:229)
at com.ibm.ejs.container.EJSContainer.invoke(EJSContainer.java:5621)
at <>_c01dfd09.retrieve(EJSRemote0SL<>Bean_c01dfd09.java)
at <>Bean_c01dfd09_Tie.retrieve(_<>Bean_c01dfd09_Tie.java:1)
at <>.invoke(<>_c01dfd09_Tie.java)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:669)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:523)
at com.ibm.rmi.iiop.ORB.process(ORB.java:523)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1575)
at com.ibm.rmi.iiop.Connection.doRequestWork(Connection.java:3039)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2922)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:64)
at com.ibm.ws.giop.threadpool.WorkQueueElement.dispatch(WorkQueueElement.java:165)
at com.ibm.ws.giop.filter.GiopFilterChain.processMessage(GiopFilterChain.java:203)
at com.ibm.ws.giop.threadpool.PooledThread.handleRequest(PooledThread.java:81)
at com.ibm.ws.giop.threadpool.PooledThread.run(PooledThread.java:102)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)

So here it is...
First of all, I apologize if there was ambiguity in my question.
As said, version 2.1.7 is also used (thanks to the point made by Amedee). There is a 5.x version which I found in the shared libraries of the server.
Since the directory structure is totally different between the two versions, both the jars are maintained for a specific reason.
Also, I am new to this whole application myself and trying to get an understanding with people around in this project. When people who developed it may not be here, I thought a post may give me some idea. So, you are also partly correct Mr.Lowagie - I am ignorant on iText and doing my learning as well - I do not have a reason to Lie! :-).
Mkl, there is no exception in the try block. What eventually turned out was that the image was not getting generated or getting garbled for some other reasons. And it is being investigated. I have given this activity to a person who understands the system better than I do.
Thanks to all your mails and support my dear friends!

Related

Best practices for PartitionedSearch with chained planning variables?

I've been experimenting with a modified version of TWVSP, using chained planning variables and anchors. Similar approach as the TWVSP example with Standstill.
It looks like this:
Vehicle1 (AnchorShadowVarialbe) - Trip1_1 - Trip1_2 - ... - Trip1_k1
...
VehicleM (Anchor) - TripM_1 - TripM_2 - ... - TripM_kM
Trips are assigned to vehicles. Each trip has a start/end timestamp. One vehicle cannot service 2 trips that are overlapping.
To speed up the solver, I started splitting the search space into partitions with a SolutionPartitioner implementation, since the trips could be grouped into clusters based on their timeframes. The goal is to get trip-vehicle assignments for the clusters, but I have one vehicle fleet.
First issue, that I can't use the same vehicle objects, because the solver will fail with IllegalStateException - which is fine, I clone the list of vehicles for each partition and assign to trips to those cloned objects.
Then, I catch the phaseEnded event where phaseScope is an instance of PartitionedSearchPhaseScope (ie partition search ended event) and reassign the trips to the original vehicle objects (making sure that pointers are pointing to the same objects in each direction (similar to previousStandstill, nextVisit form the example)), as well as manually fix the chains, so cluster-chains are anchored only to the original vehicle, and they are chained together:
vehicleX - (partition0.trip(0)) - ... - (partition(i-1).trip(last)) - (partition(i).trip(0)) - ...
Then I update the solution in the solution scope:
partitionPhaseScope.getSolverScope().setBestSolution(mergedSolution);
I want to do a local search after the partitioned one, as it's advised in the docs, but get an error:
Caused by: java.lang.IllegalStateException: The move thread with moveThreadIndex (65) has thrown an exception. Relayed here in the parent thread.
at org.optaplanner.core.impl.heuristic.thread.OrderByMoveIndexBlockingQueue.take(OrderByMoveIndexBlockingQueue.java:147)
at org.optaplanner.core.impl.localsearch.decider.MultiThreadedLocalSearchDecider.forageResult(MultiThreadedLocalSearchDecider.java:188)
at org.optaplanner.core.impl.localsearch.decider.MultiThreadedLocalSearchDecider.decideNextStep(MultiThreadedLocalSearchDecider.java:159)
at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.solve(DefaultLocalSearchPhase.java:71)
at org.optaplanner.core.impl.solver.AbstractSolver.runPhases(AbstractSolver.java:99)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:189)
at com.mynamespace.planner.v4.rest.ScheduleResource.startSolving(ScheduleResource.java:221)
at com.mynamespace.planner.v4.rest.ScheduleResource.solve(ScheduleResource.java:112)
at com.mynamespace.planner.v4.rest.ScheduleResource_ClientProxy.solve(ScheduleResource_ClientProxy.zig:156)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:638)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:504)
at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:454)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:456)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:417)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:391)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:68)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:488)
... 49 more
Caused by: java.lang.NullPointerException
at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:353)
at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:338)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.update(StatefulKnowledgeSessionImpl.java:1587)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.update(StatefulKnowledgeSessionImpl.java:1559)
at org.optaplanner.core.impl.score.stream.drools.DroolsConstraintSession.update(DroolsConstraintSession.java:47)
at org.optaplanner.core.impl.score.director.stream.ConstraintStreamScoreDirector.afterVariableChanged(ConstraintStreamScoreDirector.java:141)
at org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableListener.retract(SingletonInverseVariableListener.java:96)
at org.optaplanner.core.impl.domain.variable.inverserelation.SingletonInverseVariableListener.beforeVariableChanged(SingletonInverseVariableListener.java:46)
at org.optaplanner.core.impl.domain.variable.listener.support.VariableListenerSupport.beforeVariableChanged(VariableListenerSupport.java:174)
at org.optaplanner.core.impl.score.director.AbstractScoreDirector.beforeVariableChanged(AbstractScoreDirector.java:433)
at org.optaplanner.core.impl.score.director.AbstractScoreDirector.changeVariableFacade(AbstractScoreDirector.java:446)
at org.optaplanner.core.impl.heuristic.selector.move.generic.chained.ChainedChangeMove.doMoveOnGenuineVariables(ChainedChangeMove.java:74)
at org.optaplanner.core.impl.heuristic.move.AbstractMove.doMove(AbstractMove.java:36)
at org.optaplanner.core.impl.heuristic.move.AbstractMove.doMove(AbstractMove.java:31)
at org.optaplanner.core.impl.score.director.AbstractScoreDirector.doAndProcessMove(AbstractScoreDirector.java:178)
at org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner.run(MoveThreadRunner.java:146)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
Any ideas what's missing?
Is there any docs on how to do PartitionedSearch with chained planning variables?
Thanks.
The FactHandle is probably null, so at the very least, the error message should be improved: https://issues.redhat.com/browse/PLANNER-2222
As for the actual bug, your Partitioned probably creates a partition that doesn't have that fact in it's #ProblemFactCollectionProperty or #PlanningEntityCollectionProperty, but does have it in a chained entity's trailing chain (= think variable listeners for arrival time etc that "update" it).

Kafka Streams application issues with version 0.10.2.0

I had an existing Kafka Streams application which was working fine with 0.10.1.1. Updated to the new 0.10.2.0 Kafka Streams library along with the new broker as well (although the new library is backward compatible with 0.10.1.1). Quick background
I have a REST API built on top of the interactive query metadata based API
It searches the local store and also queries remote store (using the StreamsMetadata obtained by KafkaStreams.allMetadataForStore method)
Use the application.server config param in order for this to work
Application is working fine with a single application instance. As soon as I start another instance and query the store via the REST, I experience the following issues
If I execute the search on the node which started first, the local store search failed with this exception
SEVERE: Error - the state store, my-store, may have migrated to another instance.
org.apache.kafka.streams.errors.InvalidStateStoreException: the state store, in-memory-avg-store, may have migrated to another instance.
at org.apache.kafka.streams.state.internals.StreamThreadStateStoreProvider.stores(StreamThreadStateStoreProvider.java:49)
at org.apache.kafka.streams.state.internals.QueryableStoreProvider.getStore(QueryableStoreProvider.java:55)
at org.apache.kafka.streams.KafkaStreams.store(KafkaStreams.java:699)
**at mycode.getLocalMetrics(myclass.java:121)**
**at mycode.remote(myclass.java:98)**
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
If I execute the search on the new node, the local store search was fine, but I see a nullpointer in the .forEach(new Consumer() line
ks.allMetadataForStore(storeName)
.stream()
.filter(sm -> !(sm.host().equals(thisInstance.host()) && sm.port() == thisInstance.port())) //only query remote node stores
.forEach(new Consumer<StreamsMetadata>() {
#Override
public void accept(StreamsMetadata t) {
//some logic
}
});
What could I be missing ??
Maybe you need to add a little 'sleep-time' for the creatation of StreamsMetadata.When i comment out the Thread.sleep(1000L);,i have the same error.
KafkaStreams streams = new KafkaStreams(builder, props);
streams.start();
Thread.sleep(1000L);//If commented out,error occur
System.out.println(streams.allMetadataForStore("statestore").size());
If you start multiple instances, store might migrate from one instance to another. If you collect the metadata about store location before a store migrates, you metadata is not correct anymore. Thus, you need to refresh your metadata (ie, collect it again).
The exception org.apache.kafka.streams.errors.InvalidStateStoreException: the state store, in-memory-avg-store, may have migrated to another instance indicates that your meta data is stall.
So you can catch this exception and retry to recover from it.
Based on Matthias J. Sax comments, one can load stream store inside stream statelistener like below
streams.setStateListener((newState, oldState) -> {
if (newState == State.RUNNING && oldState.REBALNCING) {
System.out.println(streams.allMetadataForStore("statestore").size());
}});

duplicate matlab command window to gui

I am asking this question in reference to this post as I wasn't able to comment to the original post.
I used the code given in that post from #Hoki and mixed in my gui it is working fine. But sometimes i am getting following error
Error using test_gui>scroll_to_bottom (line 176)
Java exception occurred:
java.lang.IllegalArgumentException: bad position: 13319
at javax.swing.text.JTextComponent.setCaretPosition(Unknown Source)
Error in test_gui>commandWindowMirror (line 170)
scroll_to_bottom(h.f)
Error using test_gui>commandWindowMirror (line 166)
Java exception occurred:
javax.swing.text.BadLocationException: Invalid location
at javax.swing.text.GapContent.getChars(Unknown Source)
at javax.swing.text.GapContent.getString(Unknown Source)
at javax.swing.text.AbstractDocument.getText(Unknown Source)
at javax.swing.text.JTextComponent.getText(Unknown Source)
This always happens when I ask user to input something. My script ask users to enter some strings or values sometimes. But good thing is program doesnot crash it gives just error and when you press 'enter' again it returns to back position where it was stop. but scroll stops working and only when script is executed fully scroll comes to the last line. Any idea what might be causing this error and how to avoid it. Thank you.

Problem loading range_slices in Cassandra

I'm having just a little bit of trouble getting data out of Cassandra. The main problem is this exception:
ERROR 15:45:07,037 Internal error processing get_range_slices
java.lang.AssertionError: (162293240116362681726824838407749997815,35552186147124906726154103286687761342]
at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1251)
at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:428)
at org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:513)
at org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.process(Cassandra.java:2868)
at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2555)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:167)
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:619)
So what do I do? I use describe_ring to get the topology of the network, then I ask each of the nodes in the network describe_splits which gives me the tokens I should use to fetch the ranges, and then I just start asking for them, making sure that I set the start_token and end_token on the keyranges.
Any ideas?
That's a bug fixed for 0.6.9 and 0.7rc2.

Insane SmartGWT + GWT situation... Error on instantiating ListGridRecord?

I am asking this here in the hope that someone has maybe come across this situation too... I have posted this on the SmartGWT forum:
I am having an issue when trying to instantiate a ListGridRecord object on my server side. I am using the ListGrid on the client side, I want to use GWT's RPC to pass back an array of ListGridRecord objects to populate the grid with. I know that SmartGWT is designed to link to a datasource but I want full control over when I populate the grid and this shouldn't be as much of a nightmare as it is to do.
I have searched high and low and cannot find anyone complaining about the same thing. The exception however (listed below) has come up (in my search findings) as a possible memory error - where increasing the memory (-Xmx512m argument) has apparently solved the problem. It did not, however, sort out mine.
If anyone can shed any light on this I would greatly appreciate it!
Here are my details:
Developing using Eclipse Galileo on Ubuntu 9.04 (Jaunty) and GWT 2.0.3, I built the initial GWT project using the webAppCreator bundled with the GWT 2.0.3 release and imported the project into Eclipse as described on the GWT Getting Started Page (as using the GWT Eclipse plugin caused even more nightmares when trying to connect to a database - this is apparently due to using the Google App Engine and turning it off as all the posts suggested only causes ClassNotFound exceptions).
The line that causes the error is literally:
ListGridRecord a = new ListGridRecord();
The error I get is the following:
00:00:25.916 [WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException : Service method 'public abstract java.lang.String za.co.company.product.client.service.EmployeeService.getAllEmployeeAsListGridRecord()' threw an unexpected exception: java.lang.UnsatisfiedLinkError: com.smartgwt.client.util.LogUtil.setJSNIErrorHandler()V
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java :62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) Caused by: java.lang.UnsatisfiedLinkError: com.smartgwt.client.util.LogUtil.setJSNIErrorHandl er()V
at com.smartgwt.client.util.LogUtil.setJSNIErrorHandler(Native Method)
at com.smartgwt.client.core.JsObject.<clinit>(JsObject.java:30)
at za.co.company.product.server.service.EmployeeServiceImpl.getAllEmployeeAsListGridRecord(EmployeeServ iceImpl.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java :62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Thanks in advance!
Xandel
I found the answer / solution here.
Bottom line is that you cannot instantiate a Record or a ListGridRecord object on the server side because it relates directly to JavaScript and meant for only the client side...
Hope this helps somebody!
In general you can say that everything that belongs to the SmartGWT JAR should never be used on the server.
To avoid misuse you may create three projects and split the classes into
1. client side
2. service interfaces
3. server side
but it's probably not worth the hassle, I guess you know for what to look the next time that happens :-)