toolbox-storage

The storage module of the GEIGER toolbox

License

License

GroupId

GroupId

eu.cyber-geiger
ArtifactId

ArtifactId

toolbox-storage
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

toolbox-storage
The storage module of the GEIGER toolbox
Project URL

Project URL

https://github.com/cyber-geiger/toolbox-storage
Source Code Management

Source Code Management

http://github.com/cyber-geiger/toolbox-storage/

Download toolbox-storage

Dependencies

compile (4)

Group / Artifact Type Version
com.puppycrawl.tools : checkstyle jar 8.38
org.apache.logging.log4j : log4j-core jar 2.12.1
org.apache.logging.log4j : log4j-api jar 2.12.1
org.apache.logging.log4j : log4j-jul jar 2.12.1

runtime (2)

Group / Artifact Type Version
com.h2database : h2 jar 1.4.200
info.picocli : picocli jar 4.5.2

Project Modules

There are no modules declared in this project.

GEIGER local Storage implementation

This repository contains the implementation for the local storage used in the GEIGER project.

Structure

The code is structured in multiple packages.

localStorage contains interfaces used in all subpackages

localStorage.DB contains files for database interactions

localStorage.DB.mapper contains database mappers to translate functions into backends (e.g., SQL)

Build

This is a simple maven project and thus supports the common maven operations. For building the following commands can be used:

  • ./gradlew clean test jar

Installation

As this is part of a bigger project there is no particular installation process.

GEIGER Project

The GEIGER project aims to create a solution for small businesses to protect themselves against cyber threats by constructing an application that calculates a threat score of the current device.

More information can be found under https://project.cyber-geiger.eu/

Get binaries

Precompiled binaries of the latest PRODUCTION build are available here.

Precompiled binaries of the latest integration build are available here.

Stage Build status
PROD: PRODUCTION
integration: integration
development: devlopment

Quick start

Create an ephemeral storage with a controller for testing puposes

StorageController controller = new GenericController("theOwner",new DummyMapper());

Create a persistent storage with a controller

torageController controller = new GenericController("theOwner",new H2SqlMapper("jdbc:h2:./dbFileName;AUTO_SERVER=TRUE", "user", "Password"));

Create a dummy plugin for GEIGER values to be provided

// create a new storage for testing
StorageController controller = new GenericController("theOwner",new DummyMapper());
// create a dummy feeder for values
DummyStorageFeeder cysec = new DummyStorageFeeder(controller);
// start providing values to the database in a continuous way
cysec.startFeeder();
// do whatever you want to do here
// ...
// stop feeding values
cysec.stopFeeder();
eu.cyber-geiger

Cyber-GEIGER.eu

Versions

Version
0.2.0