PartyLocation的Post请求问题---debug
这里,遇到了一个debug:
@Override
public void setPrimaryPartyLocation(PartyLocation partyLocation) {
if (!getPartyLocations().contains(partyLocation)) {
throw new IllegalArgumentException("Party location passed is not known to this party");
}
for (PartyLocation loc : getPartyLocations()) {
loc.setPrimaryLocation(false);
}
partyLocation.setPrimaryLocation(true);
}
底层调用该方法时,getPartyLocations总是未null,而partyLocation参数又是有值的,所以,导致无法setPrimaryLocation成功。一直想调用entity.setLocations,但是,没办法调用该方法。
经过simon帮忙分析,最后,添加上
party.addLocation(location,false);
因为,该方法内部实现了entity.setLocations方法。
总结原因:entity未setLocations,去getLocations的时候,肯定是拿不到数据的。
要学习simon教我的debug调试功能,找到自己需要完善的代码。希望自己慢慢的掌握debug。
private void updateAndCreateLocations(PersonDto dto, Person entity) throws DuplicateLocationException{
Set<String> titleSet = new HashSet<>();
if(Objects.isNull(dto.getPartyLocations())){
return;
}
for(PartyLocationDto partyLocationDto : dto.getPartyLocations()){
if(StringUtils.isNotBlank(partyLocationDto.getLocationTitle())){
String trimmedTitle = partyLocationDto.getLocationTitle().trim();
if(!titleSet.add(trimmedTitle)) {
throw new DuplicateLocationException("DuplicateLocation Exception");
}
}
}
for(PartyLocationDto partyLocationDto : dto.getPartyLocations()){
if(StringUtils.isBlank(partyLocationDto.getLocationTitle())){
break;
}
Integer locationId = Integer.parseInt(partyLocationDto.getId());
Party party = (Party)entity;
PartyLocation location;
if(locationId<1){
location = new PartyLocationEntity(party,partyLocationDto.getLocationTitle());
party.addLocation(location,false);
if(partyLocationDto.isPrimaryLocation()){
entity.setPrimaryPartyLocation(location);
}
}else{
location = crmManager.findPartyLocation(locationId);
party.addLocation(location,false); //entity has not locations.
if(partyLocationDto.isPrimaryLocation()){
entity.setPrimaryPartyLocation(location);
}
}
populatePartyLocation(location, partyLocationDto);
}
}
PartyLocation的Post请求,可以更新已有的,但是不能添加一个新的partyLocation。
因此,这里需要再写一个partyLocation的post请求,这样,就可以实现新增一个新的PartyLocation了。---待完成。
PartyLocation的Post请求问题---debug的更多相关文章
- Eclipse设置断点无效、无法拦截请求进行Debug调试
场景: 在Eclipse中添加Debug断点,从后台页面中点击修改按钮提交数据,发现打断点的地方并没有拦截到请求,接下来对此情况的进行分析. 分析: * 如果页面是根据业务需求复制别的相似html页面 ...
- 记一次有关GET/POST请求的Debug经历
Bug描述: 电商网站, 产品列表页面,加入购物车按钮,当连续点击“加入购物车”按钮时,在MAC上的Safari上,只会有部分请求通过 Ajax 被发送出去,而在 Chrome/IE/Firefox ...
- Nginx 开启 debug 日志的办法
译序:一般来讲,Nginx 的错误日志级别是 error,作为 Nginx 用户来讲,你设置成 info 就足够用了. 但有时有些难以挖掘的 bug,需要看到更详细的 debug 级别 ...
- 发运模块中如何创建Debug 文件
版本11.5.9到12.x A. 针对发运事务处理或者快速发运产生Debug文件 注意:如果通过发运事务处理执行发放,请参考B部分,下面这部分销售订单发放是格外的设置和日志文件. 1. 每一 ...
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问 ...
- spring boot aop打印http请求回复日志包含请求体
一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- jmeter脚本开发-BeanShell Sampler与Debug Sampler
BeanShell支持java对象的调用,所以可直接通过BeanShell来调用java接口程序. BeanShell调用java接口例子 1.先编写两个简单的java类 创建java简单工程,并创建 ...
- 【AMAD】django-debug-toolbar -- 一个可配置的panel,展示当前request/response的debug信息
简介 个人评分 简介 django-debug-toolbar1是一个django开发工具,可以在你开发django页面的时候展示一些当前请求的debug信息:  个人评分 类型 评分 实用性 ⭐️ ...
- <转>Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
最近项目中需要使用HTTP与Socket,把自己这段时间学习的资料整理一下.有关Socket与HTTP的基础知识MOMO就不赘述拉,不懂得朋友自己谷歌吧.我们项目的需求是在登录的时候使用HTTP请求, ...
随机推荐
- linux 缺少libxxx.a 静态链接库
首先去官方网站下载gdb的源码包,我下载的7.4.1版本的源码包,解压开来,进入到源码包的根目录下.对于一个源码包,拿到手里首先要阅读的就是README,然后看一下INSTALL文件,这个文件里编译源 ...
- linux进程学习-创建新进程
init进程将系统启动后,init将成为此后所有进程的祖先,此后的进程都是直接或间接从init进程“复制”而来.完成该“复制”功能的函数有fork()和clone()等. 一个进程(父进程)调用for ...
- 转载:电商项目完成的BUG调查原因和解决方案
转载: http://blog.csdn.net/yuexianchang/article/details/73197874
- Java继承与接口
public class test { public static void main(String[] args) { // TODO Auto-generated method stub B b= ...
- 输入一个链表,输出该链表中倒数第k个结点
package suanfa; import suanfa.doubleLinkedList.Node; public class solution { public Node find(Node h ...
- Oracle job procedure 存储过程定时任务(转自hoojo)
Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...
- PLSQL Developer 攻略
.Net程序员学用Oracle系列(18):PLSQL Developer 攻略 1.功能说明及使用技巧 1.1.对象浏览器 1.2.SQL 窗口 1.3.测试窗口 1.4.命令窗口 1.5.图表 ...
- Java基础--读写文件
Java读写文件需要注意异常的处理,下面是一个例子 写文件 public class WriteFile { public static void write(String file, String ...
- JQ选择器大全
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个 ...
- Java-API-Package:org.springframework.stereotype
ylbtech-Java-API-Package:org.springframework.stereotype 1.返回顶部 1. @NonNullApi @NonNullFields Package ...