]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Operations.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / util / Operations.java
1 package org.simantics.db.layer0.util;\r
2 \r
3 import org.simantics.db.RequestProcessor;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.db.common.request.AdaptValue;\r
6 import org.simantics.db.exception.DatabaseException;\r
7 import org.simantics.db.layer0.exception.OperationNotAllowedException;\r
8 import org.simantics.db.request.WriteResult;\r
9 import org.simantics.scl.runtime.function.Function;\r
10 \r
11 public class Operations {\r
12 \r
13     public static boolean isAllowed(RequestProcessor rp, Resource operation) throws DatabaseException {\r
14         return true;\r
15     }\r
16     \r
17     public static <T> T exec(RequestProcessor rp, \r
18             Resource operation, Object ... parameters) throws DatabaseException, OperationNotAllowedException {\r
19         if(!isAllowed(rp, operation))\r
20             throw new OperationNotAllowedException();\r
21         Object op = rp.syncRequest(new AdaptValue(operation));\r
22         if(parameters.length > 0)\r
23             op = ((Function)op).applyArray(parameters);\r
24         return rp.syncRequest((WriteResult<T>)op);\r
25     }\r
26     \r
27 }\r