public static Session rowToSession()

in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/util/TablestoreHelper.java [279:306]


    public static Session rowToSession(Row row) {
        if (row == null) {
            return null;
        }
        PrimaryKey primaryKey = row.getPrimaryKey();
        String userId = primaryKey.getPrimaryKeyColumn(0).getValue().asString();
        Reference<Long> updateTime = new Reference<>();
        String sessionId;
        if (primaryKey.size() == 2) {
            sessionId = primaryKey.getPrimaryKeyColumn(1).getValue().asString();
        } else {
            updateTime.set(primaryKey.getPrimaryKeyColumn(1).getValue().asLong());
            sessionId = primaryKey.getPrimaryKeyColumn(2).getValue().asString();
        }
        Column[] columns = row.getColumns();
        Metadata metadata = columnsToMetadata(columns, (column -> {
            String name = column.getName();
            ColumnValue value = column.getValue();
            if (Session.SESSION_UPDATE_TIME.equals(name)) {
                updateTime.set(value.asLong());
                return true;
            }
            return false;
        }));
        Session session = new Session(userId, sessionId, updateTime.get());
        session.setMetadata(metadata);
        return session;
    }