Skip to content

Commit 7668231

Browse files
[add] initial version
0 parents  commit 7668231

140 files changed

Lines changed: 12931 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

readme.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
### DHTMLX Connector for JAVA
2+
3+
Docs - http://docs.dhtmlx.com/connector__java__index.html
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Copyright (c) 2009 - DHTMLX, All rights reserved
3+
*/
4+
package com.dhtmlx.connector;
5+
6+
import java.util.HashMap;
7+
8+
/**
9+
* The Class AccessManager.
10+
*
11+
* This class used to define which operation can be performed by connector.
12+
* By default - all operations are allowed
13+
*/
14+
public class AccessManager {
15+
16+
/** The set of access rules. */
17+
private HashMap<OperationType,Boolean> rules;
18+
19+
/**
20+
* Instantiates a new access manager.
21+
*/
22+
public AccessManager(){
23+
rules = new HashMap<OperationType, Boolean>();
24+
}
25+
26+
/**
27+
* Check if defined access mode is allowed
28+
*
29+
* @param mode access mode
30+
*
31+
* @return true, if mode is allowed, false otherwise
32+
*/
33+
public boolean check(OperationType mode) {
34+
Boolean test = rules.get(mode);
35+
if (test == null) return true;
36+
return test.booleanValue();
37+
}
38+
39+
/**
40+
* Mark access mode as allowed
41+
*
42+
* @param mode access mode
43+
*/
44+
public void allow(OperationType mode){
45+
rules.put(mode, true);
46+
}
47+
48+
/**
49+
* Mark access mode as denied
50+
*
51+
* @param mode access mode
52+
*/
53+
public void deny(OperationType mode){
54+
rules.put(mode, false);
55+
}
56+
57+
/**
58+
* Deny all known access modes ( read, insert, update, delete )
59+
*/
60+
public void deny_all(){
61+
rules.put(OperationType.Read, false);
62+
rules.put(OperationType.Insert, false);
63+
rules.put(OperationType.Update, false);
64+
rules.put(OperationType.Delete, false);
65+
}
66+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.dhtmlx.connector;
2+
3+
import java.lang.reflect.Field;
4+
import java.util.HashMap;
5+
import java.util.Iterator;
6+
7+
public class ArrayConnectorResultSet extends ConnectorResultSet implements
8+
Iterable<Object> {
9+
10+
protected Iterable<Object> result = null;
11+
protected Iterator<Object> it = null;
12+
13+
public ArrayConnectorResultSet(Iterable<Object> data) {
14+
super(null, null);
15+
result = data;
16+
it = result.iterator();
17+
}
18+
19+
/**
20+
* Gets the next record in result set
21+
*
22+
* @return the hash of data for the next record in result set
23+
*/
24+
public HashMap<String,String> get_next() {
25+
HashMap<String,String> data = new HashMap<String,String>();
26+
if (!it.hasNext()) return null;
27+
Object item = it.next();
28+
Field[] fields = item.getClass().getFields();
29+
try {
30+
for (Field field : fields)
31+
data.put(field.getName(), field.get(item).toString());
32+
} catch (IllegalArgumentException e) {
33+
e.printStackTrace();
34+
} catch (IllegalAccessException e) {
35+
e.printStackTrace();
36+
}
37+
return data;
38+
}
39+
40+
public Iterator<Object> iterator() {
41+
return result.iterator();
42+
}
43+
44+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.dhtmlx.connector;
2+
3+
import java.lang.reflect.Field;
4+
import java.util.ArrayList;
5+
import java.util.Iterator;
6+
7+
public class ArrayDBDataWrapper extends DBDataWrapper {
8+
9+
protected ArrayConnectorResultSet data;
10+
11+
public ArrayDBDataWrapper(Iterable<Object> data) {
12+
this.data = new ArrayConnectorResultSet(data);
13+
}
14+
15+
@Override
16+
public ConnectorResultSet select(DataRequest source) throws ConnectorOperationException {
17+
ArrayList<Object> result = new ArrayList<Object>();
18+
19+
if (config.relation_id == null || config.relation_id.db_name.equals("")) {
20+
if (source.get_relation().equals("0") || source.get_relation().equals("")) {
21+
return data;
22+
} else {
23+
return new ArrayConnectorResultSet(result);
24+
}
25+
}
26+
27+
String relation_id = config.relation_id.db_name;
28+
29+
Iterator it = data.iterator();
30+
while (it.hasNext()) {
31+
Object item = it.next();
32+
try {
33+
Field f = item.getClass().getField(relation_id);
34+
Object value = f.get(item);
35+
if (value == null) continue;
36+
if (value.toString().equals(source.get_relation()))
37+
result.add(item);
38+
} catch (SecurityException e) {
39+
e.printStackTrace();
40+
} catch (NoSuchFieldException e) {
41+
e.printStackTrace();
42+
} catch (IllegalArgumentException e) {
43+
e.printStackTrace();
44+
} catch (IllegalAccessException e) {
45+
e.printStackTrace();
46+
}
47+
}
48+
return new ArrayConnectorResultSet(result);
49+
}
50+
51+
@Override
52+
public String escape(String data) {
53+
return null;
54+
}
55+
56+
@Override
57+
public String get_new_id(ConnectorResultSet result)
58+
throws ConnectorOperationException {
59+
return null;
60+
}
61+
62+
}

0 commit comments

Comments
 (0)