It looks like the samples is not up to date. The bundles released at 1.0.0
relies on
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
try to update the asm to the above snippet and try again.
Hope this helps.
On Fri, Oct 19, 2012 at 1:21 AM, Anatoly Osiko <[email protected]>wrote:
> Well,
> I used the arias-1.0.0 samples as a starting point, and here is the
> excerpt from the top pom.xml:
>
> aosiko@AO-PC ~/projects/aries-1.0.0/samples
> $ grep asm pom.xml
> 130: <asmVersion>3.2</asmVersion>
> 173: <groupId>asm</groupId>
> 174: <artifactId>asm-all</artifactId>
> 175: <version>${asmVersion}</version>
>
>
>
> On 18/10/2012 8:22 PM, Emily Jiang wrote:
>
> I think Aries 1.0.0 comes with asm 4.0.
>
> On Thu, Oct 18, 2012 at 8:43 AM, Anatoly Osiko
> <[email protected]>wrote:
>
>> aries 1.0.0 comes with asm-all-3.2.jar, that what I have for my
>> runtime.
>>
>>
>> On 18/10/2012 6:11 PM, Christian Eugster wrote:
>>
>> Hi Anatoly,
>>
>> I tried now with your configuration. In the console output I have an
>> IncompatibleClassChangeError with following stacktrace (see below). Is it
>> possible that the asm bundle must have a specific version (I use 4.0.0)?
>>
>> Then the output says, that there is no quiesce support available so
>> managed persistence units will not participate in quiesce operations. I do
>> not know exactly what quiesce means (I see that aries has some bundles but
>> I have not found any explanation WHAT quiesce is.
>>
>> Regards
>>
>> Christian
>>
>> !ENTRY org.apache.aries.proxy 4 0 2012-10-18 09:18:36.506
>> !MESSAGE FrameworkEvent ERROR
>> !STACK 0
>> java.lang.IncompatibleClassChangeError: class
>> org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter has interface
>> org.objectweb.asm.ClassVisitor as super class
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:614)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> at
>> org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:45)
>> at
>> org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:87)
>> at
>> org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:140)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222)
>> at
>> org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:182)
>> at
>> org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:600)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
>> at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.checkBundle(BlueprintExtender.java:260)
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.checkInitialBundle(BlueprintExtender.java:144)
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.access$200(BlueprintExtender.java:67)
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.addingBundle(BlueprintExtender.java:420)
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:185)
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:128)
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackAdding(BundleHookBundleTracker.java:492)
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackInitial(BundleHookBundleTracker.java:374)
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker.open(BundleHookBundleTracker.java:81)
>> at
>> org.apache.aries.util.tracker.RecursiveBundleTracker.open(RecursiveBundleTracker.java:92)
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender$2.serviceFound(BlueprintExtender.java:104)
>> at
>> org.apache.aries.util.tracker.SingleServiceTracker.update(SingleServiceTracker.java:157)
>> at
>> org.apache.aries.util.tracker.SingleServiceTracker.findMatchingReference(SingleServiceTracker.java:115)
>> at
>> org.apache.aries.util.tracker.SingleServiceTracker.access$200(SingleServiceTracker.java:32)
>> at
>> org.apache.aries.util.tracker.SingleServiceTracker$1.serviceChanged(SingleServiceTracker.java:61)
>> at
>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>> at
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>> at
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>> at
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
>> at
>> org.apache.aries.proxy.impl.ProxyManagerActivator.start(ProxyManagerActivator.java:62)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
>> at
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>> at
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
>> at
>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
>> at
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
>> at
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>> at
>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE, exception=Unexpected
>> error from weaving hook.] for bundle javax.transaction
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.jpa.container for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.jpa.container
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.transaction.manager for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.transaction.manager
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.blueprint for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.blueprint
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.geronimo.components.geronimo-transaction for blueprint
>> application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.geronimo.components.geronimo-transaction
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.transaction.blueprint for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.transaction.blueprint
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.jdt.junit4.runtime for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.jdt.junit4.runtime
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.equinox.ds for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.equinox.ds
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle log4j for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle log4j
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.geronimo.specs.geronimo-jta_1.1_spec for blueprint
>> application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.geronimo.specs.geronimo-jta_1.1_spec
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.transaction.wrappers for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.transaction.wrappers
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.osgi.services for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.osgi.services
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.geronimo.specs.geronimo-servlet_2.5_spec for blueprint
>> application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.geronimo.specs.geronimo-servlet_2.5_spec
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.junit for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.junit
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.commons.collections for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.commons.collections
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.equinox.util for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.equinox.util
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.openjpa for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.openjpa
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.hamcrest.core for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.hamcrest.core
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.jdt.junit.runtime for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.jdt.junit.runtime
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.util for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.util
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.commons.pool for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.commons.pool
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.commons.lang for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.commons.lang
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.eclipse.equinox.cm for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.eclipse.equinox.cm
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.jpa.container.context for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.jpa.container.context
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.servicemix.bundles.serp for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.servicemix.bundles.serp
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.jpa.api for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.jpa.api
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.jpa.blueprint.aries for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.jpa.blueprint.aries
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.commons.dbcp for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.commons.dbcp
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle ch.eugster.herakles.datasource.derby for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> ch.eugster.herakles.datasource.derby
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.easymock for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.easymock
>> [org.apache.aries.blueprint.container.BlueprintExtender] : Scanning
>> bundle org.apache.aries.proxy for blueprint application
>> [org.apache.aries.blueprint.container.BlueprintEventDispatcher] : Sending
>> blueprint container event BlueprintEvent[type=FAILURE,
>> exception=org/apache/aries/blueprint/utils/HeaderParser] for bundle
>> org.apache.aries.proxy
>>
>>
>> --
>> Anatoly Osiko
>> Software Engineer, Integration
>> SolveIT Software Pty Ltd
>>
>> Adelaide | Brisbane | Chisinau | Melbourne | Perth
>>
>> D: +61 8 7071 4918
>> T: +61 8 8221 5533
>> M: +61 4 1980 0386
>> F: +61 8 8221 5677
>>
>> SolveIT Software Building
>> Level 1, 99 Frome Street,
>> Adelaide, SA 5000
>> www.SolveITSoftware.com
>>
>>
>
>
> --
> Thanks
> Emily
> =================
> Emily Jiang
> [email protected]
>
>
>
> --
> Anatoly Osiko
> Software Engineer, Integration
> SolveIT Software Pty Ltd
>
> Adelaide | Brisbane | Chisinau | Melbourne | Perth
>
> D: +61 8 7071 4918
> T: +61 8 8221 5533
> M: +61 4 1980 0386
> F: +61 8 8221 5677
>
> SolveIT Software Building
> Level 1, 99 Frome Street,
> Adelaide, SA 5000
> www.SolveITSoftware.com
>
>
--
Thanks
Emily
=================
Emily Jiang
[email protected]