Skip to content

Instantly share code, notes, and snippets.

@ib84
ib84 / Ordr.java
Created October 6, 2012 16:38
Ordering enums for index functions of Hazelcast storage implementation for HyperGraphDB
package org.hypergraphdb.storage.hazelstore;
public enum Ordr
{
LT, LTE, GT, GTE
}
@ib84
ib84 / ScalaHGDBTransactions.scala
Created November 11, 2012 16:57
Scala HyperGraphDB-Transaction Utility methods + tests
object TestTransa {
import org.hypergraphdb.transaction.HGUserAbortException
import scala.runtime.NonLocalReturnControl
import org.hypergraphdb._
import HGQuery.hg
import java.lang.Throwable
import scala.annotation.tailrec
val graph:HyperGraph = new HyperGraph("/home/ingvar/bin/sbt-scala-hypergraphdb/bje")
@ib84
ib84 / hgdbJava.java
Created November 11, 2012 17:37
scala hypergraphdb demos
private static HGHandle linkLine(String [] stations, HyperGraph graph){
HGHandle[] stationHandles = new HGHandle[stations.length];
for (int i = 0; i < stations.length; i++){
stationHandles[i] = hg.assertAtom(graph, stations[i]);
}
return graph.add(new HGPlainLink(stationHandles));
}
public static void main(String[] args) {
HyperGraph graph = new HyperGraph("//home/ingvar/bin/sbt-KK/bje");
@ib84
ib84 / validationsBefore.scala
Last active December 16, 2015 10:39
Naive version of a series of tests (validations) for a test.
val validatations : Seq[(String, (S,Seq[(K,Seq[V])]) => Try[Boolean])]=
Seq(
("def findLT(key: K)", (index:S, dataSeq:Seq[(K,Seq[V])]) => Try
{
val allTrue = dataSeq.forall{ case (key, valueSeq) =>
{
val b = index.findLT(key)
val ordering = implicitly[Ordering[K]]
val c = dataSeq.filter( pair => ordering.lt(pair._1, key)).map(_._1).toSet
b.forall(key => c.contains(key))
@ib84
ib84 / validationsShortened.scala
Last active December 16, 2015 11:09
validationsHOF&Underscores
def findX(name:String, keys: (HGSortIndex[K,V], K) => HGSearchResult[V], disc:(Ordering[K],K,K) => Boolean) :
(name, (index:S, dataSeq:Seq[(K,Seq[V])]) => Try
{
val allTrue = dataSeq.forall{ case (key, valueSeq) =>
{
val b :HGSearchResult[V]= keys(index, key)
val ordering = implicitly[Ordering[K]]
val c = dataSeq.filter( pair => disc(ordering, pair._1,
key)).map(_._1).toSet
b.forall(key => c.contains(key))