Posting this just in case anyone else hits this issue. We run Java 1.6.0_23 in our local development environments, but deploy to Java 1.6.0_03 (I suppose ideally our development should match the deploy target). I've seen a couple of people encountering problems with this error:
javax.xml.bind.UnmarshalException: Unable to create an instance xmltype ...
I had an abstract JAXB class and some concrete ones that implemented it and were annotated with XmlType. This worked without problems in our local environment, using (I assume) JAXB 2.1. However, when deployed I was getting the above error. Our deploys include JAXB 2.2 in an endorsed folder because we don't want to use JAXB 2.0 (which is what Java versions previous to 1.6.0_04 include).
What a confusing mess! To summarize:
locally: JAXB 2.1
deployed: JAXB 2.2
In the end to fix the issue, I ended up modifying the code that created the JAXBContext to include all of my concrete classes as well (it is using the JAXBContext.newInstance(Class... classes) method). This appears to have fixed it; I'm not sure why 2.1 is able to unmarshal without the classes all listed there while 2.2 is not.
I had read previously that JAXB would use the XmlSeeAlso annotations to look up the additional classes, but it doesn't seem to be behaving as expected in this situation. My abstract class has an XmlSeeAlso annotation that points to all of the concrete implementations.
Hope this helps someone!
Monday, February 14, 2011
Friday, February 11, 2011
Javascript trickery: direct links to Fredericton Sobeys/Superstore Flyers
I've been really hankering for a simple grocery shopping comparison tool, but haven't come across one yet.
At one point I started working on one without really getting very far, but after some investigation, I discovered that most of the handling for the Sobeys and (Atlantic) Superstore flyers is Javascript-based. This could probably lead to some easy-to-parse lists of sales and prices.
One useful feature in the meantime is the ability to get to the accessible flyers for my stores quickly by looking at the "publication.aspx" source code. If you open that file up in some developer tools, you can build your own links in this format:
My Superstore
My Sobeys
The links look like this:
http://director.flyerservices.com/{CUSTOMER_NAME}/PublicationDirector.ashx?OrganizationId={ORGANIZATION_ID}&BannerId={BANNER_ID}&BannerName={BANNED_NAME}&pubtype={PUBLICATION_TYPE}&Language=en&Version=Text&PostalCode=e3a2l4&SessionId=nkg4olv1s3brluuc2cntid45&StoreId={STORE_ID}
Hopefully that session ID won't let you guys exploit anything, I'm not sure if it's required.
At one point I started working on one without really getting very far, but after some investigation, I discovered that most of the handling for the Sobeys and (Atlantic) Superstore flyers is Javascript-based. This could probably lead to some easy-to-parse lists of sales and prices.
One useful feature in the meantime is the ability to get to the accessible flyers for my stores quickly by looking at the "publication.aspx" source code. If you open that file up in some developer tools, you can build your own links in this format:
My Superstore
My Sobeys
The links look like this:
http://director.flyerservices.com/{CUSTOMER_NAME}/PublicationDirector.ashx?OrganizationId={ORGANIZATION_ID}&BannerId={BANNER_ID}&BannerName={BANNED_NAME}&pubtype={PUBLICATION_TYPE}&Language=en&Version=Text&PostalCode=e3a2l4&SessionId=nkg4olv1s3brluuc2cntid45&StoreId={STORE_ID}
Hopefully that session ID won't let you guys exploit anything, I'm not sure if it's required.
Thursday, January 13, 2011
Chrome CSS3 bug when combining 3D effects with opacity transition
Ran into a bug in Chrome recently where the background color of a object disappears during an opacity transition. I reported the bug here: Chromium bug report
You can try the code out for yourself here: https://gist.github.com/778035
You can try the code out for yourself here: https://gist.github.com/778035
Thursday, February 4, 2010
jQuery PlacePicker
I just realized I haven't mentioned this plugin here, and in order to get some Google ranking I'd thought I'd add some info and links! :)
A while back I created a widget for doing geocoder lookups. It's meant to be fairly generic, I wrote a Google Maps V3 plugin. The plugin interface isn't the best, I'm open to suggestions. :)
You can find more info and samples on the github page. Feel free to add any suggestions, either on the github page or here.
jQuery PlacePicker on github
A while back I created a widget for doing geocoder lookups. It's meant to be fairly generic, I wrote a Google Maps V3 plugin. The plugin interface isn't the best, I'm open to suggestions. :)
You can find more info and samples on the github page. Feel free to add any suggestions, either on the github page or here.
jQuery PlacePicker on github
Tuesday, January 26, 2010
Google Calendar Advanced Printing
Hi folks,
So back a while ago I started a Google Calendar Gadget that was supposed to replace the bookmarklet. Unfortunately, there were problems with the Google OAuth stuff preventing it from working. Well, somewhere along the way they got them sorted out. If you'd like to give it a try, here's the link to click:
Advanced Printing for Google Calendar
Let me know how it works. Also, the bookmarklet and gadget are on GitHub, here:
Wednesday, December 2, 2009
Perl Advent Calendars
Hohoho, time to study up on Perl tricks! :) I've added a bunch of Perl Advent Calendars to my Google Reader, finding out some interesting stuff. There's a Bundle over on the right that you can add to get them too.
Friday, November 27, 2009
Advanced Printing from Google Calendar
Trying to get this up quick, so I'm just gonna post the bookmarklet and short instructions:
Drag to bookmarks, or right-click and 'Add Bookmark' (if available)
Drag to bookmarks, or right-click and 'Add Bookmark' (if available)
- Go to your calendar
- Click the bookmarklet
- Click the regular print text/icon in your Calendar
- A new interface pops up.
- Set your options and click the 'Generate' button
- The link that appears will generate your calendar
Reports any problems you have!
Update:
Here are some instructions that might be clearer for some, thanks to GT Product Manager:
- Drag the bookmarklet to "Bookmarks" in the menu bar or your Bookmark Toolbar.
- Open a Google calendar page.
- Click the saved bookmarklet.
- Select start and end dates in the top boxes using the drop down calendars or typing in yyyymmdd.
- Select the calendars to print and other parameters.
- Click "Generate URL."
- Click "Link to PDF."
- A PDF page loads that can be printed or saved, or you can copy the URL to paste/post elsewhere.
Subscribe to:
Posts (Atom)