DarkLord Client API

Client API of DarkLord - Java Client for Voldemort

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

com.agilistanbul
ArtifactId

ArtifactId

darklord-client
Last Version

Last Version

0.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

DarkLord Client API
Client API of DarkLord - Java Client for Voldemort

Download darklord-client

How to add to project

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

Dependencies

compile (9)

Group / Artifact Type Version
voldemort » voldemort jar 1.3.0
commons-lang : commons-lang jar 2.6
jdom : jdom jar 1.0
commons-codec : commons-codec jar 1.8
commons-io : commons-io jar 2.4
org.apache.velocity : velocity jar 1.5
com.google.protobuf : protobuf-java jar 2.4.1
com.google.guava : guava jar 15.0
org.slf4j : slf4j-api jar 1.7.5

provided (1)

Group / Artifact Type Version
org.slf4j : slf4j-log4j12 jar 1.7.5

runtime (1)

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

test (3)

Group / Artifact Type Version
junit : junit jar 4.11
org.easymock : easymock jar 3.2
com.agilistanbul : darklord-server jar 0.1.1

Project Modules

There are no modules declared in this project.

DarkLord

DarkLord is a Java API for Project Voldemort. It uses official Voldemort Java API and provides additional abstraction.

build status Coverage Status

It is named after the fictional Harry Potter villain Lord Voldemort. The Dark Lord is used as a nick name for the Lord Voldemort. In the series, almost no witch or wizard dares to speak his name, instead referring to him by epithets such as "You-Know-Who", "He-Who-Must-Not-Be-Named" or "the Dark Lord".

Project Voldemort is a distributed data store that is designed as a key-value store used by LinkedIn for high-scalability storage.

Project Voldemort already has a Java API which is used by Voldemort internally. But DarkLord provides a tiny API as an abstraction on top of official Voldemort client API.

Purpose

The current design of original Voldemort API is not TDD friendly. It's sometimes impossible to write unit tests using the API. The main aim to build a new abstraction on top of Voldemort API is to be able to have less-features but cleaner codebase.

DarkLord Client API

darklord-client API provides a java client using the original Voldemort Java API.

DarkLord Server API

darklord-server API provides a server implementation to startup Voldemort instances on local machines for testing purposes. This provides capability to develop or test without any need to Voldemort server installation.

Main Dependencies

Java version:

  • Java 7

Libraries not available in central maven repository. You can access these libraries from project's lib/ folder and copy to your local maven repository:

  • Voldemort-1.3.0
  • Je-4.1.17

Usage

For maven users, you can add DarkLord-Client and DarkLord-Server from OSS Central Maven Repository as the following.

<dependency>
    <groupId>com.agilistanbul</groupId>
    <artifactId>darklord-client</artifactId>
    <version>0.1.1</version>
</dependency>
<dependency>
    <groupId>com.agilistanbul</groupId>
    <artifactId>darklord-server</artifactId>
    <version>0.1.1</version>
</dependency>

Please note that Voldemort-1.3.0 is not available in central maven repository. You should download and add it to your local repository by yourself.

Configuring Server and Client

Voldemort server and clients can be configured by changing values of the predefined settings. The list of all possible settings are added to the codebase as sample files. You can check the settings of Voldemort server from server.properties, the settings of Voldemort client from client.properties and the settings of Voldemort admin client from admin.properties files.

Contributors

Copyright (C) Lemi Orhan Ergin

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Bitdeli Badge

Versions

Version
0.1.1