mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix code
This commit is contained in:
parent
8f784a196a
commit
ea713a13d0
@ -63,7 +63,7 @@ public class CopyOptions implements Serializable {
|
|||||||
private BiPredicate<Field, Object> propertiesFilter;
|
private BiPredicate<Field, Object> propertiesFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字段属性名和属性值编辑器,,用于自定义属性转换规则(例如驼峰转下划线等),自定义属性值转换规则(例如null转""等)
|
* 字段属性名和属性值编辑器,用于自定义属性转换规则(例如驼峰转下划线等),自定义属性值转换规则(例如null转""等)
|
||||||
*/
|
*/
|
||||||
protected UnaryOperator<MutableEntry<String, Object>> fieldEditor;
|
protected UnaryOperator<MutableEntry<String, Object>> fieldEditor;
|
||||||
|
|
||||||
@ -338,6 +338,7 @@ public class CopyOptions implements Serializable {
|
|||||||
* @param value 值
|
* @param value 值
|
||||||
* @return 是否保留
|
* @return 是否保留
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||||
protected boolean testPropertyFilter(final Field field, final Object value) {
|
protected boolean testPropertyFilter(final Field field, final Object value) {
|
||||||
return null == this.propertiesFilter || this.propertiesFilter.test(field, value);
|
return null == this.propertiesFilter || this.propertiesFilter.test(field, value);
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import org.dromara.hutool.core.lang.Assert;
|
|||||||
import org.dromara.hutool.core.map.MapProxy;
|
import org.dromara.hutool.core.map.MapProxy;
|
||||||
import org.dromara.hutool.core.reflect.ConstructorUtil;
|
import org.dromara.hutool.core.reflect.ConstructorUtil;
|
||||||
import org.dromara.hutool.core.reflect.TypeUtil;
|
import org.dromara.hutool.core.reflect.TypeUtil;
|
||||||
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
@ -97,6 +98,9 @@ public class BeanConverter implements Converter, Serializable {
|
|||||||
} else if (value instanceof byte[]) {
|
} else if (value instanceof byte[]) {
|
||||||
// 尝试反序列化
|
// 尝试反序列化
|
||||||
return SerializeUtil.deserialize((byte[]) value);
|
return SerializeUtil.deserialize((byte[]) value);
|
||||||
|
} else if(StrUtil.isEmptyIfStr(value)){
|
||||||
|
// issue#3136
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new ConvertException("Unsupported source type: [{}] to [{}]", value.getClass(), targetType);
|
throw new ConvertException("Unsupported source type: [{}] to [{}]", value.getClass(), targetType);
|
||||||
|
@ -20,6 +20,7 @@ import org.dromara.hutool.core.io.file.FileUtil;
|
|||||||
import org.dromara.hutool.core.io.IORuntimeException;
|
import org.dromara.hutool.core.io.IORuntimeException;
|
||||||
import org.dromara.hutool.core.io.IoUtil;
|
import org.dromara.hutool.core.io.IoUtil;
|
||||||
import org.dromara.hutool.core.lang.Assert;
|
import org.dromara.hutool.core.lang.Assert;
|
||||||
|
import org.dromara.hutool.core.lang.Console;
|
||||||
import org.dromara.hutool.core.map.BiMap;
|
import org.dromara.hutool.core.map.BiMap;
|
||||||
import org.dromara.hutool.core.map.MapUtil;
|
import org.dromara.hutool.core.map.MapUtil;
|
||||||
import org.dromara.hutool.core.text.StrUtil;
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
@ -988,7 +989,8 @@ public class XmlUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XML转Java Bean
|
* XML转Java Bean<br>
|
||||||
|
* 如果XML根节点只有一个,且节点名和Bean的名称一致,则直接转换子节点
|
||||||
*
|
*
|
||||||
* @param <T> bean类型
|
* @param <T> bean类型
|
||||||
* @param node XML节点
|
* @param node XML节点
|
||||||
|
70
hutool-core/src/test/java/org/dromara/hutool/core/util/Issue3136Test.java
Executable file
70
hutool-core/src/test/java/org/dromara/hutool/core/util/Issue3136Test.java
Executable file
@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2023 looly(loolly@aliyun.com)
|
||||||
|
* Hutool is licensed under Mulan PSL v2.
|
||||||
|
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||||
|
* You may obtain a copy of Mulan PSL v2 at:
|
||||||
|
* http://license.coscl.org.cn/MulanPSL2
|
||||||
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||||
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||||
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the Mulan PSL v2 for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.dromara.hutool.core.util;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://github.com/dromara/hutool/issues/3136
|
||||||
|
*/
|
||||||
|
public class Issue3136Test {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void xmlToBeanTest() {
|
||||||
|
final String xmlStr = "<?xml version=\"1.0\" encoding=\"gbk\" ?><response><code>02</code><message></message></response>";
|
||||||
|
final SmsRes smsRes = XmlUtil.xmlToBean(XmlUtil.parseXml(xmlStr).getDocumentElement(), SmsRes.class);
|
||||||
|
|
||||||
|
Assertions.assertEquals("02", smsRes.getCode());
|
||||||
|
Assertions.assertNull(smsRes.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
static class SmsRes {
|
||||||
|
/**
|
||||||
|
* 状态码.
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息.
|
||||||
|
*/
|
||||||
|
private Message message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
static class Message {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息项.
|
||||||
|
*/
|
||||||
|
private List<MessageItem> item = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
static class MessageItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手机号.
|
||||||
|
*/
|
||||||
|
private String desmobile;
|
||||||
|
/**
|
||||||
|
* 消息id.
|
||||||
|
*/
|
||||||
|
private String msgid;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2023 looly(loolly@aliyun.com)
|
||||||
|
* Hutool is licensed under Mulan PSL v2.
|
||||||
|
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||||
|
* You may obtain a copy of Mulan PSL v2 at:
|
||||||
|
* http://license.coscl.org.cn/MulanPSL2
|
||||||
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||||
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||||
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the Mulan PSL v2 for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.dromara.hutool.extra.qrcode;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class Issue3146Test {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Disabled
|
||||||
|
void generateTest() {
|
||||||
|
QrCodeUtil.generate("https://www.baidu.com/h5/monitorfile/index.html?sadfsfasdfsafsafasfasfsafasfasdfsafdsafsfasfafsfaasfsdfsfsafasfa",
|
||||||
|
QrConfig.of().setWidth(600).setHeight(600).setMargin(0), new File("d:/test/issue3146.jpg"));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user