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请求, ...
随机推荐
- Git 版本管理工具(一)
转自:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介 ...
- tests
test
- BZOJ5302: [Haoi2018]奇怪的背包
BZOJ5302: [Haoi2018]奇怪的背包 https://lydsy.com/JudgeOnline/problem.php?id=5302 分析: 方程\(\sum\limits_{i=1 ...
- 下载安装tomcat至服务器
1.安装JDK之后,下载Tomcat:http://tomcat.apache.org/download-70.cgi选择下载32-bit/64-bit Windows Service Install ...
- ugui在运行时改变RectTransform的大小
http://blog.csdn.net/BeiFuDeNvWang/article/details/50838266 在代码中动态改变RectTransform大小的方法如下所示: 1:直接对siz ...
- Logstash详解之——input模块
原文地址 Logstash由三个组件构造成,分别是input.filter以及output.我们可以吧Logstash三个组件的工作流理解为:input收集数据,filter处理数据,output输出 ...
- bae3.0第四步 第一个polls系统
1.创建自己的app 进入新建的blog工程目录,执行其下面的manage.py来创建polls应用,命令为: python manage.py startapp polls2.定义app的model ...
- iOS系统架构和Object-C基本数据类型(1)
iOS系统架构 基本数据类型 思维导图 下载 注:打开思维导图的软件:Mindjet MindManager 9
- Rails上传文件
1.view <%= form_tag({:method =>"post",:controller =>"welcome",:action=& ...
- Python多进程-进程间数据的共享
不同的进程不能同时修改一份数据,但是不同的进程能对一份数据进行修改 可通过Manager来实现进程间的数据共享 # -*- coding:utf-8 -*- __author__ = "Mu ...