Using Ivy with pom.xml
The problem is that in a POM you can provide only a subset of settings available in ivy.xml and that Ivy understands only a subset of POM's syntax.
Continue reading →
EMF tips: Accessing model meta data, serializing into element/attribute
- Accessing model's meta model - accessing EClass/attribute by name - so that you can set an attribute when you only know its name and haven't its EAttribute
- How to force EMF to serialize an object as an XML element instead of an XML attribute
Continue reading →
EMF: Reading a model from XML - how to correctly declare its namespace - variants
Continue reading →
Creating dynamic EMF model from XSDs and loading its instances from XML as SDOs
Continue reading →
2010 in review
Continue reading →
Most interesting links of December
- Reusable Code Is Bad (for advanced developers only!) - we know duplication is bad but "premature enabling for reuse" is equally bad - or ewen worse - because it introduces more complexity and you most likely aren't going to need it anyway. Apply your experience and knowledge to detect when you will actually benefit from reuse and reduce overall maintenance and complexity. Read the comments too, there're some interesting ones.
Continue reading →
Tip: Multiple webservice implementation classes available at the same time under WAS7
- For each alternative implementation, add <wsdl:port> with a unique name under the <wsdl:service> element in the WSDL file. Beware: This is essential to enable multiple implementations.
- For each alternative implementation, define a servlet and servlet mapping in web.xml like this:
<servlet id="$IMPLEMENTATION_CLASS_NAME$"> <servlet-name>$IMPLEMENTATION_CLASS_NAME$</servlet-name> <servlet-class>$IMPLEMENTATION_CLASS_NAME$</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>$IMPLEMENTATION_CLASS_NAME$</servlet-name> <url-pattern>/$DESIRED_UNIQUE_URL$</url-pattern> </servlet-mapping>
- Create the implementations - likely as POJOs denoted with the @WebService annotation - and set the corresponding portName for each of them (@WebService(portName="<unique port name>", ...))
- Deploy and use
Continue reading →
Howto: JAX-WS service with XML Source input instead of JAXB-produced POJOs (similar to JAX-RPC with SOAPElement input)
Continue reading →
Creating JAX-WS webservice using Service Data Objects (SDO) instead of JAXB-bound POJOs
The steps are:
- Use RAD to generate a JAX-RPC webservice from a WSDL with an SDO facade.
- Implement a JAX-WS webservice accessing directly its input as XML data (i.e. implement is as a WebServiceProvider for message payload)
- Use Transformer and StreamSource/Result to convert from/to String containing XML
- Copy the SDO-related classes from the JAX-RPC webservice to the JAX-WS one, exclude just the JAX-RPC webservice interface and implementation
- Adjust the generated EMFSOAPElementUtil - change (de)serialize methods to expect/produce a String instead of SOAPElement
- Put it all together in the WS implementation class created in #2
- Finishing touches - add conversion of org.eclipse.emf.ecore.xml.type.internal.XMLCalendar to javax.xml.datatype.XMLGregorianCalendar
Continue reading →
Ivy resolve downloads but ignores some artifacts (though not modules)
Continue reading →
Joshua Bloch: Performance Anxiety - on Performance Unpredictability, Its Measurement and Benchmarking
- Nowadays, performance is completely non-predictable. You have to measure it and employ proper statistics to get some meaningful results.
- Microbenchmarking is very, very hard to do correctly. No, you misunderstand me, I mean even harder than that! :-)
- From the resources: Profiles and result evaluation methods may be very misleading unless used correctly.
Continue reading →
Most interesting links of November
Continue reading →
Book review: Refactoring by Martin Fowler
Continue reading →
svn fun: <path> has no ancestry information
.../rootFolder/svnProject$ svn commit .
svn: '/path/to/my/rootFolder' has no ancestry information
There is an easy fix.
Continue reading →
More Eclipse & svn fun: Can't share a project (only Team - Apply Patch)
Continue reading →