Skip to content
Snippets Groups Projects
Commit db3e016b authored by Tang, Wei's avatar Tang, Wei
Browse files

Merge branch 'tw_basic_service' into 'master'

Tw basic service

See merge request g226002120/AmazingProject!1
parents 38ab75b8 a3526b1c
No related branches found
No related tags found
No related merge requests found
Showing
with 228 additions and 225 deletions
package com.ic.er;
import com.ic.er.common.RelatedObjType;
import com.ic.er.entity.*;
import java.util.ArrayList;
import java.util.List;
public class Trans {
protected static LayoutInfo TransformFromDB(LayoutInfoDO layoutInfoDO) {
return new LayoutInfo(layoutInfoDO.getID(), layoutInfoDO.getRelatedObjID(), layoutInfoDO.getRelatedObjType(), layoutInfoDO.getLayoutX(), layoutInfoDO.getLayoutY(), layoutInfoDO.getHeight(), layoutInfoDO.getWidth());
}
protected static List<LayoutInfo> TransLayoutInfoListFormDB(List<LayoutInfoDO> doList) {
List<LayoutInfo> ret = new ArrayList<>();
for (LayoutInfoDO LayoutInfoDO : doList) {
ret.add(TransformFromDB(LayoutInfoDO));
}
return ret;
}
protected static Attribute TransformFromDB(AttributeDO attributeDO) {
LayoutInfo layoutInfo = LayoutInfo.queryByObjIDAndObjType(attributeDO.getID(), RelatedObjType.ATTRIBUTE);
return new Attribute(attributeDO.getID(), attributeDO.getEntityID(), attributeDO.getSchemaID(),
attributeDO.getName(), attributeDO.getDataType(), attributeDO.getIsPrimary(), attributeDO.getNullable(),
layoutInfo, 0.0, 0.0, attributeDO.getGmtCreate(), attributeDO.getGmtModified());
}
protected static List<Attribute> TransAttributeListFromDB(List<AttributeDO> doList) {
List<Attribute> ret = new ArrayList<>();
for (AttributeDO attributeDO : doList) {
ret.add(TransformFromDB(attributeDO));
}
return ret;
}
protected static Entity TransformFromDB(EntityDO entityDO) {
List<Attribute> attributeList = Attribute.queryByAttribute(new AttributeDO(entityDO.getID(), entityDO.getSchemaID()));
LayoutInfo layoutInfo = LayoutInfo.queryByObjIDAndObjType(entityDO.getID(), RelatedObjType.ENTITY);
return new Entity(entityDO.getID(), entityDO.getName(), entityDO.getSchemaID(), attributeList, layoutInfo, null, null,
entityDO.getGmtCreate(), entityDO.getGmtModified());
}
protected static List<Entity> TransEntityListFormFromDB(List<EntityDO> doList) {
List<Entity> ret = new ArrayList<>();
for (EntityDO EntityDO : doList) {
ret.add(TransformFromDB(EntityDO));
}
return ret;
}
protected static Relationship TransformFromDB(RelationshipDO relationshipDO) {
LayoutInfo layoutInfo = LayoutInfo.queryByObjIDAndObjType(relationshipDO.getID(), RelatedObjType.RELATIONSHIP);
return new Relationship(relationshipDO.getID(), relationshipDO.getName(), relationshipDO.getSchemaID(),
Entity.queryByID(relationshipDO.getFirstEntityID()), Entity.queryByID(relationshipDO.getSecondEntityID()),
relationshipDO.getFirstCardinality(), relationshipDO.getSecondCardinality(), layoutInfo,
relationshipDO.getGmtCreate(), relationshipDO.getGmtModified());
}
protected static List<Relationship> TransRelationshipListFromDB(List<RelationshipDO> doList) {
List<Relationship> ret = new ArrayList<>();
for (RelationshipDO RelationshipDO : doList) {
ret.add(TransformFromDB(RelationshipDO));
}
return ret;
}
protected static Schema TransformFromDB(SchemaDO schema) {
List<Entity> entityList = Entity.queryByEntity(new EntityDO(null, null, schema.getID(), null, null, null));
List<Relationship> relationshipList = Relationship.queryByRelationship(new RelationshipDO(null, null, schema.getID(), null, null, null, null, null, null, null));
return new Schema(schema.getID(), schema.getName(), entityList, relationshipList, schema.getCreator(),
schema.getGmtCreate(), schema.getGmtModified());
}
protected static List<Schema> TransSchemaListFromDB(List<SchemaDO> doList) {
List<Schema> ret = new ArrayList<>();
for (SchemaDO SchemaDO : doList) {
ret.add(TransformFromDB(SchemaDO));
}
return ret;
}
}
package com.ic.er.bean.dto;
public class AttributeDTO {
private Long entity_id;
private Long view_id;
private String name;
private String data_type;
private int is_primary;
private int is_foreign;
private int is_delete;
}
package com.ic.er.bean.dto;
import java.util.List;
public class EntityDTO {
private Long id;
private String name;
private Long view_id;
private List<AttributeDTO> attributeDTOList;
}
package com.ic.er.bean.dto;
public class RelationshipDTO {
private Long id;
private String name;
private Long view_id;
private Long first_entity_id;
private Long second_entity_id;
private Long first_attribute_id;
private Long second_attribute_id;
private int cardinatily;
}
package com.ic.er.bean.dto;
public class ViewDTO {
private Long id;
private String name;
private String creator;
}
package com.ic.er.bean.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Attribute {
private Long id;
private Long entity_id;
private Long view_id;
private String name;
private String data_type;
private int is_primary;
private int is_foreign;
private int is_delete;
private Date gmt_create;
private Date gmt_modified;
}
package com.ic.er.bean.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Relationship {
private Long id;
private String name;
private Long view_id;
private Long first_entity_id;
private Long second_entity_id;
private Long first_attribute_id;
private Long second_attribute_id;
private int cardinality;
private int is_delete;
private Date gmt_create;
private Date gmt_modified;
}
package com.ic.er.bean.vo;
import com.ic.er.common.ResultState;
public class AttributeVO {
private Long id;
private Long entity_id;
private Long view_id;
private String name;
private String data_type;
private int is_primary;
private int is_foreign;
private int is_delete;
private ResultState resultState;
}
package com.ic.er.bean.vo;
import com.ic.er.bean.entity.Attribute;
import com.ic.er.common.ResultState;
import java.util.List;
public class EntityVO {
private Long id;
private String name;
private Long view_id;
private List<Attribute> attributeList;
private ResultState resultState;
}
package com.ic.er.bean.vo;
import com.ic.er.common.ResultState;
public class RelationshipVO {
private Long id;
private String name;
private Long view_id;
private Long first_entity_id;
private Long second_entity_id;
private Long first_attribute_id;
private Long second_attribute_id;
private int cardinality;
private ResultState resultState;
}
package com.ic.er.bean.vo;
import com.ic.er.bean.entity.Attribute;
import com.ic.er.bean.entity.Entity;
import com.ic.er.bean.entity.Relationship;
import com.ic.er.common.ResultState;
import java.util.List;
/**
* @description input parameter for view service
* @author wendi
* @date 16/10/2022
*/
public class ViewVO {
private String name;
private String creator;
private Long parent_id;
private List<EntityVO> entityList;
private List<Relationship> relationshipList;
private ResultState resultState;
}
package com.ic.er.common;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Getter
@AllArgsConstructor
public enum Cardinality {
Unknown(0, ""),
ZeroToOne(1, "0:1"),
ZeroToMany(2, "0:N"),
OneToOne(3, "1:1"),
OneToMany(4, "1:N");
private final Integer code;
private final String value;
private static final Map<String, Cardinality> EnumFromValue;
private static final Map<Integer, Cardinality> EnumFromCode;
static {
Map<String, Cardinality> map = new ConcurrentHashMap<>();
Map<Integer, Cardinality> mapFromCode = new ConcurrentHashMap<>();
for (Cardinality instance : Cardinality.values()) {
map.put(instance.getValue(), instance);
mapFromCode.put(instance.getCode(), instance);
}
EnumFromValue = Collections.unmodifiableMap(map);
EnumFromCode = Collections.unmodifiableMap(mapFromCode);
}
public static Cardinality getFromValue(String name) {
return EnumFromValue.get(name);
}
public static Cardinality getFromCode(Integer code) {
return EnumFromCode.get(code);
}
}
package com.ic.er.common;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
public class CardinalityEnumTypeHandler extends BaseTypeHandler<Cardinality> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, Cardinality parameter, JdbcType jdbcType)
throws SQLException {
ps.setInt(i, parameter.getCode());
}
@Override
public Cardinality getNullableResult(ResultSet rs, String columnName) throws SQLException {
return Cardinality.getFromCode(rs.getInt(columnName));
}
@Override
public Cardinality getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
return Cardinality.getFromCode(rs.getInt(columnIndex));
}
@Override
public Cardinality getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
return Cardinality.getFromCode(cs.getInt(columnIndex));
}
}
\ No newline at end of file
package com.ic.er.common;
public enum DataType {
UNKNOWN,
CHAR,
VARCHAR,
TEXT,
TINYINT,
SMALLINT,
INT,
BIGINT,
FLOAT,
DOUBLE,
DATETIME,
}
package com.ic.er.common;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum RelatedObjType {
UNKNOWN(0),
ATTRIBUTE(1),
ENTITY(2),
RELATIONSHIP(3);
private final Integer value;
}
package com.ic.er.common;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.ic.er.Relationship;
import java.io.IOException;
public class RelationshipSerializer extends StdSerializer<Relationship> {
public RelationshipSerializer() {
this(null);
}
public RelationshipSerializer(Class<Relationship> t) {
super(t);
}
@Override
public void serialize(
Relationship relationship, JsonGenerator jgen, SerializerProvider provider)
throws IOException {
jgen.writeStartObject();
jgen.writeStringField("name", relationship.getName());
jgen.writeStringField("firstEntity", relationship.getFirstEntity().getName());
jgen.writeStringField("firstCardinality", relationship.getFirstCardinality().getValue());
jgen.writeStringField("secondEntity", relationship.getSecondEntity().getName());
jgen.writeStringField("secondCardinality", relationship.getSecondCardinality().getValue());
jgen.writeObjectField("layoutInfo", relationship.getLayoutInfo());
jgen.writeEndObject();
}
}
\ No newline at end of file
......@@ -32,7 +32,7 @@ public class ResultState {
}
public ResultState(Object data) {
this.status = ResultStateCode.successfulOp;
this.status = ResultStateCode.Success;
this.msg = "OK";
this.data = data;
}
......
package com.ic.er.common;
public class ResultStateCode {
public static Integer successfulOp = 200;
public static Integer failOp = 400;
public static Integer Success = 0;
public static Integer Failure = 1;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment