Search in sources :

Example 1 with Notice

use of com.mysql.cj.protocol.x.Notice in project wandaxin-vehicle-manage by Jarrettluo.

the class WandaxinVehicleManageApplicationTests method TestHttpRequest.

@Test
public void TestHttpRequest() {
    String url = "http://118.31.113.49/api/vin/v2/index?key=d7ba9fa7634764f2fd5bb81e8183ce18&vin=LFV2A21K363553763";
    RestTemplate restTemplate = new RestTemplate();
    // 将指定的url返回的参数自动封装到自定义好的对应类对象中
    Notice notice = restTemplate.getForObject(url, Notice.class);
    System.out.println(notice);
}
Also used : Notice(com.mysql.cj.protocol.x.Notice) RestTemplate(org.springframework.web.client.RestTemplate) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with Notice

use of com.mysql.cj.protocol.x.Notice in project aws-mysql-jdbc by awslabs.

the class SqlResultBuilder method addProtocolEntity.

@Override
public boolean addProtocolEntity(ProtocolEntity entity) {
    if (entity instanceof Field) {
        this.fields.add((Field) entity);
        if (!this.isRowResult) {
            this.isRowResult = true;
        }
        this.prevEntity = entity;
        return false;
    } else if (entity instanceof Notice) {
        this.statementExecuteOkBuilder.addProtocolEntity(entity);
        return false;
    }
    if (this.isRowResult && this.metadata == null) {
        this.metadata = new DefaultColumnDefinition(this.fields.toArray(new Field[] {}));
    }
    if (entity instanceof Row) {
        this.rows.add(((Row) entity).setMetadata(this.metadata));
    } else if (entity instanceof FetchDoneMoreResults) {
        this.resultSets.add(new SqlSingleResult(this.metadata, this.defaultTimeZone, new BufferedRowList(this.rows), () -> this.statementExecuteOkBuilder.build(), this.pset));
        // clear variables to accept next result set
        this.fields = new ArrayList<>();
        this.metadata = null;
        this.rows = new ArrayList<>();
        this.statementExecuteOkBuilder = new StatementExecuteOkBuilder();
    } else if (entity instanceof FetchDoneEntity) {
        if (this.prevEntity instanceof FetchDoneMoreResults) {
        // no-op, possibly bug in xplugin sending FetchDone immediately following FetchDoneMoreResultsets
        } else {
            this.resultSets.add(new SqlSingleResult(this.metadata, this.defaultTimeZone, new BufferedRowList(this.rows), () -> this.statementExecuteOkBuilder.build(), this.pset));
        }
    } else if (entity instanceof StatementExecuteOk) {
        return true;
    }
    this.prevEntity = entity;
    return false;
}
Also used : BufferedRowList(com.mysql.cj.result.BufferedRowList) Field(com.mysql.cj.result.Field) Notice(com.mysql.cj.protocol.x.Notice) StatementExecuteOkBuilder(com.mysql.cj.protocol.x.StatementExecuteOkBuilder) DefaultColumnDefinition(com.mysql.cj.result.DefaultColumnDefinition) FetchDoneMoreResults(com.mysql.cj.protocol.x.FetchDoneMoreResults) ArrayList(java.util.ArrayList) Row(com.mysql.cj.result.Row) FetchDoneEntity(com.mysql.cj.protocol.x.FetchDoneEntity) StatementExecuteOk(com.mysql.cj.protocol.x.StatementExecuteOk)

Example 3 with Notice

use of com.mysql.cj.protocol.x.Notice in project aws-mysql-jdbc by awslabs.

the class StreamingSqlResultBuilder method addProtocolEntity.

@Override
public boolean addProtocolEntity(ProtocolEntity entity) {
    if (entity instanceof Notice) {
        this.statementExecuteOkBuilder.addProtocolEntity(entity);
    } else {
        this.lastEntity = entity;
    }
    AtomicBoolean readLastResult = new AtomicBoolean(false);
    Supplier<ProtocolEntity> okReader = () -> {
        if (readLastResult.get()) {
            throw new CJCommunicationsException("Invalid state attempting to read ok packet");
        }
        if (this.protocol.hasMoreResults()) {
            StatementExecuteOk res = this.statementExecuteOkBuilder.build();
            this.statementExecuteOkBuilder = new StatementExecuteOkBuilder();
            return res;
        }
        readLastResult.set(true);
        return this.protocol.readQueryResult(this.statementExecuteOkBuilder);
    };
    Supplier<SqlResult> resultStream = () -> {
        if (readLastResult.get()) {
            return null;
        } else if (this.lastEntity != null && this.lastEntity instanceof Field || this.protocol.isSqlResultPending()) {
            ColumnDefinition cd;
            if (this.lastEntity != null && this.lastEntity instanceof Field) {
                cd = this.protocol.readMetadata((Field) this.lastEntity, (n) -> {
                    this.statementExecuteOkBuilder.addProtocolEntity(n);
                });
                this.lastEntity = null;
            } else {
                cd = this.protocol.readMetadata(this.statementExecuteOkBuilder::addProtocolEntity);
            }
            return new SqlSingleResult(cd, this.protocol.getServerSession().getDefaultTimeZone(), new XProtocolRowInputStream(cd, this.protocol, (n) -> {
                this.statementExecuteOkBuilder.addProtocolEntity(n);
            }), okReader, this.pset);
        } else {
            readLastResult.set(true);
            SqlResultBuilder rb = new SqlResultBuilder(this.defaultTimeZone, this.pset);
            rb.addProtocolEntity(entity);
            return this.protocol.readQueryResult(rb);
        }
    };
    this.result = new SqlMultiResult(resultStream);
    return true;
}
Also used : PropertySet(com.mysql.cj.conf.PropertySet) CJCommunicationsException(com.mysql.cj.exceptions.CJCommunicationsException) ResultBuilder(com.mysql.cj.protocol.ResultBuilder) ColumnDefinition(com.mysql.cj.protocol.ColumnDefinition) ProtocolEntity(com.mysql.cj.protocol.ProtocolEntity) XProtocolRowInputStream(com.mysql.cj.protocol.x.XProtocolRowInputStream) TimeZone(java.util.TimeZone) Field(com.mysql.cj.result.Field) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Supplier(java.util.function.Supplier) MysqlxSession(com.mysql.cj.MysqlxSession) ArrayList(java.util.ArrayList) StatementExecuteOkBuilder(com.mysql.cj.protocol.x.StatementExecuteOkBuilder) List(java.util.List) Notice(com.mysql.cj.protocol.x.Notice) XProtocol(com.mysql.cj.protocol.x.XProtocol) StatementExecuteOk(com.mysql.cj.protocol.x.StatementExecuteOk) StatementExecuteOkBuilder(com.mysql.cj.protocol.x.StatementExecuteOkBuilder) CJCommunicationsException(com.mysql.cj.exceptions.CJCommunicationsException) StatementExecuteOk(com.mysql.cj.protocol.x.StatementExecuteOk) ColumnDefinition(com.mysql.cj.protocol.ColumnDefinition) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Field(com.mysql.cj.result.Field) XProtocolRowInputStream(com.mysql.cj.protocol.x.XProtocolRowInputStream) Notice(com.mysql.cj.protocol.x.Notice) ProtocolEntity(com.mysql.cj.protocol.ProtocolEntity)

Aggregations

Notice (com.mysql.cj.protocol.x.Notice)3 StatementExecuteOk (com.mysql.cj.protocol.x.StatementExecuteOk)2 StatementExecuteOkBuilder (com.mysql.cj.protocol.x.StatementExecuteOkBuilder)2 Field (com.mysql.cj.result.Field)2 ArrayList (java.util.ArrayList)2 MysqlxSession (com.mysql.cj.MysqlxSession)1 PropertySet (com.mysql.cj.conf.PropertySet)1 CJCommunicationsException (com.mysql.cj.exceptions.CJCommunicationsException)1 ColumnDefinition (com.mysql.cj.protocol.ColumnDefinition)1 ProtocolEntity (com.mysql.cj.protocol.ProtocolEntity)1 ResultBuilder (com.mysql.cj.protocol.ResultBuilder)1 FetchDoneEntity (com.mysql.cj.protocol.x.FetchDoneEntity)1 FetchDoneMoreResults (com.mysql.cj.protocol.x.FetchDoneMoreResults)1 XProtocol (com.mysql.cj.protocol.x.XProtocol)1 XProtocolRowInputStream (com.mysql.cj.protocol.x.XProtocolRowInputStream)1 BufferedRowList (com.mysql.cj.result.BufferedRowList)1 DefaultColumnDefinition (com.mysql.cj.result.DefaultColumnDefinition)1 Row (com.mysql.cj.result.Row)1 List (java.util.List)1 TimeZone (java.util.TimeZone)1