# Conflicts: # src/core/operation/Select.json # src/core/process/Process.javazgl
commit
d6350f17d4
@ -1,3 +1,6 @@
|
||||
{
|
||||
"id": "java.lang.String"
|
||||
"options":{
|
||||
"id": "String"
|
||||
},
|
||||
"return":{}
|
||||
}
|
@ -1,4 +1,12 @@
|
||||
package core.operation;
|
||||
|
||||
public class DownloadFile {
|
||||
import core.user.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class DownloadFile extends Operation{
|
||||
@Override
|
||||
public Map<String, Object> execute(User subject) throws Exception {
|
||||
return this.getOptions();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"options":{
|
||||
|
||||
},
|
||||
"return":{}
|
||||
}
|
@ -1,4 +1,18 @@
|
||||
package core.operation;
|
||||
|
||||
public class FillInformation {
|
||||
import core.user.User;
|
||||
import dao.DBManagement;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class FillInformation extends Operation{
|
||||
@Override
|
||||
public Map<String, Object> execute(User subject) throws Exception {
|
||||
String table = (String) this.getOptions().get("table");
|
||||
Map<String,String> vMap = (Map<String, String>) this.getOptions().get("vMap");
|
||||
Map<String,String> limits = (Map<String, String>) this.getOptions().get("limits");
|
||||
DBManagement.update(table,vMap,limits);
|
||||
return this.getOptions();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"options":{
|
||||
"table":"String",
|
||||
"vMap":"Map<String,String>",
|
||||
"limits":"Map<String,String>"
|
||||
},
|
||||
"return":{}
|
||||
}
|
@ -1,8 +1,12 @@
|
||||
{
|
||||
"table": "java.lang.String",
|
||||
"field": "java.lang.String",
|
||||
"value": "java.lang.String",
|
||||
"start": "int",
|
||||
"end": "int",
|
||||
"return": "java.lang.String[][]"
|
||||
"options":{
|
||||
"table": "String",
|
||||
"fields": "List",
|
||||
"value": "String",
|
||||
"start": "int",
|
||||
"end": "int"
|
||||
},
|
||||
"return": {
|
||||
"result":"List<String[]>"
|
||||
}
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
{
|
||||
"student_'id": "java.lang.String",
|
||||
"teacher_id": "java.lang.String"
|
||||
"options":{
|
||||
"student_id": "String",
|
||||
"teacher_id": "String"
|
||||
},
|
||||
"return":{}
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"java.lang.String": "activity",
|
||||
"lava.io.File": "file"
|
||||
"options":{
|
||||
"file": "File"
|
||||
},
|
||||
"return":{}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
package core.process;
|
||||
|
||||
public class AuxiliaryProcess extends Process {
|
||||
public AuxiliaryProcess(String permission, String operationName, String processOptions, String info) throws Exception {
|
||||
super(permission, operationName, processOptions, info);
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package core.process;
|
||||
|
||||
public class LastProcess extends Process{
|
||||
|
||||
public LastProcess(String permission, String operationName, String processOptions, String info) throws Exception {
|
||||
super(permission, operationName, processOptions, info);
|
||||
}
|
||||
}
|
@ -1,25 +1,9 @@
|
||||
package core.process;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ProcessManagement {
|
||||
private List<TemporaryProcess> temporaryProcesses;
|
||||
private Map<String, List<Process>> lastProcesses;
|
||||
private List<AuxiliaryProcess> auxiliaryProcesses;
|
||||
public void setProcessesByJson(File file){
|
||||
//todo
|
||||
}
|
||||
public Process getTemporaryProcess(int index){
|
||||
return temporaryProcesses.get(index).clone();
|
||||
}
|
||||
public Condition getCondition(String userType, List<Integer> index){
|
||||
Condition condition = new Condition(this.lastProcesses.get(userType));
|
||||
for(int i:index){
|
||||
condition.add(getTemporaryProcess(i));
|
||||
}
|
||||
return condition;
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
package core.process;
|
||||
|
||||
|
||||
|
||||
public class TemporaryProcess extends Process {
|
||||
public TemporaryProcess(String permission, String operationName, String processOptions, String info) throws Exception {
|
||||
super(permission, operationName, processOptions, info);
|
||||
}
|
||||
}
|
@ -1,4 +1,10 @@
|
||||
package core.user;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class Administrator extends User {
|
||||
@Override
|
||||
public void setAttr(Map<String, String> vMap){
|
||||
super.setAttr(vMap);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,31 @@
|
||||
package core.user;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
public class Student extends User {
|
||||
private String grade;
|
||||
private String profession_code;
|
||||
public void setAttr(Map<String, String> vMap){
|
||||
super.setAttr(vMap);
|
||||
this.setGrade(vMap.get("grade"));
|
||||
this.setProfession_code(vMap.get("profession_code"));
|
||||
}
|
||||
|
||||
|
||||
public String getGrade() {
|
||||
return grade;
|
||||
}
|
||||
|
||||
public void setGrade(String grade) {
|
||||
this.grade = grade;
|
||||
}
|
||||
|
||||
public String getProfession_code() {
|
||||
return profession_code;
|
||||
}
|
||||
|
||||
public void setProfession_code(String profession_code) {
|
||||
this.profession_code = profession_code;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,41 @@
|
||||
package core.user;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
public class Teacher extends User {
|
||||
String job_title;
|
||||
String education;
|
||||
String profession_code;
|
||||
@Override
|
||||
public void setAttr(Map<String, String> vMap){
|
||||
super.setAttr(vMap);
|
||||
this.setEducation(vMap.get("education"));
|
||||
this.setJob_title(vMap.get("job_title"));
|
||||
this.setProfession_code(vMap.get("profession_code"));
|
||||
}
|
||||
public String getJob_title() {
|
||||
return job_title;
|
||||
}
|
||||
|
||||
public void setJob_title(String job_title) {
|
||||
this.job_title = job_title;
|
||||
}
|
||||
|
||||
public String getEducation() {
|
||||
return education;
|
||||
}
|
||||
|
||||
public void setEducation(String education) {
|
||||
this.education = education;
|
||||
}
|
||||
|
||||
public String getProfession_code() {
|
||||
return profession_code;
|
||||
}
|
||||
|
||||
public void setProfession_code(String profession_code) {
|
||||
this.profession_code = profession_code;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
package dao;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class Delete extends SQLStmt {
|
||||
private static final String fs = "DELETE ";
|
||||
private Map<String,String> limits;
|
||||
|
||||
Delete(String table, Map<String, String> limits) {
|
||||
super(table);
|
||||
this.setLimits(limits);
|
||||
}
|
||||
@Override
|
||||
public String getSQL() {
|
||||
return this.getFs()+this.getLs();
|
||||
}
|
||||
private String getLs(){
|
||||
return dao.Utils.whereAnd(this.getLimits());
|
||||
}
|
||||
public String getFs(){
|
||||
return fs+this.getTable()+" ";
|
||||
}
|
||||
|
||||
private Map<String, String> getLimits() {
|
||||
return limits;
|
||||
}
|
||||
|
||||
private void setLimits(Map<String, String> limits) {
|
||||
this.limits = limits;
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package dao;
|
||||
|
||||
import utils.Utils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class Insert extends SQLStmt {
|
||||
private static final String fs ="INSERT INTO ";
|
||||
private Map<String, String> vMap;
|
||||
Insert(String table, Map<String, String> vMap){
|
||||
super(table);
|
||||
this.setVMap(vMap);
|
||||
}
|
||||
@Override
|
||||
public String getSQL() {
|
||||
return this.getFs()+this.getVs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFs() {
|
||||
return fs+this.getTable()+" ";
|
||||
}
|
||||
private String getVs(){
|
||||
StringBuilder sql = new StringBuilder("(");
|
||||
for(String key: this.getVMap().keySet()){
|
||||
sql.append(key).append(", ");
|
||||
}
|
||||
sql = new StringBuilder(Utils.cutTail(sql.toString(), 2) + ") ");
|
||||
sql.append("VALUES (\'");
|
||||
for(String value: vMap.values()){
|
||||
sql.append(value).append("\', \'");
|
||||
}
|
||||
sql = new StringBuilder(Utils.cutTail(sql.toString(), 3) + ")");
|
||||
return sql.toString();
|
||||
}
|
||||
private Map<String, String> getVMap() {
|
||||
return vMap;
|
||||
}
|
||||
|
||||
private void setVMap(Map<String, String> vMap) {
|
||||
this.vMap = vMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package dao;
|
||||
|
||||
public abstract class SQLStmt {
|
||||
private String table;
|
||||
SQLStmt(String table) {
|
||||
this.setTable(table);
|
||||
}
|
||||
public abstract String getSQL();
|
||||
public abstract String getFs();
|
||||
String getTable() {
|
||||
return table;
|
||||
}
|
||||
public void setTable(String table) {
|
||||
this.table = table;
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Select extends SQLStmt {
|
||||
private static final String fs ="SELECT ";
|
||||
private Map<String,String> limits;
|
||||
private List<String> columns;
|
||||
private int startRow;
|
||||
private int endRow;
|
||||
public Select(List<String> columns, String table, Map<String,String> limits, int startRow, int endRow){
|
||||
super(table);
|
||||
this.setColumns(columns);
|
||||
this.setLimits(limits);
|
||||
this.setStartRow(startRow);
|
||||
this.setEndRow(endRow);
|
||||
}
|
||||
@Override
|
||||
public String getSQL() {
|
||||
return this.getFs()+this.getTs()+this.getLs();
|
||||
}
|
||||
private String getLs(){
|
||||
String sql = dao.Utils.whereAnd(this.getLimits())+" ";
|
||||
sql+="LIMIT "+this.getStartRow()+", "+this.getEndRow();
|
||||
return sql;
|
||||
}
|
||||
@Override
|
||||
public String getFs() {
|
||||
return fs+dao.Utils.linkColumn(this.getColumns())+" ";
|
||||
}
|
||||
private String getTs(){
|
||||
return "FROM "+this.getTable()+" ";
|
||||
}
|
||||
private Map<String, String> getLimits() {
|
||||
return limits;
|
||||
}
|
||||
public void setLimits(Map<String, String> limits) {
|
||||
this.limits = limits;
|
||||
}
|
||||
private List<String> getColumns() {
|
||||
return columns;
|
||||
}
|
||||
public void setColumns(List<String> columns) {
|
||||
this.columns = columns;
|
||||
}
|
||||
private int getStartRow() {
|
||||
return startRow;
|
||||
}
|
||||
|
||||
private void setStartRow(int startRow) {
|
||||
this.startRow = startRow;
|
||||
}
|
||||
|
||||
private int getEndRow() {
|
||||
return endRow;
|
||||
}
|
||||
|
||||
private void setEndRow(int endRow) {
|
||||
this.endRow = endRow;
|
||||
}
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package dao;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class Update extends SQLStmt {
|
||||
private static final String fs ="UPDATE ";
|
||||
private Map<String,String> limits;
|
||||
private Map<String,String> vMap;
|
||||
|
||||
|
||||
Update(String table, Map<String, String> vMap, Map<String, String> limits) {
|
||||
super(table);
|
||||
this.setVMap(vMap);
|
||||
this.setLimits(limits);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSQL() {
|
||||
return this.getFs()+this.getVs()+this.getLs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFs() {
|
||||
return fs+this.getTable()+" ";
|
||||
}
|
||||
private String getLs(){
|
||||
return dao.Utils.whereAnd(this.getLimits());
|
||||
}
|
||||
private String getVs(){
|
||||
String sql = "SET ";
|
||||
sql+=Utils.linkColumn(Utils.linkKeyValue(this.getVMap()))+" ";
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
private Map<String, String> getLimits() {
|
||||
return limits;
|
||||
}
|
||||
|
||||
public void setLimits(Map<String, String> limits) {
|
||||
this.limits = limits;
|
||||
}
|
||||
public Map<String, String> getVMap() {
|
||||
return vMap;
|
||||
}
|
||||
|
||||
public void setVMap(Map<String, String> vMap) {
|
||||
this.vMap = vMap;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,6 +1,33 @@
|
||||
package dao;
|
||||
|
||||
public interface Utils {
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface Utils {
|
||||
static String whereAnd(Map<String,String> map){
|
||||
List<String> list = linkKeyValue(map);
|
||||
String sql = "WHERE ";
|
||||
for(String s:list){
|
||||
sql+=s+" AND ";
|
||||
}
|
||||
sql = utils.Utils.cutTail(sql,5)+"";
|
||||
return sql;
|
||||
}
|
||||
//with ", "
|
||||
static String linkColumn(List<String> list){
|
||||
String sql = "";
|
||||
for(String c:list){
|
||||
sql+=c+", ";
|
||||
}
|
||||
return utils.Utils.cutTail(sql,2);
|
||||
}
|
||||
//with " = "
|
||||
static List<String> linkKeyValue(Map<String, String> map){
|
||||
List<String> list = new ArrayList<>();
|
||||
for(Map.Entry<String,String> entry:map.entrySet()){
|
||||
list.add(entry.getKey()+" = \'"+entry.getValue()+"\'");
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
package error;
|
||||
|
||||
public class GExcptFormat extends GExcpt {
|
||||
public GExcptFormat(String info) {
|
||||
super(info);
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package gdms;
|
||||
|
||||
import dao.Select;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class test {
|
||||
public static void main(String[] args){
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("q");
|
||||
list.add("w");
|
||||
Map<String,String> map=new HashMap<>();
|
||||
map.put("a","b");
|
||||
map.put("c","d");
|
||||
Select sql = new Select(list,"zx",map,1,2);
|
||||
System.out.println(sql.getSQL());
|
||||
}
|
||||
}
|
Loading…
Reference in new issue