/* * Copyright 1999-2019 Seata.io Group. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.seata.server.console.vo; import io.seata.common.util.CollectionUtils; import io.seata.core.constants.ServerTableColumnsName; import io.seata.core.lock.RowLock; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * GlobalLockVO * @author zhongxiang.wang * @author miaoxueyu */ public class GlobalLockVO { private String xid; private String transactionId; private String branchId; private String resourceId; private String tableName; private String pk; private String rowKey; private Long gmtCreate; private Long gmtModified; /** * convert RowLock list to GlobalLockVO list * @param rowLocks the RowLock list * @return the GlobalLockVO list */ public static List convert(List rowLocks) { if (CollectionUtils.isEmpty(rowLocks)) { return Collections.emptyList(); } final List result = new ArrayList<>(rowLocks.size()); for (RowLock rowLock : rowLocks) { result.add(convert(rowLock)); } return result; } /** * convert RowLock to GlobalLockVO * @param rowLock the RowLock * @return the GlobalLockVO */ public static GlobalLockVO convert(RowLock rowLock) { final GlobalLockVO globalLockVO = new GlobalLockVO(); globalLockVO.setXid(rowLock.getXid()); globalLockVO.setTransactionId(rowLock.getTransactionId()); globalLockVO.setBranchId(rowLock.getBranchId()); globalLockVO.setResourceId(rowLock.getResourceId()); globalLockVO.setTableName(rowLock.getTableName()); globalLockVO.setPk(rowLock.getPk()); globalLockVO.setRowKey(rowLock.getRowKey()); return globalLockVO; } public String getXid() { return xid; } public void setXid(String xid) { this.xid = xid; } public String getTransactionId() { return transactionId; } public void setTransactionId(Long transactionId) { this.transactionId = String.valueOf(transactionId); } public String getBranchId() { return branchId; } public void setBranchId(Long branchId) { this.branchId = String.valueOf(branchId); } public String getResourceId() { return resourceId; } public void setResourceId(String resourceId) { this.resourceId = resourceId; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public String getPk() { return pk; } public void setPk(String pk) { this.pk = pk; } public String getRowKey() { return rowKey; } public void setRowKey(String rowKey) { this.rowKey = rowKey; } public Long getGmtCreate() { return gmtCreate; } public void setGmtCreate(Long gmtCreate) { this.gmtCreate = gmtCreate; } public Long getGmtModified() { return gmtModified; } public void setGmtModified(Long gmtModified) { this.gmtModified = gmtModified; } public static GlobalLockVO convert(ResultSet rs) throws SQLException { GlobalLockVO globalLockVO = new GlobalLockVO(); globalLockVO.setRowKey(rs.getString(ServerTableColumnsName.LOCK_TABLE_ROW_KEY)); globalLockVO.setXid(rs.getString(ServerTableColumnsName.LOCK_TABLE_XID)); globalLockVO.setTransactionId(rs.getLong(ServerTableColumnsName.LOCK_TABLE_TRANSACTION_ID)); globalLockVO.setBranchId(rs.getLong(ServerTableColumnsName.LOCK_TABLE_BRANCH_ID)); globalLockVO.setResourceId(rs.getString(ServerTableColumnsName.LOCK_TABLE_RESOURCE_ID)); globalLockVO.setTableName(rs.getString(ServerTableColumnsName.LOCK_TABLE_TABLE_NAME)); globalLockVO.setPk(rs.getString(ServerTableColumnsName.LOCK_TABLE_PK)); Timestamp gmtCreateTimestamp = rs.getTimestamp(ServerTableColumnsName.LOCK_TABLE_GMT_CREATE); if (gmtCreateTimestamp != null) { globalLockVO.setGmtCreate(gmtCreateTimestamp.getTime()); } Timestamp gmtModifiedTimestamp = rs.getTimestamp(ServerTableColumnsName.LOCK_TABLE_GMT_MODIFIED); if (gmtModifiedTimestamp != null) { globalLockVO.setGmtModified(gmtModifiedTimestamp.getTime()); } return globalLockVO; } @Override public String toString() { return "GlobalLockVO{" + "xid='" + xid + '\'' + ", transactionId=" + transactionId + ", branchId=" + branchId + ", resourceId='" + resourceId + '\'' + ", tableName='" + tableName + '\'' + ", pk='" + pk + '\'' + ", rowKey='" + rowKey + '\'' + ", gmtCreate=" + gmtCreate + ", gmtModified=" + gmtModified + '}'; } }