Search in sources :

Example 26 with Data

use of lombok.Data in project metacat by Netflix.

the class MysqlUserMetadataService method searchByOwners.

@Override
@Transactional(readOnly = true)
public List<QualifiedName> searchByOwners(final Set<String> owners) {
    final List<QualifiedName> result = Lists.newArrayList();
    final StringBuilder query = new StringBuilder(SQL.SEARCH_DEFINITION_METADATA_NAMES);
    final List<SqlParameterValue> paramList = Lists.newArrayList();
    query.append(" where 1=0");
    owners.forEach(s -> {
        query.append(" or data like ?");
        paramList.add(new SqlParameterValue(Types.VARCHAR, "%\"userId\":\"" + s.trim() + "\"%"));
    });
    final SqlParameterValue[] params = new SqlParameterValue[paramList.size()];
    try {
        // Handler for reading the result set
        final ResultSetExtractor<Void> handler = rs -> {
            while (rs.next()) {
                final String definitionName = rs.getString("name");
                result.add(QualifiedName.fromString(definitionName, false));
            }
            return null;
        };
        jdbcTemplate.query(query.toString(), paramList.toArray(params), handler);
    } catch (Exception e) {
        log.error("Failed to search by owners", e);
        throw new UserMetadataServiceException("Failed to search by owners", e);
    }
    return result;
}
Also used : Arrays(java.util.Arrays) Date(java.util.Date) HasDataMetadata(com.netflix.metacat.common.dto.HasDataMetadata) StringUtils(org.apache.commons.lang3.StringUtils) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) JdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) DefinitionMetadataDto(com.netflix.metacat.common.dto.DefinitionMetadataDto) Strings(com.google.common.base.Strings) Lists(com.google.common.collect.Lists) MetacatBadRequestException(com.netflix.metacat.common.exception.MetacatBadRequestException) Map(java.util.Map) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) JsonNode(com.fasterxml.jackson.databind.JsonNode) Config(com.netflix.metacat.common.server.properties.Config) BaseUserMetadataService(com.netflix.metacat.common.server.usermetadata.BaseUserMetadataService) Nonnull(javax.annotation.Nonnull) Nullable(javax.annotation.Nullable) InvalidMetadataException(com.netflix.metacat.common.server.connectors.exception.InvalidMetadataException) MetacatJson(com.netflix.metacat.common.json.MetacatJson) NonNull(lombok.NonNull) HasDefinitionMetadata(com.netflix.metacat.common.dto.HasDefinitionMetadata) Set(java.util.Set) QualifiedName(com.netflix.metacat.common.QualifiedName) Maps(com.google.common.collect.Maps) MetacatJsonException(com.netflix.metacat.common.json.MetacatJsonException) Collectors(java.util.stream.Collectors) SqlParameterValue(org.springframework.jdbc.core.SqlParameterValue) HasMetadata(com.netflix.metacat.common.dto.HasMetadata) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) Data(lombok.Data) GetMetadataInterceptorParameters(com.netflix.metacat.common.server.usermetadata.GetMetadataInterceptorParameters) MetadataInterceptor(com.netflix.metacat.common.server.usermetadata.MetadataInterceptor) Optional(java.util.Optional) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) ResultSetExtractor(org.springframework.jdbc.core.ResultSetExtractor) Joiner(com.google.common.base.Joiner) Transactional(org.springframework.transaction.annotation.Transactional) Types(java.sql.Types) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) SqlParameterValue(org.springframework.jdbc.core.SqlParameterValue) QualifiedName(com.netflix.metacat.common.QualifiedName) MetacatBadRequestException(com.netflix.metacat.common.exception.MetacatBadRequestException) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) InvalidMetadataException(com.netflix.metacat.common.server.connectors.exception.InvalidMetadataException) MetacatJsonException(com.netflix.metacat.common.json.MetacatJsonException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 27 with Data

use of lombok.Data in project metacat by Netflix.

the class MysqlUserMetadataService method _getMetadataMap.

/**
 * get Metadata Map.
 *
 * @param keys list of keys
 * @param sql  query string
 * @return map of the metadata
 */
@SuppressWarnings("checkstyle:methodname")
private Map<String, ObjectNode> _getMetadataMap(@Nullable final List<?> keys, final String sql) {
    final Map<String, ObjectNode> result = Maps.newHashMap();
    if (keys == null || keys.isEmpty()) {
        return result;
    }
    final List<String> paramVariables = keys.stream().map(s -> "?").collect(Collectors.toList());
    final SqlParameterValue[] aKeys = keys.stream().map(o -> new SqlParameterValue(Types.VARCHAR, o.toString())).toArray(SqlParameterValue[]::new);
    final String query = String.format(sql, Joiner.on("," + "").join(paramVariables));
    try {
        final ResultSetExtractor<Void> handler = resultSet -> {
            while (resultSet.next()) {
                final String json = resultSet.getString("data");
                final String name = resultSet.getString("name");
                if (json != null) {
                    try {
                        result.put(name, metacatJson.parseJsonObject(json));
                    } catch (MetacatJsonException e) {
                        log.error("Invalid json '{}' for name '{}'", json, name);
                        throw new UserMetadataServiceException(String.format("Invalid json %s for name %s", json, name), e);
                    }
                }
            }
            return null;
        };
        jdbcTemplate.query(query, aKeys, handler);
    } catch (Exception e) {
        final String message = String.format("Failed to get data for %s", keys);
        log.error(message, e);
        throw new UserMetadataServiceException(message, e);
    }
    return result;
}
Also used : Arrays(java.util.Arrays) Date(java.util.Date) HasDataMetadata(com.netflix.metacat.common.dto.HasDataMetadata) StringUtils(org.apache.commons.lang3.StringUtils) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) JdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) DefinitionMetadataDto(com.netflix.metacat.common.dto.DefinitionMetadataDto) Strings(com.google.common.base.Strings) Lists(com.google.common.collect.Lists) MetacatBadRequestException(com.netflix.metacat.common.exception.MetacatBadRequestException) Map(java.util.Map) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) JsonNode(com.fasterxml.jackson.databind.JsonNode) Config(com.netflix.metacat.common.server.properties.Config) BaseUserMetadataService(com.netflix.metacat.common.server.usermetadata.BaseUserMetadataService) Nonnull(javax.annotation.Nonnull) Nullable(javax.annotation.Nullable) InvalidMetadataException(com.netflix.metacat.common.server.connectors.exception.InvalidMetadataException) MetacatJson(com.netflix.metacat.common.json.MetacatJson) NonNull(lombok.NonNull) HasDefinitionMetadata(com.netflix.metacat.common.dto.HasDefinitionMetadata) Set(java.util.Set) QualifiedName(com.netflix.metacat.common.QualifiedName) Maps(com.google.common.collect.Maps) MetacatJsonException(com.netflix.metacat.common.json.MetacatJsonException) Collectors(java.util.stream.Collectors) SqlParameterValue(org.springframework.jdbc.core.SqlParameterValue) HasMetadata(com.netflix.metacat.common.dto.HasMetadata) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) Data(lombok.Data) GetMetadataInterceptorParameters(com.netflix.metacat.common.server.usermetadata.GetMetadataInterceptorParameters) MetadataInterceptor(com.netflix.metacat.common.server.usermetadata.MetadataInterceptor) Optional(java.util.Optional) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) ResultSetExtractor(org.springframework.jdbc.core.ResultSetExtractor) Joiner(com.google.common.base.Joiner) Transactional(org.springframework.transaction.annotation.Transactional) Types(java.sql.Types) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) SqlParameterValue(org.springframework.jdbc.core.SqlParameterValue) MetacatJsonException(com.netflix.metacat.common.json.MetacatJsonException) MetacatBadRequestException(com.netflix.metacat.common.exception.MetacatBadRequestException) UserMetadataServiceException(com.netflix.metacat.common.server.usermetadata.UserMetadataServiceException) InvalidMetadataException(com.netflix.metacat.common.server.connectors.exception.InvalidMetadataException) MetacatJsonException(com.netflix.metacat.common.json.MetacatJsonException)

Example 28 with Data

use of lombok.Data in project hutool by looly.

the class XmlUtilTest method xmlToBeanTest2.

@Test
public void xmlToBeanTest2() {
    @Data
    class SmsRes {

        private String code;
    }
    // issue#1663@Github
    String xmlStr = "<?xml version=\"1.0\" encoding=\"gbk\" ?><response><code>02</code></response>";
    Document doc = XmlUtil.parseXml(xmlStr);
    // 标准方式
    Map<String, Object> map = XmlUtil.xmlToMap(doc.getFirstChild());
    SmsRes res = new SmsRes();
    BeanUtil.fillBeanWithMap(map, res, true);
    // toBean方式
    SmsRes res1 = XmlUtil.xmlToBean(doc.getFirstChild(), SmsRes.class);
    Assert.assertEquals(res.toString(), res1.toString());
}
Also used : Data(lombok.Data) Document(org.w3c.dom.Document) Test(org.junit.Test)

Example 29 with Data

use of lombok.Data in project hutool by looly.

the class XmlUtilTest method xmlToBeanTest.

@Test
public void xmlToBeanTest() {
    @Data
    class TestBean {

        private String ReqCode;

        private String AccountName;

        private String Operator;

        private String ProjectCode;

        private String BankCode;
    }
    final TestBean testBean = new TestBean();
    testBean.setReqCode("1111");
    testBean.setAccountName("账户名称");
    testBean.setOperator("cz");
    testBean.setProjectCode("123");
    testBean.setBankCode("00001");
    final Document doc = XmlUtil.beanToXml(testBean);
    Assert.assertEquals(TestBean.class.getSimpleName(), doc.getDocumentElement().getTagName());
    final TestBean testBean2 = XmlUtil.xmlToBean(doc, TestBean.class);
    Assert.assertEquals(testBean.getReqCode(), testBean2.getReqCode());
    Assert.assertEquals(testBean.getAccountName(), testBean2.getAccountName());
    Assert.assertEquals(testBean.getOperator(), testBean2.getOperator());
    Assert.assertEquals(testBean.getProjectCode(), testBean2.getProjectCode());
    Assert.assertEquals(testBean.getBankCode(), testBean2.getBankCode());
}
Also used : Data(lombok.Data) Document(org.w3c.dom.Document) Test(org.junit.Test)

Example 30 with Data

use of lombok.Data in project hutool by looly.

the class XmlUtilTest method beanToXmlIgnoreNullTest.

@Test
public void beanToXmlIgnoreNullTest() {
    @Data
    class TestBean {

        private String ReqCode;

        private String AccountName;

        private String Operator;

        private String ProjectCode;

        private String BankCode;
    }
    final TestBean testBean = new TestBean();
    testBean.setReqCode("1111");
    testBean.setAccountName("账户名称");
    testBean.setOperator("cz");
    testBean.setProjectCode(null);
    testBean.setBankCode("00001");
    // 不忽略空字段情况下保留自闭标签
    Document doc = XmlUtil.beanToXml(testBean, null, false);
    Assert.assertNotNull(XmlUtil.getElement(doc.getDocumentElement(), "ProjectCode"));
    // 忽略空字段情况下无自闭标签
    doc = XmlUtil.beanToXml(testBean, null, true);
    Assert.assertNull(XmlUtil.getElement(doc.getDocumentElement(), "ProjectCode"));
}
Also used : Data(lombok.Data) Document(org.w3c.dom.Document) Test(org.junit.Test)

Aggregations

Data (lombok.Data)30 CompletableFuture (java.util.concurrent.CompletableFuture)17 lombok.val (lombok.val)17 Test (org.junit.Test)15 List (java.util.List)14 Collectors (java.util.stream.Collectors)13 IOException (java.io.IOException)10 Slf4j (lombok.extern.slf4j.Slf4j)10 ArrayList (java.util.ArrayList)9 Map (java.util.Map)9 Getter (lombok.Getter)9 Reactored (ru.fix.completable.reactor.api.Reactored)9 ReactorGraphBuilder (ru.fix.completable.reactor.runtime.ReactorGraphBuilder)9 Processor (ru.fix.completable.reactor.runtime.dsl.Processor)9 Futures (io.pravega.common.concurrent.Futures)8 TimeUnit (java.util.concurrent.TimeUnit)8 Assert.assertEquals (org.junit.Assert.assertEquals)8 Before (org.junit.Before)8 ReactorGraph (ru.fix.completable.reactor.runtime.ReactorGraph)8 Arrays (java.util.Arrays)7