【Agile Pair Coding】Data Type Mapping

2024-04-01 21:48
文章标签 type data coding pair mapping agile

本文主要是介绍【Agile Pair Coding】Data Type Mapping,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

    今天下午用了1个小时左右,和同事Agile Pair Coding敏捷开发了一把,感觉挺爽的。

    Agile Pair Coding给我们带来的直接好处是:相互不浪费时间(就两个人),高效;idea很快达成共识(就两个人),不纠结于无谓的讨论;idea立马coding,不沉迷于头脑风暴;代码更严谨;重构概率大;加深基情;相互学习,相互欣赏,相互指正;避免无知,避免自我感觉良好......

    代码主要实现:从所有类型文件中,得到所有NE类型下的所有Object类型下的所有属性数据类型

    当然,本文只是一个短时间内的Draft版本,可能会有一些问题,敬请指正。


package shuai.study.spring.validator;/*** @ClassName: Service* @Description: TODO* @author Zhou Shengshuai* @date 2014年8月8日 下午3:40:45* */
public interface Service {public void initialize();public void destroy();
}

package shuai.study.spring.validator;/*** @ClassName: TypeMapper* @Description: TODO* @author Zhou Shengshuai* @date 2014年8月8日 下午3:40:26* */
public interface TypeMapper {public String getType(String neType, String objectType, String fieldName);}
package shuai.study.spring.validator;import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;/*** @ClassName: FileTypeMapper* @Description: TODO* @author Zhou Shengshuai* @date 2014年8月8日 下午3:10:06* */
public class DataTypeMapper implements TypeMapper, Service {private String filePath = null;private Map<String, Map<String, Map<String, String>>> allNeTypeMap = null;public DataTypeMapper() {}public void setFilePath(String filePath) {this.filePath = filePath;}@Overridepublic void initialize() {allNeTypeMap = getAllNeTypeMap(filePath);}@Overridepublic void destroy() {allNeTypeMap.clear();allNeTypeMap = null;}@Overridepublic String getType(String neType, String objectType, String fieldName) {if (allNeTypeMap != null && allNeTypeMap.containsKey(neType)) {Map<String, Map<String, String>> neTypeMap = allNeTypeMap.get(neType);if (neTypeMap != null && neTypeMap.containsKey(objectType)) {Map<String, String> objectTypeMap = neTypeMap.get(objectType);if (objectTypeMap != null && objectTypeMap.containsKey(fieldName)) {return objectTypeMap.get(fieldName);}}}return null;}private static Map<String, Map<String, Map<String, String>>> getAllNeTypeMap(String filepath) {Map<String, Map<String, Map<String, String>>> allNeTypeMap = new HashMap<String, Map<String, Map<String, String>>>();File[] files = new File(filepath).listFiles();for (File file : files) {String filename = file.getName();if (filename != null && filename.matches("\\w+-.*")) {allNeTypeMap.put(filename.split("-")[0], getNeTypeMap(file));}}return allNeTypeMap;}private static Map<String, Map<String, String>> getNeTypeMap(File file) {Map<String, Map<String, String>> neTypeMap = new HashMap<String, Map<String, String>>();BufferedReader reader = null;String line = null;Map<String, String> objectTypeMap = null;try {reader = new BufferedReader(new FileReader(file));while ((line = reader.readLine()) != null) {if (line.matches("\\[\\w+\\]")) {String objectType = line.substring(1, line.length() - 1).trim();if (!neTypeMap.containsKey(objectType)) {neTypeMap.put(objectType, new HashMap<String, String>());}objectTypeMap = neTypeMap.get(objectType);} else if (line.matches("\\b*\\w+\\b*:\\b*\\w+\\b*")) {String[] array = line.split(":");if (objectTypeMap != null && array != null && array.length == 2) {objectTypeMap.put(array[0].trim(), array[1].trim());}}}} catch (FileNotFoundException fnfe) {fnfe.printStackTrace();} catch (IOException ioe) {ioe.printStackTrace();} finally {try {reader.close();} catch (IOException ioe) {ioe.printStackTrace();}}return neTypeMap;}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"><bean id="TypeMapper" class="shuai.study.spring.validator.DataTypeMapper" init-method="initialize" destroy-method="destroy" scope="singleton"><property name="filePath" value="D:/userdata/shengshu/Desktop/validation" /></bean></beans>
 
import org.springframework.context.support.FileSystemXmlApplicationContext;/*** @ClassName: Test* @Description: TODO* @author Zhou Shengshuai* @date 2014年8月8日 下午3:52:55* */
public class MapperApp {public static void main(String[] args) {@SuppressWarnings("resource")FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("spring-context-mapper.xml");TypeMapper mapper = (DataTypeMapper) context.getBean("TypeMapper");System.out.println(mapper.getType("CSCF", "PcscfFunction", "MaxBHSA"));context.getBeanFactory().destroySingletons();}
}


这篇关于【Agile Pair Coding】Data Type Mapping的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868220

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

Caused by: org.hibernate.MappingException: Could not determine type for: org.cgh.ssh.pojo.GoodsType,

MappingException:这个主要是类映射上的异常,Could not determine type for: org.cgh.ssh.pojo.GoodsType,这句话表示GoodsType这个类没有被映射到

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

java.sql.SQLException: No data found

Java代码如下: package com.accord.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import

FORM的ENCTYPE=multipart/form-data 时request.getParameter()值为null问题的解决

此情况发生于前台表单传送至后台java servlet处理: 问题:当Form需要FileUpload上传文件同时上传表单其他控件数据时,由于设置了ENCTYPE=”multipart/form-data” 属性,后台request.getParameter()获取的值为null 上传文件的参考代码:http://www.runoob.com/jsp/jsp-file-uploading.ht