libraryofcongress / bagger Goto Github PK
View Code? Open in Web Editor NEWThe Bagger application packages data files according to the BagIt specification.
License: Other
The Bagger application packages data files according to the BagIt specification.
License: Other
instead it should fail gracefully and still load the bag
Hello,
I have run into an error multiple times over the past few days trying to save a bag. I get through the steps of creating a bag, hitting save as and filling in the location, but then when I try to save I get the error "The application experienced an unexpected bug, due to a programming error. The application is possibly in an inconsistent state. It is recommended to reboot the application. The exact bug is: Please report this bug." I am using Bagger 2.8.1 on Windows 7 Enterprise. The first few times it happened I had an older version of Bagger on my computer too and I wonder if that may have something to do with it? Log and screenshot attached.
Thank you.
Version: Bagger 2.8.1
OS: Windows 10
Steps to reproduce:Are there other checksum types other than md5?
Does it support 256 and 512?
OS: Windows 10 64bit Enterprise
Java: Java 1.8.0_171-b11
Version: Bagger 2.8.1.
2018-05-08 10:51:32,877 INFO [Thread-4] g.l.r.b.v.i.CompleteVerifierImpl [CompleteVerifierImpl.java:276] Completed verification that bag is complete. 2018-05-08 10:51:32,878 INFO [Thread-4] g.l.r.b.v.i.CompleteVerifierImpl [CompleteVerifierImpl.java:277] Note that this a verification of completeness, not validity. A bag may be complete without being valid, though a valid bag must be complete. 2018-05-08 10:51:32,880 INFO [Thread-4] g.l.r.b.v.i.CompleteVerifierImpl [CompleteVerifierImpl.java:278] Result of verification that complete: Result is true. 2018-05-08 10:51:32,895 INFO [Thread-4] g.l.r.b.v.i.ValidVerifierImpl [ValidVerifierImpl.java:83] Completed verification that bag is valid. 2018-05-08 10:51:32,896 INFO [Thread-4] g.l.r.b.v.i.ValidVerifierImpl [ValidVerifierImpl.java:84] Validity check: Result is true. 2018-05-08 10:51:35,083 INFO [AWT-EventQueue-0] g.l.r.b.u.BagView [BagView.java:660] Stopped the timer
Bagger 2.7.5, Win 7 (64 bit)
When I create a bag in place (using a profile) with a directory that contains a dot (.) in the directory name, then two bags are created: One bag with the original directory name, but with no specific profile data in the bag-info.txt AND a second bag without the dot and every character after the dot in the name but with the correct profile data in the bag-info.txt.
For example: The directory Test.Data is resulting in the bags Test.Data and Test
Regards,
Jan
When creating a bag Bagger is copying the hidden files contained on a hard drive. This is causing some problems for automated processes we use to count the number of files in a sub-directory.
e.g.
.DS_Store
_000.tif
_001.tif
It seems as if this could have been resolved in version 2.5 according to this - but the issue seems to persist. Any help appreciated. Thanks
Version: Bagger 2.8.1
OS: Windows 7
When choosing to bag in place, even if a profile is selected it is not applied to the UI after bagging in place.
Version: Bagger 2.8.1
OS: macOS High Sierra 10.13.16
Java version: openjdk version "12.0.1" 2019-04-16
Steps to reproduce:
/Users/myname/Desktop/testje
) and choose to serialize as .zip
Expected outcome: Bag is saved
Actual outcome:
/Users/myname/Desktop/testje/data
I've just installed Bagger v2.3 (JRE7) on Windows7 (64bit).
When I start Bagger, all icons are disabled/grayed out.
As soon as I click on a menu item (e.g. "File") - they become active.
Bagger 2.8.1.
Windows 7 Enterprise
I see a few changes to improve the README, I'd be happy to create a PR if you agree:
6
and 7
)/bagger/bagger/build/distributions
and to unzip the file bagger.zip
and then run the app (in case of Linux with ./bagger
, not bagger.sh
). Or am I missing something?Version: Bagger 2.8.1
OS: Mac OS X 10.14.6
Steps to reproduce:
Hello all,
("Given When Then" below)
I recently downloaded bagger 2.7.6 for the purposes of transferring a number of files from an external drive to my company's archives computer (OS X 10.11.3), and eventually to our server. I've used bagit.py in the command line with success at a different job, but for this one we did not want to disturb the original drive, so I thought I'd use bagger in order to bag the files in the destination folder rather than on the drive we'd mounted read-only. I transferred the files using bagger and validated the bag. It checked out as valid. Unfortunately, files that played fine on the original drive and on files from an earlier (and successful) rsync transfer did not play for the bagged files. Files sizes were different as well. It also would appear to have overwritten the date modified on the folders in the destination folders.
If there's anything you know of that would to make it run properly do let me know. I'm hoping it's user error.
given
when
then
*how do I make this happen successfully?
*When I tried to do this Bagger failed to deliver full files. This is not a problem that occurs with rsync or even drag-and-drop. So something about the addition of Bagger has likely caused a problem
Best,
Ben
From a user:
"The issue is when you select a profile, say the ndnp, from the drop down box and click OK, I see the bagger GUI doesn’t change (i.e., the Bag-Info section doesn’t become active) where you can type in the value for “Awardee –Phase” which is required."
Bagger v2.2 and Bagger v2.1.3 throws an error at startup on Windows 7 if a new profile file is added to the profile folder. I added a new profile to the folder named safr-profile.json and ran the Bagger.bat file but got the error message seen below.
Windows 7 stores the profiles in C:\Users\bagger folder. It overwrites the example profiles every time it opens.
Profile Folder with New Profile
bagger.log Error Excerpt
13:21:53,960 ERROR BaggerApplication,main:52 - RuntimeException during startup
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bagView' defined in class path resource [gov/loc/repository/bagger/ctx/common/richclient-application-context.xml]: Cannot resolve reference to bean 'profiles' while setting bean property 'viewProperties' with key [TypedStringValue: value [profileStore], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profiles' defined in class path resource [gov/loc/repository/bagger/ctx/common/business-layer-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
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:1172)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:940)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:437)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:400)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
at org.springframework.richclient.application.ApplicationLauncher.loadRootApplicationContext(ApplicationLauncher.java:262)
at org.springframework.richclient.application.ApplicationLauncher.(ApplicationLauncher.java:158)
at gov.loc.repository.bagger.BaggerApplication.main(BaggerApplication.java:41)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profiles' defined in class path resource [gov/loc/repository/bagger/ctx/common/business-layer-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:239)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:855)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:765)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:412)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
... 19 more
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:98)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:233)
... 30 more
Caused by: java.lang.NullPointerException
at gov.loc.repository.bagger.Profile.createProfile(Profile.java:87)
at gov.loc.repository.bagger.domain.JSonBagger.loadProfile(JSonBagger.java:201)
at gov.loc.repository.bagger.domain.JSonBagger.loadProfiles(JSonBagger.java:173)
at gov.loc.repository.bagger.profile.BaggerProfileStore.initializeProfile(BaggerProfileStore.java:32)
at gov.loc.repository.bagger.profile.BaggerProfileStore.(BaggerProfileStore.java:23)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:83)
... 32 more
The current set does not allow desired ordering of metadata entry fields (in Json profile, display screen and Bag-info). It is is available here: [https://github.com/LibraryOfCongress/bagger/blob/master/bagger/src/main/java/gov/loc/repository/bagger/ui/BagInfoForm.java#L86]
Desired improvement:
For an ordered field of metadata to be possible for accessions of digital records that will hep make sense of the keyed information in Bag-Info and on the display screen, it is desired that an ordered list be implemented. With such an improvement, profiles will help generate understandable metadata in the order originally intended for during project profile creation.
This improvement will also help make Bagger very usable and customizable. Additionally, importing SIPs created into preservation or records systems will be facilitated by the metadata structure/order on mapping fields between Bagger (Bag-info) and the new system's metadata structure.
Hello,
I'm trying to create a bag that is about 82,000 files and 1.23 GB. I tried saving it on a hard drive and Bagger stalled out; the log file said something about out of memory error. I then tried validating the bag and got an error about cannot remove
bagger_error_log_07262018.txt
basePath. I was trying to bag on a hard drive and remembered previous advice that this may cause problems, so I tried bagging from the hard drive to my computer, and when that also failed I copied the files from the drive to my computer and tried bagging there - but also got the same problems. I've attached the log file and the error.
it is confusing that a bagger profile needs to end in -profile.json
as was expressed here: https://groups.google.com/forum/#!topic/digital-curation/dy9TXZcTpug
Perhaps we should just allow any .json
file?
I start with:
drwxr-xr-x 4 sk staff 128 May 9 15:52 data
drwxr-xr-x 3 sk staff 96 May 9 15:52 metadata
art2/data:
-rw-r--r-- 1 sk staff 611802 May 9 15:52 abstract.JPG
-rw-r--r-- 1 sk staff 1046876 May 9 15:52 ppart.JPG
art2/metadata:
-rw-r--r-- 1 sk staff 127 May 9 15:52 metadata.csv
but after bagger creates a data sub-directory and places all my files there. Expected behavior?
drwxr-xr-x 8 sk staff 256 May 9 16:01 bagged_art
new/bagged_art:
total 48
-rw-r--r-- 1 sk staff 105 May 9 16:01 bag-info.txt
-rw-r--r-- 1 sk staff 55 May 9 16:01 bagit.txt
drwxr-xr-x 4 sk staff 128 May 9 16:07 data
-rw-r--r-- 1 sk staff 377 May 9 16:01 manifest-sha256.txt
-rw-r--r-- 1 sk staff 241 May 9 16:01 tagmanifest-sha256.txt
new/bagged_art/data:
total 16
drwxr-xr-x 5 sk staff 160 May 9 16:01 art2 2
new/bagged_art/data/art2 2:
total 16
drwxr-xr-x 4 sk staff 128 May 9 16:01 data
drwxr-xr-x 3 sk staff 96 May 9 16:01 metadata
new/bagged_art/data/art2 2/data:
total 3248
-rw-r--r-- 1 sk staff 611802 May 9 15:52 abstract.JPG
-rw-r--r-- 1 sk staff 1046876 May 9 15:52 ppart.JPG
new/bagged_art/data/art2 2/metadata:
total 8
-rw-r--r-- 1 sk staff 127 May 9 15:52 metadata.csv
It would be useful to have the ability to create folders in both the payload and tag files when creating a new bag.
For example, I would like to create a 'metadata' folder in the tag files before adding files to that folder.
Example bag structure:
If you create a bag with a file that has a newline character in its filename, the manifest will not represent that characters. For example, "data/Icon\r" is represented as "data/Icon" in the manifest. The bag cannot be validated because the file system does not contain a file at "data/Icon".
A further complication is that this bug can cause filename collisions in the manifest. "data/Icon", "data/Icon\n", and "data/Icon\r" are all represented in the manifest as "data/Icon"
Bagit-python had the same issue. It was fixed by using percent encoding for \r and \n.
LibraryOfCongress/bagit-python#12
This is just a suggested feature enhancement:
When a created bag is tempered with such as deleting a few files from the "data" folder, Bagger correctly identifies the files that are missing and lists them upon bag validation. That's very helpful in identifying exactly where the issues are.
Now the suggested feature: Suppose the Hash values (MD5 or SHAx) are tempered with, either in the manifest-.txt and/or the tagmanifest-.txt files, it would be helpful to know exactly which files are affected that are in the "data" folder.
The idea is to not reject a whole bag when one or two items are tempered with or became corrupt.
Currently the gradle builds specify Argon as a artifact repository, which is unavailable to those outside the library of congress environment. We should change gradle to use only publicly available artifact repositories.
Using Java Runtime Environment 1.8, Bagger 2.7.5, Windows 7 Enterprise
When I first downloaded Java, I had to manually set the JAVA_HOME environmental variable through Windows - it might have been helpful to have some pointers for how to do this in the install instructions.
Once I did that, every time I opened the bagger.bat file, I got the error "Could not find or load main class Files." After a lot of trial and error, we tracked this down to the fact that both Java and Bagger were installed in the "Program Files" folder, and the space in the file name was confusing Bagger. The issue was resolved by moving both Java and Bagger to a different directory, but the instructions should either specify not to save Bagger in a file path with a space, or the program should handle this failure more gracefully.
Instead of profiles living in users//bagger/, it would be great to be able to customize this location within bagger (so can have one profile json on a system that many users can utilize)
When saving a new bag that is using a profile template that preserves ordering, then the bag is saved the ordering changes.
To recreate:
Hello,
I am running Bagger 2.7.7 on Windows 7 Enterprise. On a particular bag receive the error "Exception: Java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "Thread-4" The bag validates in the command-line, but not in Bagger. I've attached the log from opening the bag to trying to validate.
Thank you,
Jamie
I have a question regarding bags which contain fetch.txt
but also some files in the data/
dir.
I couldn't find a way to create those in bagger, they either are entirely holey or entirely whole.
I created such a bag manually and opened it in bagger.
It is reported as compliant, incomplete and invalid, but it cannot be used.
The payload defined in fetch.txt
cannot be retrieved be retrieved to the data/
dir.
Isn't it possible to retrieve it, and check completeness and validity thereafter?
I find it very useful to have such bag and need to know if existing python/java implementations can treat this kind of bags properly.
I've just downloaded 2.7.7 from the releases page and, when running the bagger shell script, I received the message:
Error: Could not find or load main class gov.loc.repository.bagger.BaggerApplication
2.7.6 seems to load up and run absolutely fine.
This all happened on Mac OSX El Capitan.
I guess it's just a little error in how the release might have been packaged up, or something?
All the best and thanks.
The bag was saved
"Unexpected general bug" error pops up
Hi:
Demonstrated this issue in person with John Scancella on 20150817.
The issue is that after you use the option "Create New Bag" (which works fine-first screenshot), when you click on the "Validate" icon (second screenshot), it doesn't appear to do anything. (Actually, it appears the other four icons to the right of the Validate icon don't get a response either, if I'm not mistaken.)
The way I discovered to resolve this is to select the Terminal window--which brings it in front of the Bagger GUI window (third screenshot) and the window that the validation is successful appears.
Thank you.
Andrew Cook
[email protected]
Library of Congress
At our archive, we are not only using Bagger/BagIt extensively, but also trying to promote its use for exchange with others (institution/individuals). Bagger is a great tool for making hashcode/fixity checks easily accessible for anyone. Thank you so very much!
But:
When trying to send "a link" to where to download Bagger to another institution, I realized that it's quite unclear, where to download the most recent LoC transfer-tools (bagger/bagit) - and which file actually...
I'm not complaining, but I think it'd be great to have a simple html-page that points to the most current releases - or did I simply not find it?
Here's a summary of things that add to the confusion:
Official download from Sourceforge or GitHub?
On the LoC Transfer-Tools Sourceforge site, it says that the project has moved to GitHub:
As of 2013-07-12, this project may now be found at https://github.com/LibraryOfCongress/bagit-java
...where I can find the source-code, but no release packages.
The Sourceforge site seems to contain Bagger releases (currently up to v2.1.3):
http://sourceforge.net/projects/loc-xferutils/files/loc-bagger/
Now, not being sure if those releases are actually still maintained (or rather found on GitHub), there is a message that causes more insecurity if I'm right:
"Looking for the latest version? Download bagit-4.4-bin.zip (3.5 MB)"
Which is actually the BagIt library/commandline application.
"loc-bil-java-library" = "bagit-java"
Since the Bagger-releases on Sourceforge (still) work fine, I thought I'd check the date of the BagIt library/CLI releases on Sourceforge and compare them with the most recent changes on GitHub.
Then I realized that:
So now I'm even more insecure about the Bagger builds on Sourceforge... :(
Thank you very much in advance.
When deleting a directory in a saved bag, bagit only deletes the files (since that is all the spec cares about). This causes confusion since after a save, bagger reloads the payload directory from what is on the system. Thus a directory that WAS gone reappears.
To reproduce this:
The current user guide still references version 2.1.4 for bagger and other things that are out of date.
When a new bag is created and saved to a new location as zip files, the record in the data folder are all changed to the current date inside the zip archive.
Due to the requirement for data integrity, any data in that folder should keep the original created date.
I have a feeling I'm making a foolish error, but I just downloaded the zip and cannot locate bagger.bat. The readme tells me to locate the directory bagger-2.1.3. I cannot find that either. And I missing something obvious?
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.
from user https://github.com/jamiepb
I've discovered a discrepancy between the Java version and the Python version when validating a bag with an extra file. I have a bag that acquired a thumbs.db file when someone opened it. I ran a tool that is built on bagit-python (current pip install version, 1.6.2) that did not validate the bag, noting that the expected file count and bag size did not match. I then investigated and saw the thumbs.db file that had appeared after bagging. However, I then ran Bagger 2.7.6 and the bag validated.
Software and OS:
BagIt Python 1.6.2 and Bagger 2.7.6
Windows 7 Enterprise
Given
A bag with a thumbs.db file in it that is not on the manifest
When
I run a Python tool that calls bagit py 1.6.2
Then
The bag does not validate
BUT:
Given
A bag with a thumbs.db file in it that is not on the manifest
When
I open the bag in Bagger 2.7.6 and validate
Then
The validation is successful
Thank you for looking into it.
The bagger documentation in the /doc
folder is very out of date and should be updated to reflect the actual install process.
I am using Bagger 2.7.6 on Windows 7.
It appears that bagger expects the application directory to not have any spaces. I had originally extracted the application files to d:\digital preservation tools. Launching bagger triggered the error: "Could not find or load main class preservation"
Moving the bagger files to a directory with no spaces successfully works around the issue.
for example
.DS_Store/
.Bridgesort
._0.tif
etc
As most of users just receive records and bag them, it is hard to validate bag-by-bag and having Bagger validate all the bags in a folder and its subfolders would be very very useful.
Essentially, being able to ask Bagger to validate an entire repository of many bags in various subfolders on a drive or network storage...then create a text report (with its hash) containing successful and failed bag validation, each time it finishes validating the entire repository would be a highly coveted improvement.
Expected outcomes:
If this would be better implemented in a new Bagger Architecture, no need to overhaul the current one if you judge so.
Tibaut
When running a large bag (say, 4.5TB with a few hundred large Quicktime files), the process can be really slow. There's no indication that anything is happening, short of looking at the Task Manager (Windows) to see if there's CPU/Process activity associated with bagger/java.
A progress bar, or even displaying the current operation (hashing a given filename, for instance) in the console area, would be a huge help. Though a progress bar would be best, since it gives you some indication of remaining time.
On a reasonably fast i7 workstation running Windows 7, pulling files off a SAN capable of moving data at well over 1GB/s, it can take over 5 hours to run a bag that will fill an uncompressed LTO7 tape. During that time, we have no idea if anything is actually happening.
Version: Bagger 2.7.7
OS: Windows 7 Ultimate, SP1
Steps to reproduce:
In Windows 7, there seems to be a problem with the vertical scrolling of the "Payload" and "Tag Files" section.
For the Payload, while the scrollbar is visible, it doesn't detect the panel's new dimensions when adding multiple files.
For the Tag Files, it works partially, as the new dimensions are not correctly sets.
Those problems were also in version 2.3.
Here's some snapshots.
Version: Bagger 2.8.1
OS: Windows 7
Java: jre-10.0.2 windows-x64
Steps performed:
I have read the thread on "Change fields (in Json profile, display screen and Bag-info) from set to ordered list" as well as the closed issue: "Bagger info panel unordered after saving" but I am ot sure if the problem has been solved and there is something wrong with my profile.
Thanks for any advice
J.Schminder
After adding a new json profile to the bagger profile folder, bagger is unable to open on a mac. The output from terminal is pasted below.
Editing an existing profile to add an additional element, saving it, and then re-opening bagger over-writes the profile with the defaults.
2016-02-18 09:18:36,331 INFO [main] g.l.r.b.d.JSonBagger [JSonBagger.java:52] Using profiles from /Users/Erin/bagger
2016-02-18 09:18:36,361 ERROR [main] g.l.r.b.BaggerApplication [BaggerApplication.java:55] RuntimeException during startup
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bagView' defined in class path resource [gov/loc/repository/bagger/ctx/common/richclient-application-context.xml]: Cannot resolve reference to bean 'profiles' while setting bean property 'viewProperties' with key [TypedStringValue: value [profileStore], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profiles' defined in class path resource [gov/loc/repository/bagger/ctx/common/business-layer-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275) ~[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_71]
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.(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.5.0-RC3.jar:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profiles' defined in class path resource [gov/loc/repository/bagger/ctx/common/business-layer-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:254) ~[spring-beans-2.5.5.jar:2.5.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925) ~[spring-beans-2.5.5.jar:2.5.5]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835) ~[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_71]
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]
... 20 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [gov.loc.repository.bagger.profile.BaggerProfileStore]: Constructor threw exception; nested exception is java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115) ~[spring-beans-2.5.5.jar:2.5.5]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) ~[spring-beans-2.5.5.jar:2.5.5]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:248) ~[spring-beans-2.5.5.jar:2.5.5]
... 32 common frames omitted
Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
at gov.loc.repository.bagger.ProfileField.createProfileField(ProfileField.java:105) ~[bagger-business-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.Profile.getFields(Profile.java:130) ~[bagger-business-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.Profile.createProfile(Profile.java:114) ~[bagger-business-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.domain.JSonBagger.loadProfile(JSonBagger.java:134) ~[bagger-business-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.domain.JSonBagger.loadProfiles(JSonBagger.java:109) ~[bagger-business-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.profile.BaggerProfileStore.initializeProfile(BaggerProfileStore.java:34) ~[bagger-core-2.5.0-RC3.jar:na]
at gov.loc.repository.bagger.profile.BaggerProfileStore.(BaggerProfileStore.java:21) ~[bagger-core-2.5.0-RC3.jar:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_71]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_71]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_71]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_71]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100) ~[spring-beans-2.5.5.jar:2.5.5]
... 34 common frames omitted
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
We are going to start creating bags with a lot of A/V content that will not compress well and will be rather large (50G+). Is it possible to add an option to serialize the bag to a tarball in addition to zip and directory? Right now we're doing it as two steps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.