[Geoserver-users] Geoserver extension plugin problem when deployed on different platfrom

I followed geoserver imagepyramid plugin to write the plugin for reading our
proprietary pyramid data. The code was developed on Ubuntu platform using
Eclipse IDE and java 1.7. I built the jar file and dropped it onto the
WEB-INF/lib of Geoserver-2.5. When I restarted geoserver and clicked
"Add New Store", I saw my extension showed up under the "Raster Data
Sources" and was able to add the store and publish the layer. However, when
I copied the JAR file onto the WEB-INF/lib of the same geoserver version on
CentOS platform and restarted Geoserver, I got the following errors. I have
no ideas what was wrong. My code is pure Java and it only depends on
geotools.
Not sure why Spring could not find the
org.geoserver.data.util.CoverageStoreUtils class. I inspected the
gs-main-2.5.jar and the class is in there.

BeanCreationNotAllowedException: Error creating bean with name
'metaTileCache': Singleton bean creation not allowed while the singletons of
this factory are in destruction (Do not request a bean from a BeanFactory in
a destroy method implementation!)
2014-07-16 15:23:02,447 ERROR
[org.springframework.web.context.ContextLoader] - Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'restWrapper' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-rest-2.5.jar!/applicationContext.xml]:
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'storeFileFinder' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-restconfig-2.5.jar!/applicationContext.xml]:
Instantiation of bean failed; nested exception is
java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
  at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
  at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)
  at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)
  at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)
  at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)
  at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
  at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
  at
org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:22)
  at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)
  at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
  at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
  at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
  at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
  at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
  at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
  at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
  at org.mortbay.jetty.Server.doStart(Server.java:222)
  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
  at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:977)
  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 org.mortbay.start.Main.invokeMain(Main.java:183)
  at org.mortbay.start.Main.start(Main.java:497)
  at org.mortbay.start.Main.main(Main.java:115)
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'storeFileFinder' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-restconfig-2.5.jar!/applicationContext.xml]:
Instantiation of bean failed; nested exception is
java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
  at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:288)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
  at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
  at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
  at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
  at org.geoserver.rest.RESTDispatcher.addRoutes(RESTDispatcher.java:131)
  at org.geoserver.rest.RESTDispatcher.createRoot(RESTDispatcher.java:231)
  at
org.geoserver.rest.RESTDispatcher.initApplicationContext(RESTDispatcher.java:76)
  at
org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:119)
  at
org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:72)
  at
org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)
  at
org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:117)
  at
org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
  at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
  ... 34 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
  at
org.geoserver.catalog.rest.StoreFileFinder.<clinit>(StoreFileFinder.java:24)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
  at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)
  at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)
  ... 54 more

Here is the pom.xml of my project:

<project xmlns="http://maven.apache.org/POM/4.0.0&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.vrinc</groupId>
  <artifactId>ww-pyramid</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>Vista pyramid datasource module</name>
  <url>http://maven.apache.org</url>

<description>
    Datasource created to read a pyramid of Worldwind cache data.
  </description>
  
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <geotools.version>11.0</geotools.version>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.source>1.7</maven.compiler.source>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.geotools</groupId>
      <artifactId>gt-imagemosaic</artifactId>
      <version>${geotools.version}</version>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net repository</name>
      <url>http://download.java.net/maven/2&lt;/url&gt;
    </repository>
    <repository>
      <id>osgeo</id>
      <name>Open Source Geospatial Foundation Repository</name>
      <url>http://download.osgeo.org/webdav/geotools/&lt;/url&gt;
    </repository>
  </repositories>
</project>

Let me know if you need more data. Many thanks in advance.

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Geoserver-extension-plugin-problem-when-deployed-on-different-platfrom-tp5151351.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Dear Tam,
I would stop Tomcat and clean the tmp and work directories then I will retry.
In any case I would suggest you create also an extension for GeoServer
likewise the ImagePyramid one and avoid
moving files manually but you rather let geoserver build the war for you.

Regards,
Simone Giannecchini

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Wed, Jul 16, 2014 at 6:47 PM, tt5430 <tt9488@anonymised.com> wrote:

I followed geoserver imagepyramid plugin to write the plugin for reading our
proprietary pyramid data. The code was developed on Ubuntu platform using
Eclipse IDE and java 1.7. I built the jar file and dropped it onto the
WEB-INF/lib of Geoserver-2.5. When I restarted geoserver and clicked
"Add New Store", I saw my extension showed up under the "Raster Data
Sources" and was able to add the store and publish the layer. However, when
I copied the JAR file onto the WEB-INF/lib of the same geoserver version on
CentOS platform and restarted Geoserver, I got the following errors. I have
no ideas what was wrong. My code is pure Java and it only depends on
geotools.
Not sure why Spring could not find the
org.geoserver.data.util.CoverageStoreUtils class. I inspected the
gs-main-2.5.jar and the class is in there.

BeanCreationNotAllowedException: Error creating bean with name
'metaTileCache': Singleton bean creation not allowed while the singletons of
this factory are in destruction (Do not request a bean from a BeanFactory in
a destroy method implementation!)
2014-07-16 15:23:02,447 ERROR
[org.springframework.web.context.ContextLoader] - Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'restWrapper' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-rest-2.5.jar!/applicationContext.xml]:
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'storeFileFinder' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-restconfig-2.5.jar!/applicationContext.xml]:
Instantiation of bean failed; nested exception is
java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)
        at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)
        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
        at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
        at
org.geoserver.platform.GeoServerContextLoaderListener.contextInitialized(GeoServerContextLoaderListener.java:22)
        at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:222)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:977)
        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 org.mortbay.start.Main.invokeMain(Main.java:183)
        at org.mortbay.start.Main.start(Main.java:497)
        at org.mortbay.start.Main.main(Main.java:115)
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'storeFileFinder' defined in URL
[jar:file:/home/vriuser/geoserver-2.5/webapps/geoserver/WEB-INF/lib/gs-restconfig-2.5.jar!/applicationContext.xml]:
Instantiation of bean failed; nested exception is
java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
        at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:288)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
        at org.geoserver.rest.RESTDispatcher.addRoutes(RESTDispatcher.java:131)
        at org.geoserver.rest.RESTDispatcher.createRoot(RESTDispatcher.java:231)
        at
org.geoserver.rest.RESTDispatcher.initApplicationContext(RESTDispatcher.java:76)
        at
org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:119)
        at
org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:72)
        at
org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)
        at
org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:117)
        at
org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        ... 34 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
org.geoserver.data.util.CoverageStoreUtils
        at
org.geoserver.catalog.rest.StoreFileFinder.<clinit>(StoreFileFinder.java:24)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
        at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)
        at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)
        ... 54 more

Here is the pom.xml of my project:

<project xmlns="http://maven.apache.org/POM/4.0.0&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.vrinc</groupId>
  <artifactId>ww-pyramid</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>Vista pyramid datasource module</name>
  <url>http://maven.apache.org</url>

<description>
    Datasource created to read a pyramid of Worldwind cache data.
  </description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <geotools.version>11.0</geotools.version>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.source>1.7</maven.compiler.source>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.geotools</groupId>
      <artifactId>gt-imagemosaic</artifactId>
      <version>${geotools.version}</version>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net repository</name>
      <url>http://download.java.net/maven/2&lt;/url&gt;
    </repository>
    <repository>
      <id>osgeo</id>
      <name>Open Source Geospatial Foundation Repository</name>
      <url>http://download.osgeo.org/webdav/geotools/&lt;/url&gt;
    </repository>
  </repositories>
</project>

Let me know if you need more data. Many thanks in advance.

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Geoserver-extension-plugin-problem-when-deployed-on-different-platfrom-tp5151351.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Simone,

Thanks for you response. The problem is most like caused by the jdk version
that I used to build the plugin jar. I built the jar using jdk 1.7 but the
JDK on the CentOS machine is 1.6. Anyway, I will take care of that later.
Right now I just try to make it work. When I previewed my data on the Layer
Preview, I saw the image returned from my code does not align correctly with
the background image which is the world image. I did some debugging and
found out that the PlanarImage returned from my code is actually correct but
somehow when input it to make the GridCoverage2D, it was distorted. I don't
really understand the internal of Geoserver and therefore I need help from
you. I saw you are the author of most Geoserver plug-ins and hope that you
can help me. I attached the source code of my plugin for you to look at and
hopefully you can tell me what was wrong. Look at the following line in the
loadRequestedTiles of the VistaMapCacheReader class where I where I generate
the BufferedImage. Let me know if you need more information.
    BufferedImage bi = VistaMapCacheUtil.serviceMapRequest(mapLayer, bbox,
dim.width, dim.height, true, Color.blue);
      ImageIO.write(bi, "png", new File("/tmp/vistamapcache.png"));

geoserver-vistamapcache-plugin.zip
<http://osgeo-org.1560.x6.nabble.com/file/n5151803/geoserver-vistamapcache-plugin.zip&gt;

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Geoserver-extension-plugin-problem-when-deployed-on-different-platfrom-tp5151351p5151803.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Ciao Tam,
if this is going to be an open source plugin (I mean donate to
GeoServer or GeoTools). I might try to spare some time to look into
what your problem is (no promise),
otherwise I won't.

That said, I would suggest to look into how you georeference the
gridcoverage you produce since if there is a misplacement the
reason might be that you reporting a wrong gridtoworld transformation.

Regards,
Simone Giannecchini

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Simone Giannecchini
@simogeo
Founder/Director

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

On Fri, Jul 18, 2014 at 5:59 PM, tt5430 <tt9488@anonymised.com> wrote:

Hi Simone,

Thanks for you response. The problem is most like caused by the jdk version
that I used to build the plugin jar. I built the jar using jdk 1.7 but the
JDK on the CentOS machine is 1.6. Anyway, I will take care of that later.
Right now I just try to make it work. When I previewed my data on the Layer
Preview, I saw the image returned from my code does not align correctly with
the background image which is the world image. I did some debugging and
found out that the PlanarImage returned from my code is actually correct but
somehow when input it to make the GridCoverage2D, it was distorted. I don't
really understand the internal of Geoserver and therefore I need help from
you. I saw you are the author of most Geoserver plug-ins and hope that you
can help me. I attached the source code of my plugin for you to look at and
hopefully you can tell me what was wrong. Look at the following line in the
loadRequestedTiles of the VistaMapCacheReader class where I where I generate
the BufferedImage. Let me know if you need more information.
                BufferedImage bi = VistaMapCacheUtil.serviceMapRequest(mapLayer, bbox,
dim.width, dim.height, true, Color.blue);
                        ImageIO.write(bi, "png", new File("/tmp/vistamapcache.png"));

geoserver-vistamapcache-plugin.zip
<http://osgeo-org.1560.x6.nabble.com/file/n5151803/geoserver-vistamapcache-plugin.zip&gt;

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Geoserver-extension-plugin-problem-when-deployed-on-different-platfrom-tp5151351p5151803.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Simone,

Thanks for you response. Unfortunately, it is not going to be an open
source plugin because of the format of the dataset. That said, can you help
me understand more of the gridToWorld transformation? Below is how I
compute the gridtoworld transformation:

orginalEnvelope - -180,-90 180,90
SRS - EPSG:4326
originalGridRange - the width/height of the highest resolution image.
final GridToEnvelopeMapper mapper = new
GridToEnvelopeMapper(originalGridRange, originalEnvelope);
      mapper.setPixelAnchor(PixelInCell.CELL_CENTER);
      this.raster2Model = mapper.createTransform();

Is there any wrong with the above?

Regards,
Tam

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Geoserver-extension-plugin-problem-when-deployed-on-different-platfrom-tp5151351p5152174.html
Sent from the GeoServer - User mailing list archive at Nabble.com.