LibraryOfCongress / bagger

The Bagger application packages data files according to the BagIt specification.
Other
120 stars 19 forks source link

Error happening at start when trying to copy default profile files to user dir #32

Closed telliers closed 8 years ago

telliers commented 8 years ago

In windows 7, when starting bagger, I have an exception related to the task that is supposed to copy the default JSON profiles to my user dir. Here's the exception :

2016-04-29 11:16:37,945 INFO [main] g.l.r.b.d.JSonBagger [JSonBagger.java:54] Using profiles from C:\Users\stephane.tellier\bagger
java.lang.NullPointerException
        at java.util.Objects.requireNonNull(Objects.java:203)
        at java.nio.file.Files.copy(Files.java:2984)
        at gov.loc.repository.bagger.domain.JSonBagger.copyDefautprofilesToUserFolder(JSonBagger.java:75)
        at gov.loc.repository.bagger.domain.JSonBagger.<init>(JSonBagger.java:57)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
        at org.springframework.richclient.application.ApplicationLauncher.loadRootApplicationContext(ApplicationLauncher.java:263)
        at org.springframework.richclient.application.ApplicationLauncher.<init>(ApplicationLauncher.java:159)
        at gov.loc.repository.bagger.BaggerApplication.main(BaggerApplication.java:42)

Therefore, the JSON files aren't copied to my user dir. However, the bagger directory is correctly created.

johnscancella commented 8 years ago

Can you provide the debug log from bagger? It should tell me what file it is trying to copy. Thanks

telliers commented 8 years ago

Here it is.

2016-04-29 11:52:44,146 INFO [main] g.l.r.b.d.JSonBagger [JSonBagger.java:54] Using profiles from C:\Users\stephane.tellier\bagger 2016-04-29 11:52:44,161 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:71] Checking if eDeposit-profile.json exists 2016-04-29 11:52:44,161 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:74] Profile eDeposit-profile.json does not already exist on the filesystem. Copying it from jar 2016-04-29 11:52:44,192 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerLifecycleAdvisor [BaggerLifecycleAdvisor.java:35] BaggerLifeCycleAdvisor.onPreStartup 2016-04-29 11:52:44,317 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerExit [AbstractCommand.java:893] Configuring newly attached button for command 'exitCommand' enabled=true, visible=true 2016-04-29 11:52:44,458 INFO [AWT-EventQueue-0] g.l.r.b.b.i.DefaultBag [DefaultBag.java:103] gov.loc.repository.bagger.bag.impl.DefaultBag: DefaultBag.init file: null, version: 0.96 2016-04-29 11:52:44,458 DEBUG [AWT-EventQueue-0] g.l.r.b.i.AbstractBag [AbstractBag.java:82] Creating new bag. Version is V0_96. 2016-04-29 11:52:44,473 INFO [AWT-EventQueue-0] g.l.r.b.u.BagView [BagView.java:176] createControl - User Home Path: C:\Users\stephane.tellier 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_SOURCE_ORGANIZATION 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_ORGANIZATION_ADDRESS 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_NAME 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_PHONE 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_EMAIL 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_DESCRIPTION 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAGGING_DATE 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_IDENTIFIER 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_SIZE 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_PAYLOAD_OXUM 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_GROUP_IDENTIFIER 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_COUNT 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_IDENTIFIER 2016-04-29 11:52:44,551 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_DESCRIPTION 2016-04-29 11:52:44,707 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init 2016-04-29 11:52:44,723 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init 2016-04-29 11:52:44,723 INFO [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:82] TagManifestPane.populateBagPane getTags: 2 2016-04-29 11:52:44,723 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bag-info.txt::{}

2016-04-29 11:52:44,738 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bag-info.txt 2016-04-29 11:52:44,738 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bagit.txt::{BagIt-Version=0.96 Tag-File-Character-Encoding=UTF-8}

2016-04-29 11:52:44,738 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bagit.txt

johnscancella commented 8 years ago

Is that the whole thing? I don't see the stacktrace that you posted from before which should be in there

telliers commented 8 years ago

Yeah I know.

Seems that the error is just appearing in the standard output, don't know why. I didn't changed any settings or configs yet.

Do you know a way to force an error (exception) in Bagger so I can confirm that it appear in the stdout only (or stderr)?

telliers commented 8 years ago

If you check the exception at the beginning of this issue, you can tell that a printstacktrace was done using probably the standard or error output.

johnscancella commented 8 years ago

yeah, I was looking at the latest code where the printstack was replaced with proper logging.

johnscancella commented 8 years ago

Do you happen to be running bagger from somewhere other than your local C drive?

telliers commented 8 years ago

No, I'm running it from my C drive. Here's the full installation path :

C:\VNS-DNF\bagger-2.5.0\bin

I run a DOS prompt into that dir and then execute the bagger.bat. The DOS prompt window is then running in background, where I can see the logs (excluding the DEBUG ones).

johnscancella commented 8 years ago

I updated the logging with more helpful debugging. Could you try version 2.6.0?

telliers commented 8 years ago

Here's the complete debug.log contents. BTW. I'm using Java version 1.8 for running bagger.

2016-04-29 13:01:37,919 INFO [main] g.l.r.b.d.JSonBagger [JSonBagger.java:54] Using profiles from C:\Users\stephane.tellier\bagger
2016-04-29 13:01:37,934 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:71] Checking if eDeposit-profile.json exists
2016-04-29 13:01:37,934 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:74] Profile eDeposit-profile.json does not already exist on the filesystem. Copying it from jar
2016-04-29 13:01:37,934 ERROR [main] g.l.r.b.d.JSonBagger [JSonBagger.java:79] Failed to copy profile eDeposit-profile.json
java.lang.NullPointerException: null
    at java.util.Objects.requireNonNull(Objects.java:203) ~[na:1.8.0_45]
    at java.nio.file.Files.copy(Files.java:2984) ~[na:1.8.0_45]
    at gov.loc.repository.bagger.domain.JSonBagger.copyDefautprofilesToUserFolder(JSonBagger.java:75) [bagger-business-2.6.0.jar:na]
    at gov.loc.repository.bagger.domain.JSonBagger.<init>(JSonBagger.java:57) [bagger-business-2.6.0.jar:na]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.8.0_45]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [na:1.8.0_45]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.8.0_45]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [na:1.8.0_45]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-beans-2.5.5.jar:2.5.5]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_45]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-beans-2.5.5.jar:2.5.5]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_45]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) [spring-context-2.5.5.jar:2.5.5]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) [spring-context-2.5.5.jar:2.5.5]
    at org.springframework.richclient.application.ApplicationLauncher.loadRootApplicationContext(ApplicationLauncher.java:263) [spring-richclient-core-1.1.0.jar:1.1.0]
    at org.springframework.richclient.application.ApplicationLauncher.<init>(ApplicationLauncher.java:159) [spring-richclient-core-1.1.0.jar:1.1.0]
    at gov.loc.repository.bagger.BaggerApplication.main(BaggerApplication.java:42) [bagger-2.6.0.jar:na]
2016-04-29 13:01:38,137 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerLifecycleAdvisor [BaggerLifecycleAdvisor.java:35] BaggerLifeCycleAdvisor.onPreStartup
2016-04-29 13:01:38,277 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerExit [AbstractCommand.java:893] Configuring newly attached button for command 'exitCommand' enabled=true, visible=true
2016-04-29 13:01:38,418 INFO [AWT-EventQueue-0] g.l.r.b.b.i.DefaultBag [DefaultBag.java:103] gov.loc.repository.bagger.bag.impl.DefaultBag: DefaultBag.init file: null, version: 0.96
2016-04-29 13:01:38,434 DEBUG [AWT-EventQueue-0] g.l.r.b.i.AbstractBag [AbstractBag.java:82] Creating new bag. Version is V0_96.
2016-04-29 13:01:38,434 INFO [AWT-EventQueue-0] g.l.r.b.u.BagView [BagView.java:176] createControl - User Home Path: C:\Users\stephane.tellier
2016-04-29 13:01:38,496 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_SOURCE_ORGANIZATION
2016-04-29 13:01:38,496 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_ORGANIZATION_ADDRESS
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_NAME
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_PHONE
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_EMAIL
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_DESCRIPTION
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAGGING_DATE
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_IDENTIFIER
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_SIZE
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_PAYLOAD_OXUM
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_GROUP_IDENTIFIER
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_COUNT
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_IDENTIFIER
2016-04-29 13:01:38,512 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_DESCRIPTION
2016-04-29 13:01:38,683 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init
2016-04-29 13:01:38,683 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init
2016-04-29 13:01:38,683 INFO [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:82] TagManifestPane.populateBagPane getTags: 2
2016-04-29 13:01:38,683 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bag-info.txt::{}

2016-04-29 13:01:38,699 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bag-info.txt
2016-04-29 13:01:38,699 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bagit.txt::{BagIt-Version=0.96
 Tag-File-Character-Encoding=UTF-8}

2016-04-29 13:01:38,714 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bagit.txt
johnscancella commented 8 years ago

Could you try it again with this new bagger I built? It has even more debug logging: bagger-2.6.dev.zip

telliers commented 8 years ago

Here you go :

2016-04-29 13:59:22,818 INFO [main] g.l.r.b.d.JSonBagger [JSonBagger.java:54] Using profiles from C:\Users\stephane.tellier\bagger
2016-04-29 13:59:22,819 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:71] Getting profile gov/loc/repository/bagger/profiles\eDeposit-profile.json from jar
2016-04-29 13:59:22,819 ERROR [main] g.l.r.b.d.JSonBagger [JSonBagger.java:74] Tried to read gov/loc/repository/bagger/profiles\eDeposit-profile.json from jar file but failed!
2016-04-29 13:59:22,819 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:76] Checking if eDeposit-profile.json exists
2016-04-29 13:59:22,819 DEBUG [main] g.l.r.b.d.JSonBagger [JSonBagger.java:79] Profile eDeposit-profile.json does not already exist on the filesystem. Copying it from jar to C:\Users\stephane.tellier\bagger\eDeposit-profile.json
2016-04-29 13:59:22,819 ERROR [main] g.l.r.b.d.JSonBagger [JSonBagger.java:84] Failed to copy profile eDeposit-profile.json
java.lang.NullPointerException: null
    at java.util.Objects.requireNonNull(Objects.java:203) ~[na:1.8.0_45]
    at java.nio.file.Files.copy(Files.java:2984) ~[na:1.8.0_45]
    at gov.loc.repository.bagger.domain.JSonBagger.copyDefautprofilesToUserFolder(JSonBagger.java:80) [bagger-business-2.6.dev.jar:na]
    at gov.loc.repository.bagger.domain.JSonBagger.<init>(JSonBagger.java:57) [bagger-business-2.6.dev.jar:na]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.8.0_45]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [na:1.8.0_45]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.8.0_45]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [na:1.8.0_45]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-beans-2.5.5.jar:2.5.5]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_45]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-beans-2.5.5.jar:2.5.5]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_45]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) [spring-beans-2.5.5.jar:2.5.5]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) [spring-context-2.5.5.jar:2.5.5]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) [spring-context-2.5.5.jar:2.5.5]
    at org.springframework.richclient.application.ApplicationLauncher.loadRootApplicationContext(ApplicationLauncher.java:263) [spring-richclient-core-1.1.0.jar:1.1.0]
    at org.springframework.richclient.application.ApplicationLauncher.<init>(ApplicationLauncher.java:159) [spring-richclient-core-1.1.0.jar:1.1.0]
    at gov.loc.repository.bagger.BaggerApplication.main(BaggerApplication.java:42) [bagger-2.6.dev.jar:na]
2016-04-29 13:59:23,007 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerLifecycleAdvisor [BaggerLifecycleAdvisor.java:35] BaggerLifeCycleAdvisor.onPreStartup
2016-04-29 13:59:23,180 DEBUG [AWT-EventQueue-0] g.l.r.b.BaggerExit [AbstractCommand.java:893] Configuring newly attached button for command 'exitCommand' enabled=true, visible=true
2016-04-29 13:59:23,374 INFO [AWT-EventQueue-0] g.l.r.b.b.i.DefaultBag [DefaultBag.java:103] gov.loc.repository.bagger.bag.impl.DefaultBag: DefaultBag.init file: null, version: 0.96
2016-04-29 13:59:23,390 DEBUG [AWT-EventQueue-0] g.l.r.b.i.AbstractBag [AbstractBag.java:82] Creating new bag. Version is V0_96.
2016-04-29 13:59:23,405 INFO [AWT-EventQueue-0] g.l.r.b.u.BagView [BagView.java:176] createControl - User Home Path: C:\Users\stephane.tellier
2016-04-29 13:59:23,468 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_SOURCE_ORGANIZATION
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_ORGANIZATION_ADDRESS
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_NAME
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_PHONE
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_CONTACT_EMAIL
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_DESCRIPTION
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAGGING_DATE
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_EXTERNAL_IDENTIFIER
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_SIZE
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_PAYLOAD_OXUM
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_GROUP_IDENTIFIER
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_BAG_COUNT
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_IDENTIFIER
2016-04-29 13:59:23,483 DEBUG [AWT-EventQueue-0] g.l.r.b.u.AddFieldPanel [AddFieldPanel.java:121] adding standard field: FIELD_INTERNAL_SENDER_DESCRIPTION
2016-04-29 13:59:23,655 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init
2016-04-29 13:59:23,671 DEBUG [AWT-EventQueue-0] g.l.r.b.u.BagTreePanel [BagTreePanel.java:20] BagTreePanel.init
2016-04-29 13:59:23,671 INFO [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:82] TagManifestPane.populateBagPane getTags: 2
2016-04-29 13:59:23,671 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bag-info.txt::{}

2016-04-29 13:59:23,686 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bag-info.txt
2016-04-29 13:59:23,686 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:92] BagFile: bagit.txt::{BagIt-Version=0.96
 Tag-File-Character-Encoding=UTF-8}

2016-04-29 13:59:23,686 DEBUG [AWT-EventQueue-0] g.l.r.b.u.TagManifestPane [TagManifestPane.java:101] manifestName: bagit.txt
johnscancella commented 8 years ago

I think this may be due to using the wrong file path https://github.com/LibraryOfCongress/bagger/blob/master/bagger-business/src/main/java/gov/loc/repository/bagger/domain/JSonBagger.java#L70 Which would explain why this works in linux, cause it uses a different file path

telliers commented 8 years ago

Yes, that's it. As stipulated in the ClassLoader javadoc : https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html#getResource-java.lang.String-

The name of a resource is a '/'-separated path name that identifies the resource.

So, if you force the separator to be "/", instead of using File.separator, it will work, even on Windows. I tried it and all is well now, no more errors in logs.