ClassNotFoundException When Adding HttpServletRequestWrapper to Filter

Hi,
If I add the following code to a Filter, I get a ClassNotFoundException (Pasted log below):
          HttpServletRequestWrapper wrapper =
               new HttpServletRequestWrapper((HttpServletRequest)servletRequest)
               public String getParameter(String name)
                    return "foo";
It works fine if I replace the above code with this:
          HttpServletRequestWrapper wrapper =
               new HttpServletRequestWrapper((HttpServletRequest)servletRequest);
Any ideas? The JDK version is 1.6.0_04.
Thanks,
- Ole
P.S. This is the exception log:
SEVERE: Exception starting filter testFilter
java.lang.NoClassDefFoundError: test/filter/TestFilter$1
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)

Hi,
Thank you for your responses. Konstantin on Tomcat Users List pointed out the issue to me as well. As you inferred, the issue ended up being that I was manually copying the compiled filter to the webapp, however as soon as I introduced the anonymous class (Or inner class), the compiler creates additional class files. For anonymous classes it's something like OuterClassName.$1.class and for inner classes it's something like OuterClassName.InnerClassName.class. However I was only copying over OuterClassName.class, and the jvm could not find the $ class.
I should have read the trace a little better. Thanks again for your pointers. Next time I see it I'll have a much clearer idea :-)
- Ole

Similar Messages

  • Subtotal on Ytd column changes when adding a date-filter

    Hi everybody,
    I am facing a challenge in BIEE which I can't explain.
    BI Server version: 10.1.3.4.1 Build 090414.1900
    Using Sample Sales Reduced
    I've defined the following request
    Columns:
    Region, Year, Month, Day Date, Revenue, Year to Date Revenue (Aggregation Rule: Server Complex Aggregate)
    Filter:
    Year = 2008
    and month = 2008/01
    and region = East
    Results shown in a table view and adding a subtotal on month
    Revenue column: 428261.97
    Year to Date Revenue: 428261.97
    The challenge:
    Adding the following filter
    Day Date <= 1/31/2008
    leads to the following subtotals
    Revenue column: 428261.97
    Year to Date Revenue: 6867366.46
    The subtotal in Year to Date Revenue is now a total of all the values (aggregation rule is still Server Complex aggregate) and I can't get back to the correct number as long as the Day Date filter exists. I would have expected the 428261.97 as the subtotal.
    Is there anything I've misunderstood?
    Thanks for your help
    Regards
    Andy

    Hi Andy,
    Other than equal to/is in filter if u apply u ll get *6,867,366.46* ....why because its dividing the data for all the day date that u mentioned let say less than 31st jan -08....if u want to get *428261.97* remove the extra filter
    have u seen the formula for YTD column ? ( TODATE("Sample Sales"."F0 Rev Base Measures"."1-01 Revenue (Sum All)", "Sample Sales"."H0 Time"."Year"))
    from the formula ,Less than equal to means it ll consider all the dates and add up the revenue then how come you will get 428261.97?
    thanks,
    Saichand.v

  • Parent key 1393696 not found when adding child 1393727.

    By posting, I received this :
    An error in the system has occurred. Please contact the system administrator if the problem persists.
    type: java.lang.IllegalArgumentException
    java.lang.IllegalArgumentException: Parent key 1393696 not found when adding child 1393726.
    at com.jivesoftware.util.LongTree.addChild(LongTree.java:99)
    at com.jivesoftware.forum.database.DbTreeWalker.addChild(DbTreeWalker.java:233)
    at com.jivesoftware.forum.database.DbForumThread.addMessage(DbForumThread.java:617)
    at com.jivesoftware.forum.proxy.ForumThreadProxy.addMessage(ForumThreadProxy.java:145)
    at com.jivesoftware.forum.action.PostAction.createMessage(PostAction.java:1083)
    at com.jivesoftware.forum.action.PostAction.execute(PostAction.java:946)
    at com.jivesoftware.forum.action.PostAction.doPost(PostAction.java:666)
    at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:300)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:166)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.jivesoftware.forum.action.JiveExceptionInterceptor.intercept(JiveExceptionInterceptor.java:63)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.jivesoftware.base.action.JiveObjectLoaderInterceptor.intercept(JiveObjectLoaderInterceptor.java:56)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at oracle.wocapps.forum.action.OracleLocaleInterceptor.intercept(OracleLocaleInterceptor.java:74)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:71)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
    at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
    at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
    at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:272)
    at com.jivesoftware.base.util.JiveWebWorkServlet.service(JiveWebWorkServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at com.jivesoftware.util.SetResponseCharacterEncodingFilter.doFilter(SetResponseCharacterEncodingFilter.java:53)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
    at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
    at com.jivesoftware.util.SetRequestCharacterEncodingFilter.doFilter(SetRequestCharacterEncodingFilter.java:48)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)

    Check the adapter that is attached to the child table , compile it again and try adding .
    BTW which connector you are using and paste the error trace from log files
    Thanks
    Suren

  • PDRL Error when Adding External User

    Does anyone know what this error refers to?
    Error: There is a problem with the policy you edited. (invalid PDRL format)
    This occurs when adding a NEW External user to a new policy. Any help would help greatly!
    Thanks, John

    You can't use Essbase to create users when you have externalized the security to HSS.
    The only way to batch import users and provision them to Essbase is to use the CSS import-export utility which can batch import users into HSS and provision them with Essbase security if necessary. The only thing you won't be able to do is assign Essbase filter access to the user.
    You should be able to find the utility under:
    HYPERION_HOME\common\utilities\CSSImportExportUtility

  • When adding folders to iTunes 11, they don't show up in the library.  On one folder add, it created a playlist (not what I wanted).  On the second folder, it shows nothing.  Never seen this before.  Advice?

    I added my first folder of MP3s and it created a playlist, but didn't show up in the library.  When adding a second folder, it didn't show up anywhere.  I can do a search for them in the search window, and it finds/plays them, but I want to be able to browse them in my library.  These are not MP3s downloaded from iTunes, but are personal files located on my hard drive.  Can anyone help?

    I have a Dell that's running Windows XP. I have found that itunes is very temperamental. this works most of the time... except on my son's computer that's running Windows Vista.
    Go to your library in iTunes. Then go up to file and try one of the options (import, add folder to library, or add file to library).
    Adding a folder is the least work. You can add all the files from a folder with one click... if it works. Remember that itunes is temperamental.
    If that doesn't work, try adding a file. The problem with that is that you have to go through the whole process for each and every file (song, movie, etc).
    Sometimes the only thing that works is to import.
    I haven't gotten iTunes to work on my son's computer (Windows Vista).
    I can't get support from apple in any way at all! They are good about creating electronics that appeal to us But they are lousy at support. If anyone figures out how to access support (where you can actually contact Apple) please let me know ([email protected]). I've been trying for 6 months.

  • Mail compose window jumps to back when adding address. As soon as I add a single character to the address window of a new mail message, it pops  under all other existing windows. If I have others open...and who doesn't? I have to then close them all.

    So.....deeply....disappointed by Lion...
    It honestly gets in the way of getting things done.
    When was the last time you had an upgrade, in any program or  OS that caused an immediate productivity drop?
    Mail windows, when adding a new address, pop under to become the lowest window in the stack...before you are done composing...
    no extra clicks..just adding ONE character to the actual address bar does it.
    Trying to add files to an online content management system is hard...it's hard because when you attempt to add the file, it disappears from
    the list, so a search must be conducted...oh not a search of your hard drive...no...it has to include ALL FILES and that takes a while, showing
    files totally unrelated to what you need or in whatever that view is, showing everything from movies to documents, to a whole range of other stuff
    that is irrelevant to what is being sought.
    I can get used to the disappearing icon tool bar...but the message threading in Mail is so strangely bad it's hard to describe. So you send out an email,
    and it had 5 points...but that was 3 emails before...A reply comes in addressing those 5 points but saying something like ..."I disagree with point number 4"
    Unless you have total recall the thread shows you only incoming mail and the LAST most recent folded up message you sent. You are forced to go digging
    into sent mail to see what that point you made 8 days eariler actually was...
    I am pleased that I don't have to have Launchpad (honestly the silliest 'feature' I've ever seen on a computer) in the dock and see no point in the juvenile Mission Control (the naming scheme is odd and reminiscent of Junior Spaceman...how ironic that we end America's manned launch capability at the same time as Launch Pad and Mission Control, both throwbacks to the 60's are added to an OS). In any case both are virtually useless tools. One, replacing the mildly useful Spaces and the other just genuinely useless.
    I'm going to give Apple until the second bug fix...but I can tell right now that Snow Leopard was a far more robust OS. The thousands of posts about this may rise to the level of AntennaGate...I hope so...It seems the only way to get Steve (for whom I have now honestly lost respect for the FIRST TIME) to address the issues is to embarrass the company publicly. Lion is a broken system, poorly conceived...and proof that the Apple methodology of no widespread user testing can and does fail. This needs to get fixed. Soon.

    It seems to have something to do with profile manager.
    I get stack traces in the "system messages" logs for the "Server" application, grrrr.
    I'll get that info and attempt to submit a but report tonight.

  • How can I see more than 100 users when adding users to a node?

    When adding new users through the User Management interface, only the
    first 100 entries are listed. How do I increase the number of entries
    so I can see the next hundred (or more) users? Is this done via the server
    configuration parameter maxsearchresult?
    <P>
    The GUI Add User to Node option was meant for infrequent adds in smaller
    environments. In large deployments (more than 100 user adds at a time), you
    should be using the command line script "unidsattach". See the Administrators
    Guide for more details on the command.
    <p>
    The parameter, maxsearchresult, is meant to limit the number of users that can
    be returned on a search request by the calendar client. For example, if you have
    1000's of calendar users and someone tries to search for all of them, this
    parameter will make sure that the user is not left waiting a long time for
    results.

    In Settings > Notification Center, try turning "on" all the six buttons under "Today View".  Also turn "on" the top two buttons under "Access on Lock Screen".  Doing that should show you "Tomorrow" at the bottom of Noticiation Center.

  • On a Mac, in Adobe Photoshop CC 2014, when adding audio to an edit, i get the message "Could not complete your request, because Dynamiclink is not available". When performing the exact same operation in Adobe Photoshop CC, i can add audio in the same way,

    On a Mac, in Adobe Photoshop CC 2014, when adding audio to an edit, i get the message "Could not complete your request, because Dynamiclink is not available".
    When performing the exact same operation in Adobe Photoshop CC, i can add audio in the same way, no error message. Any ideas to solve this, anyone? Would be greatly appreciated.

    I tried to update and it keeps telling me to get the Application Manager. And this is what happens
    Adobe Application Manager failed and it told me to download the Adobe Support Advisor.
    Adobe Support Advisor told me that there was an issue:" cpsid_82829s1: "A restart is pending," bootstrapper error has occurred. "Token Number: 40-87772-063201122012
    I followed the instructions it gave me to correct this issue:
    If you receive the error "Installer has detected that a machine restart is pending. It is recommended that you quit the installer, restart try again," do the following:
    #Restart the computer and try the installation again.
    #If the installation fails, delete the InProgress registry key: 
    Disclaimer: This procedure involves editing the Windows registry. Adobe doesn't provide support for editing the registry, which contains critical system and application information. Make sure to back up the registry before editing it. For more information about the registry, see Windows registry information for advanced users on the Microsoft support site, or contact Microsoft. 
    Launch Windows Registry Editor.
    (Windows XP) Choose Start > Run, type regedit in the Open text box and click OK.
    (Windows Vista/ Windows 7) Choose Start, type regedit in the Search box, and press Enter.
    Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager.
    Delete the InProgress key.
    I was not able to find the "InProgress" key.

  • Can you customize what folder MAIL goes to when adding attachments?

    Can you customize what folder MAIL goes to when adding attachments?
    My friend has 2 email addresses for businesses.
    He has invoices in folders for both, and wants to set up the Mac like this:
    When he writes from one email address and attaches documents - he want the Mac always to go to the corresponding folder for that company of his. Same for the other email address...
    Make sense?
    Can this be done?
    Thanks in advance....

    Please read this whole message before doing anything.
    This procedure is a diagnostic test. It’s unlikely to solve your problem. Don’t be disappointed when you find that nothing has changed after you complete it.
    The purpose of the test is to determine whether your problem is caused by third-party system modifications that load automatically at startup or login. 
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards. Boot in safe mode* and log in to the account with the problem. The instructions provided by Apple are as follows:
    Shut down your computer, wait 30 seconds, and then hold down the shift key while pressing the power button.
    When you see the gray Apple logo, release the shift key.
    If you are prompted to log in, type your password, and then hold down the shift key again as you click  Log in.
    *Note: If FileVault is enabled under OS X 10.7 or later, or if a firmware password is set, or if the boot volume is a software RAID, you can’t boot in safe mode. Safe mode is much slower to boot and run than normal, and some things won’t work at all, including wireless networking on certain Macs.  The next normal boot may also be somewhat slow.
    The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin. Test while in safe mode. Same problem? After testing, reboot as usual (i.e., not in safe mode) and verify that you still have the problem. Post the results of the test.

  • Issue with broken navigation when implementing a SSO filter

    Hello
    I'm facing an issue when integrating the Jasig CAS SSO with Siebel Self-Service (which is an Oracle ADF application). When applying the CAS Authentication Filters, the navigation rules and page flows in the Self-Service application cease to work.
    The Siebel Self-Service application is using adfFaces filter, adfBindings filter and the SelfServiceFilter as controllers for the pages.
    For the integration with the Jasig CAS, a client lib is installed in the Self-Service OC4J. This CAS Client provides an "Authentication Filter" that is defined in the web.xml. The pages in Self-Service that are to be protected by this authentication filter (the pages that needs user authentication in order to be accessed) are also mapped in the web.xml. This authentication filter checks the user against the CAS Server and sends back a ticket parameter with the URL if the user is logged in. This parameter is used to validate the login attempt, and on successful validation, the CAS server provides the username of the user to a bean called by the SelfServiceFilter in the Self-Service app.
    My problem is that any JSF navigation on a page (navigation rules and page flows) cease to work as soon as a page is protected by the Authentication filter. One example would be during the check out process (which consists of several steps - several jspx pages). When you click “Next” on the first check out step, you are not redirected to step no 2, but to the same check out page as you started on.
    Since the Authentication Filter protects all the pages involved, it will intercept any request to these pages, fetch the request URL, redirect to the CAS server for user authentication, and on successful authentication it will redirect the user back to the URL that was fetched by the Authentication Filter in the first place.
    I have been looking into this, and I think that the JSF navigation rules etc, cease to work because the JSF page flows are being interrupted. When clicking “next” the page would normally post information to the life cycle of the requested page (which in some cases in this app, is also a postback to the same page). This information is then used when going through the life cycle of the new page. But when the CAS Authentication Filter intercepts the request, send the user to the CAS server and then redirect back to the page, this page life cycle is interrupted, or the necessary data is not attached in this “new” request.
    Does anyone have an idea for how I can solve this issue?
    Thanks!
    Jonte

    Hi,
    JSF pages use a postback navigation model. The filter works as expected but performs a redirect to the request page, which in the case of postback is the current page you see. To change this, you need to change the navigation cases to perform "redirect" navigation itself. Its ot an ADF Faces problem but default JSF behavior
    Frank

  • Coredump when adding new data to a document

    Hi,
    I have managed to get a coredump when adding data to a document,
    initially using the Python API but I can reproduce it with a dbxml script.
    I am using dbxml-2.2.13 on RedHat WS 4.0.
    My original application reads XML data from files, and adds them
    one at a time to a DbXML document using XmlModify.addAppendStep
    and XmlModify.execute. At a particular document (call it "GLU.xml") it
    segfaults during the XmlModify.execute call. It is not malformed data in
    the file, because if I remove some files that are loaded at an earlier stage,
    GLU.xml is loaded quite happily and the segfault happens later. Changing
    my application so that it exits just before reading GLU.xml, and loading GLU.xml's
    data into the container file using the dbxml shell's "append" command produces
    the same segfault. The stacktrace is below. Steps #0 to #7 inclusive are the
    same as the stacktrace I got when using the Python API.
    Can anyone give me any suggestions? I could send the dbxml container file and
    dbxml script to anyone who would be prepared to take a look at this problem.
    Regards,
    Peter.
    #0  ~NsEventGenerator (this=0x9ea32f8) at NsEventGenerator.cpp:110
    110                     _freeList = cur->freeNext;
    (gdb) where
    #0  ~NsEventGenerator (this=0x9ea32f8) at NsEventGenerator.cpp:110
    #1  0x009cacef in DbXml::NsPullToPushConverter8::~NsPullToPushConverter8$delete ()
        at /scratch_bernoulli/pkeller/dbxml-2.2.13/install/include/xercesc/framework/XMLRefInfo.hpp:144
    #2  0x00a5d03c in DbXml::NsDocumentDatabase::updateContentAndIndex (this=0x96b7a60,
        new_document=@0x96e3608, context=@0x96a3fc8, stash=@0x96a4098) at ../scoped_ptr.hpp:44
    #3  0x009a71b1 in DbXml::Container::updateDocument (this=0x96a71d0, txn=0x0, new_document=@0x96e3608,
        context=@0x96a3fc8) at shared_ptr.hpp:72
    #4  0x009b8465 in UpdateDocumentFunctor::method (this=0xb7d3a008, container=@0x96a71d0, txn=0x0, flags=0)
        at TransactedContainer.cpp:167
    #5  0x009b70c5 in DbXml::TransactedContainer::transactedMethod (this=0x96a71d0, txn=0x0, flags=0,
        f=@0xbff66500) at TransactedContainer.cpp:217
    #6  0x009b71e4 in DbXml::TransactedContainer::updateDocument (this=0x96a71d0, txn=0x0,
        document=@0x96e3608, context=@0x96a3fc8) at TransactedContainer.cpp:164
    #7  0x009d7616 in DbXml::Modify::updateDocument (this=0x96c1748, txn=0x0, document=@0xbff665b0,
        context=@0xbff669dc, uc=@0xbff669e4)
        at /scratch_bernoulli/pkeller/dbxml-2.2.13/dbxml/build_unix/../dist/../include/dbxml/XmlDocument.hpp:72
    #8  0x009d9c18 in DbXml::Modify::execute (this=0x96c1748, txn=0x0, toModify=@0x96a7280,
        context=@0xbff669dc, uc=@0xbff669e4) at Modify.cpp:743
    #9  0x009c1c35 in DbXml::XmlModify::execute (this=0xbff666c0, toModify=@0x96a7280, context=@0xbff669dc,
        uc=@0xbff669e4) at XmlModify.cpp:128
    #10 0x08066bda in CommandException::~CommandException ()
    #11 0x0805f64e in CommandException::~CommandException ()
    #12 0x08050c82 in ?? ()
    #13 0x00705de3 in __libc_start_main () from /lib/tls/libc.so.6
    #14 0x0804fccd in ?? ()
    Current language:  auto; currently c++

    Hi George,
    I can get the coredump with the following XML data (cut down from its original
    size of around 900Kb):
    <file name="GLU.xml">
    <_StorageUnit time="Wed Apr  5 11:06:49 2006" release="1.0.212"
    packageName="ccp.ChemComp" root="tempData" originator="CCPN Python XmlIO">
    <parent>
      <key1 tag="molType">protein</key1>
      <key2 tag="ccpCode">GLU</key2>
    </parent>
    <StdChemComp ID="1" code1Letter="E" stdChemCompCode="GLU" molType="protein" ccpCode="GLU" code3Letter="GLU" msdCode="GLU_LFOH" cifCode="GLU" merckCode="12,4477">
      <name>GLUTAMIC ACID</name>
      <commonNames>L-glutamic acid</commonNames>
    </_StorageUnit>
    <!--End of Memops Data-->
    </file>This happens when the data from 106 other files have been inserted beforehand
    (ranging in size from 1Kb to 140Kb). If I manipulate the order so that the above data
    is loaded earlier in the sequence, it inserts fine and I get the coredump when
    loading data from a different file.
    The actual XmlModify calls look something like:
      qry = mgr.prepare("/datapkg/dir[@name='dir1']/dir[@name='dir2']", qc)
      mdfy.addAppendStep(qry, XmlModify.Element, "",
                         '<file name='" + fileName + '">' +
                          data[pos:] + "</file>")
      mdfy.execute(XmlValue(doc), qc, uc)where data[pos:] points to the location in the mmap-ed file containing the
    above data just after the <?xml ...?> header.
    If you want to try to reproduce the crash at your end there are a couple of ways
    we could do it. I have just figured out that this forum software doesn't let me
    upload files or reveal my e-mail address in my profile, but you can contact me with
    username: pkeller; domain name: globalphasing.com and I can send the
    data to you.
    Regards,
    Peter.

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • ITunes 11.0.2.26 freezes when adding folder to library

    iTunes 11.0.2.26 freezes when adding folder to library. This did not occur with any previous version and is taking place with several different folders. Adding files as a batch wrks fine.

    Hi DJ_Dan,
    Welcome to the Support Communities!
    The article below may be able to help you with this issue.
    Click on the link to see more details and screenshots. 
    iTunes for Windows Vista or Windows 7: Troubleshooting unexpected quits, freezes, or launch issues
    http://support.apple.com/kb/TS1717
    Cheers,
    - Judy

  • PSE 10 system slows down when adding files to catalog

    I recently switched from PSE 3 to PSE10 and had issues converting the catalog.  I never did resolve those so I decided to start with creating a new catalog in PSE 10.  My first session of adding photos worked fine.  When I restarted the task the next day, I was asked in participating in making the product better by sharing information about my use with Adobe.  I agreed to participate and very quickly noticed that my computer slowed considerably when adding photos from my hard drive.  The process still worked but I experienced a dramatic increase in the time it took for photos to be added (e.g. the cursor spins for a couple of minutes while the task is working).  I went under my account preferences and opted out of the product participation program but the problem has persisted.  I rebooted the computer to see if that would help but it has not.  I have turned off all media analysis and both optimized and repaired my catalog and while this has provided some improvement, there are still instances where the system slows down.  Now it seems that every other folder's worth of pictures (does not matter how many photos) I add causes this delay.
    I appreciate any help anyone can provide in determining why this slow down keeps occuring. 
    FYI, I am running a new Windows 7, 64-bit system with 8GB DDR-3-1066MHz, and 2 TB hard drive.

    Have you also edited the Preferences (Performance) to increase the amount of RAM that PSE can use?
    Do you have many background processes running?  Having a single HDD means that everything running on your computer has to wait in the queue for disk access.
    How many photos are you importing?
    What file types are the photos?
    How large are the photos?
    Ken

  • "The Connection to Microsoft Exchange is unavailable" when adding second Exchange account to Outlook 2013

    I have a problem that I've found to be typical, just haven't found anything that describes my exact problem.
    I'm having trouble adding a second Exchange 2010 server account to Outlook 2013 in one of the computers of the domain. Outlook 2013 will complain with "The Connection to Microsoft Exchange is unavailable. Outlook must be online or connected to complete
    this action".
    I've Googled and found many threads with the same error... however most of those seem to be either a problem with the server, or the Global Catalog in Active Directory, or the "connection method" (I've tried all found solutions to no avail).
    This is not the case, since the first account is added with absolutely no problem. It can send and receive and I can delete the outlook profile and recreate it and it'll give no problems. I have this problem only when adding a second account.
    This is a fresh Windows 8.1 install with an up-to-date Outlook 2013. I have other computers in the same domain and network, with the same setup (Win 8.1 + Outlook 2013) configured with two exchange accounts with no problem.
    There are no connectivity problems, I can access that same account through OWA and in other computers on the network... the Global Catalog seems to be fine (shows two active DCs, which is correct).
    I've tried deleting and recreating the outlook profiles, repairing the outlook installation, even deleting all outlook files in AppData and letting it recreate them, with no success.
    Any hints of what could be going on?
    Before I speak, I have something important to say.

    Hi Javier,
    Thank you for the update.
    I have tested on my lab and get following result.
    Lab: Exchange 2010, CAS Array (CAS01+CAS02), MBX01, DC
    Type Server Field
    Check name result
    Changed Server Field
    CAS01.domain.com
    Yes
    CASArray.domain.com
    CASArray.domain.com
    Yes
    CASArray.domain.com
    DC.domain.com
    Yes
    CASArray.domain.com
    MBX01.domain.com
    No
    "The Connection to Microsoft Exchange is unavailable"
    Based on my knowledge, the reason why inputing DC FQDN in the Server Field fixes this issue is that Outlook performs AD Lookup and finds the account configuration from AD, then back the CAS Array FQDN in the Server Field  instead of DC FQDN.
    Exchange 2010 is different from Exchange 2013, if you are using Exchange 2013, we need to input MailboxServerGUID.domain.com into Server Field.
    If there is anything I’ve misunderstood, please don’t hesitate to let me know.
    Thanks,
    Steve Fan
    Forum Support
    Come back and mark the replies as answers if they help and unmark them if they provide no help.
    If you have any feedback on our support, please click
    here

Maybe you are looking for