Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import fr.inria.corese.core.kgram.api.core.Edge;
import fr.inria.corese.core.sparql.api.IDatatype;
import fr.inria.corese.core.sparql.triple.parser.AccessRight.AccessRights;

/**
*
Expand Down Expand Up @@ -39,10 +40,7 @@ public final String getURI() {
}

}

public static final int GT_MODE = 0;
public static final int EQ_MODE = 1;
public static final int BI_MODE = 2;
public enum AccessModes { GT_MODE, EQ_MODE, BI_MODE }

public static final byte ZERO = 0b0000000;
// available for access right:
Expand All @@ -59,7 +57,7 @@ public final String getURI() {

public static final byte[] BINARY = {ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN};

public static final int DEFAULT_MODE = GT_MODE;
public static final AccessModes DEFAULT_MODE = AccessModes.GT_MODE;

public static final String GT_ACCESS_MODE = NSManager.EXT+"gt";
public static final String EQ_ACCESS_MODE = NSManager.EXT+"eq";
Expand Down Expand Up @@ -87,7 +85,7 @@ public final String getURI() {
private AccessRights[] whereList = new AccessRights[0];
private AccessRights where = DEFAULT;

private static int mode = DEFAULT_MODE;
private static AccessModes mode = DEFAULT_MODE;

private AccessRightDefinition insertRightDefinition;
private AccessRightDefinition deleteRightDefinition;
Expand Down Expand Up @@ -338,24 +336,24 @@ public static AccessRights getLevel(byte byteValue) {
}


public static int getMode() {
public static AccessModes getMode() {
return mode;
}

public static void setMode(int m) {
public static void setMode(AccessModes m) {
mode = m;
}

public static void gtMode() {
setMode(GT_MODE);
setMode(AccessModes.GT_MODE);
}

public static void eqMode() {
setMode(EQ_MODE);
setMode(AccessModes.EQ_MODE);
}

public static void biMode() {
setMode(BI_MODE);
setMode(AccessModes.BI_MODE);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import fr.inria.corese.core.kgram.api.core.Edge;
import fr.inria.corese.core.kgram.api.core.Node;
import fr.inria.corese.core.sparql.triple.parser.AccessRight.AccessRights;
import fr.inria.corese.core.sparql.triple.parser.AccessRight.AccessModes;

import java.util.HashMap;

/**
Expand All @@ -20,16 +23,12 @@ public class AccessRightDefinition {
private AccessMap graphAccess;
private AccessMap predicateAccess;

private boolean debug = false;
private boolean inheritDefault = false;



static {
setSingleton(new AccessRightDefinition());
}

public class AccessMap extends HashMap<String, AccessRight.AccessRights> {
public class AccessMap extends HashMap<String, AccessRights> {


/**
Expand All @@ -38,11 +37,11 @@ public class AccessMap extends HashMap<String, AccessRight.AccessRights> {
* otherwise return null
* @return
*/
AccessRight.AccessRights getAccess(Node node) {
AccessRights getAccess(Node node) {
if (isEmpty()) {
return null;
}
AccessRight.AccessRights b = get(node.getLabel());
AccessRights b = get(node.getLabel());
if (b != null) {
return b;
}
Expand Down Expand Up @@ -89,7 +88,6 @@ void init() {

public void inheritDefault() {
inherit(getSingleton());
setInheritDefault(true);
}


Expand All @@ -109,64 +107,64 @@ int size() {
* res is the URI|namespace access right granted for edge
* @return
*/
AccessRight.AccessRights getAccess(Edge edge, AccessRight.AccessRights def) {
AccessRight.AccessRights res = getAccess(edge);
AccessRights getAccess(Edge edge, AccessRights def) {
AccessRights res = getAccess(edge);
if (res == null) {
return def;
}
return res;
}

AccessRight.AccessRights getAccess(Edge edge) {
AccessRights getAccess(Edge edge) {
return getAccessDirect(edge);
}

/**
* URI of default may overload namespace of current (if current has no URI)
*/
AccessRight.AccessRights getAccessDirect(Edge edge) {
AccessRights getAccessDirect(Edge edge) {
if (size() == 0) {
return null;
}
return combine(getSubject(edge), combine(getObject(edge), combine(getPredicate(edge), getGraph(edge))));
}


AccessRight.AccessRights get(AccessRight.AccessRights current, AccessRight.AccessRights defaut) {
AccessRights get(AccessRights current, AccessRights defaut) {
return (current == null) ? defaut : current;
}


AccessRight.AccessRights getAccessOrDefault(Edge edge) {
AccessRight.AccessRights res = getAccessBasic(edge);
AccessRights getAccessOrDefault(Edge edge) {
AccessRights res = getAccessBasic(edge);
if (res == null) {
return getSingleton().getAccessBasic(edge);
}
return res;
}

AccessRight.AccessRights getAccessBasic(Edge edge) {
AccessRights getAccessBasic(Edge edge) {
if (size() > 0) {
AccessRight.AccessRights node = combine(getSubject(edge), getObject(edge));
AccessRight.AccessRights access = combine(getPredicate(edge), getGraph(edge));
AccessRights node = combine(getSubject(edge), getObject(edge));
AccessRights access = combine(getPredicate(edge), getGraph(edge));
return combine(node, access);
}
return null;
}

int getMode() {
AccessModes getMode() {
return AccessRight.getMode();
}


AccessRight.AccessRights combine(AccessRight.AccessRights b1, AccessRight.AccessRights b2) {
if (getMode() == AccessRight.BI_MODE) {
AccessRights combine(AccessRights b1, AccessRights b2) {
if (getMode() == AccessModes.BI_MODE) {
return combineBinary(b1, b2);
}
return moreRestricted(b1, b2);
}

AccessRight.AccessRights combineBinary(AccessRight.AccessRights b1, AccessRight.AccessRights b2) {
AccessRights combineBinary(AccessRights b1, AccessRights b2) {
if (b1 == null) {
return b2;
}
Expand All @@ -177,7 +175,7 @@ AccessRight.AccessRights combineBinary(AccessRight.AccessRights b1, AccessRight.
}


AccessRight.AccessRights moreRestricted(AccessRight.AccessRights b1, AccessRight.AccessRights b2) {
AccessRights moreRestricted(AccessRights b1, AccessRights b2) {
if (b1 == null) {
return b2;
}
Expand All @@ -190,22 +188,22 @@ AccessRight.AccessRights moreRestricted(AccessRight.AccessRights b1, AccessRight


// return null when there is no uri access right
AccessRight.AccessRights getPredicate(Edge edge) {
AccessRights getPredicate(Edge edge) {
return getPredicate().getAccess(edge.getProperty());
}

AccessRight.AccessRights getGraph(Edge edge) {
AccessRights getGraph(Edge edge) {
if (edge.getGraph() == null) {
return null;
}
return getGraph().getAccess(edge.getGraph());
}

AccessRight.AccessRights getSubject(Edge edge) {
AccessRights getSubject(Edge edge) {
return getNode().getAccess(edge.getNode(0));
}

AccessRight.AccessRights getObject(Edge edge) {
AccessRights getObject(Edge edge) {
return getNode().getAccess(edge.getNode(1));
}

Expand Down Expand Up @@ -239,13 +237,6 @@ public AccessMap getPredicate() {
}


/**
* @param debug the debug to set
*/
public void setDebug(boolean debug) {
this.debug = debug;
}

/**
* @return the singleton
*/
Expand Down Expand Up @@ -301,18 +292,5 @@ public AccessMap getPredicateAccess() {
public void setPredicateAccess(AccessMap predicateAccess) {
this.predicateAccess = predicateAccess;
}


/**
* @param inheritDefault the inheritDefault to set
*/
public void setInheritDefault(boolean inheritDefault) {
this.inheritDefault = inheritDefault;
}






}
Loading