fedora-client-core

Java client library for Fedora

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

com.yourmediashelf.fedora.client
ArtifactId

ArtifactId

fedora-client-core
Last Version

Last Version

0.7
Release Date

Release Date

Type

Type

jar
Description

Description

fedora-client-core
Java client library for Fedora
Project Organization

Project Organization

MediaShelf

Download fedora-client-core

How to add to project

<!-- https://jarcasting.com/artifacts/com.yourmediashelf.fedora.client/fedora-client-core/ -->
<dependency>
    <groupId>com.yourmediashelf.fedora.client</groupId>
    <artifactId>fedora-client-core</artifactId>
    <version>0.7</version>
</dependency>
// https://jarcasting.com/artifacts/com.yourmediashelf.fedora.client/fedora-client-core/
implementation 'com.yourmediashelf.fedora.client:fedora-client-core:0.7'
// https://jarcasting.com/artifacts/com.yourmediashelf.fedora.client/fedora-client-core/
implementation ("com.yourmediashelf.fedora.client:fedora-client-core:0.7")
'com.yourmediashelf.fedora.client:fedora-client-core:jar:0.7'
<dependency org="com.yourmediashelf.fedora.client" name="fedora-client-core" rev="0.7">
  <artifact name="fedora-client-core" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.yourmediashelf.fedora.client', module='fedora-client-core', version='0.7')
)
libraryDependencies += "com.yourmediashelf.fedora.client" % "fedora-client-core" % "0.7"
[com.yourmediashelf.fedora.client/fedora-client-core "0.7"]

Dependencies

compile (10)

Group / Artifact Type Version
com.sun.jersey : jersey-client jar 1.17.1
com.sun.jersey.contribs : jersey-multipart jar 1.17.1
eu.medsea.mimeutil : mime-util jar 2.1.3
joda-time : joda-time jar 2.2
com.hp.hpl.jena : jena jar 2.6.4
org.apache.santuario : xmlsec jar 1.5.4
org.codehaus.jackson : jackson-mapper-lgpl jar 1.9.11
xerces : xercesImpl jar 2.11.0
commons-io : commons-io jar 2.4
org.slf4j : slf4j-api jar 1.7.5

runtime (2)

Group / Artifact Type Version
org.slf4j : jcl-over-slf4j jar 1.7.5
org.slf4j : log4j-over-slf4j jar 1.7.5

test (7)

Group / Artifact Type Version
com.carrotsearch : junit-benchmarks jar 0.6.0
com.h2database : h2 jar 1.3.171
org.mockito : mockito-all jar 1.9.5
xmlunit : xmlunit jar 1.4
org.apache.maven : maven-artifact jar 3.0.5
org.slf4j : slf4j-simple jar 1.7.5
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

MediaShelf fedora-client logo

MediaShelf fedora-client

A developer-friendly Java client for the Fedora Commons Repository REST API.

Create a new Fedora object as easily as:

ingest("test:pid").execute(client);

Or, to add a datastream:

File f = new File("/tmp/Hyperballad.mp3");
addDatastream("test:pid", "DS1").controlGroup("M").content(f).execute(client);

Optional properties are just that: optional. And when you do need one, it's clearly labeled rather than lost in an opaque series of null arguments. Compare:

addDatastream("test:pid", "DS2").controlGroup("M")
  .dsLocation("http://localhost:8080/fedora/get/fedora-system:ContentModel-3.0/DC")
  .mimeType("text/xml").execute(client);

with something like the following:

apim.addDatastream("test:pid", "DS3", null, null, true, "text/xml", null, 
"http://localhost:8080/fedora/get/fedora-system:ContentModel-3.0/DC", "M", 
"A", null, null, null);

For complete documentation see: http://mediashelf.github.com/fedora-client/

Requirements

  • Fedora 3.5 or later (earlier 3.x versions should work as well, minus some features)
  • Java 6

Installation

fedora-client is now available via Maven Central. As of version 0.1.8, fedora-client is provided as two artifacts:

  • fedora-client-core, which supports Fedora's REST API and riSearch
  • fedora-client-messaging, which supports Fedora's Messaging

Both artifacts are also available as -with-dependencies jars, which bundle their respective dependencies in a single jar for use with non-Maven projects.

Building from source

  1. Download the source, e.g.

     git clone git://github.com/mediashelf/fedora-client.git
    
  2. Build the project

     cd fedora-client
     mvn install
    

    fedora-client ships with a number of integration tests and will automatically start and stop an instance of Fedora. Set the testing properties (e.g. port) in pom.xml, or to skip the integration tests entirely:

     mvn install -DskipTests
    

License & Copyright

fedora-client is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

fedora-client is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with fedora-client. If not, see http://www.gnu.org/licenses/.

Copyright © 2010-2012 MediaShelf

com.yourmediashelf.fedora.client

MediaShelf

Versions

Version
0.7
0.6
0.5
0.4
0.3
0.2
0.1.8