java getowner_Java TimelineDomain.getOwner方法代码示例

import org.apache.hadoop.yarn.api.records.timeline.TimelineDomain; //导入方法依赖的package包/类

@Override

public void put(TimelineDomain domain) throws IOException {

WriteBatch writeBatch = null;

try {

writeBatch = db.createWriteBatch();

if (domain.getId() == null || domain.getId().length() == 0) {

throw new IllegalArgumentException("Domain doesn't have an ID");

}

if (domain.getOwner() == null || domain.getOwner().length() == 0) {

throw new IllegalArgumentException("Domain doesn't have an owner.");

}

// Write description

byte[] domainEntryKey = createDomainEntryKey(

domain.getId(), DESCRIPTION_COLUMN);

byte[] ownerLookupEntryKey = createOwnerLookupKey(

domain.getOwner(), domain.getId(), DESCRIPTION_COLUMN);

if (domain.getDescription() != null) {

writeBatch.put(domainEntryKey, domain.getDescription().getBytes());

writeBatch.put(ownerLookupEntryKey, domain.getDescription().getBytes());

} else {

writeBatch.put(domainEntryKey, EMPTY_BYTES);

writeBatch.put(ownerLookupEntryKey, EMPTY_BYTES);

}

// Write owner

domainEntryKey = createDomainEntryKey(domain.getId(), OWNER_COLUMN);

ownerLookupEntryKey = createOwnerLookupKey(

domain.getOwner(), domain.getId(), OWNER_COLUMN);

// Null check for owner is done before

writeBatch.put(domainEntryKey, domain.getOwner().getBytes());

writeBatch.put(ownerLookupEntryKey, domain.getOwner().getBytes());

// Write readers

domainEntryKey = createDomainEntryKey(domain.getId(), READER_COLUMN);

ownerLookupEntryKey = createOwnerLookupKey(

domain.getOwner(), domain.getId(), READER_COLUMN);

if (domain.getReaders() != null && domain.getReaders().length() > 0) {

writeBatch.put(domainEntryKey, domain.getReaders().getBytes());

writeBatch.put(ownerLookupEntryKey, domain.getReaders().getBytes());

} else {

writeBatch.put(domainEntryKey, EMPTY_BYTES);

writeBatch.put(ownerLookupEntryKey, EMPTY_BYTES);

}

// Write writers

domainEntryKey = createDomainEntryKey(domain.getId(), WRITER_COLUMN);

ownerLookupEntryKey = createOwnerLookupKey(

domain.getOwner(), domain.getId(), WRITER_COLUMN);

if (domain.getWriters() != null && domain.getWriters().length() > 0) {

writeBatch.put(domainEntryKey, domain.getWriters().getBytes());

writeBatch.put(ownerLookupEntryKey, domain.getWriters().getBytes());

} else {

writeBatch.put(domainEntryKey, EMPTY_BYTES);

writeBatch.put(ownerLookupEntryKey, EMPTY_BYTES);

}

// Write creation time and modification time

// We put both timestamps together because they are always retrieved

// together, and store them in the same way as we did for the entity's

// start time and insert time.

domainEntryKey = createDomainEntryKey(domain.getId(), TIMESTAMP_COLUMN);

ownerLookupEntryKey = createOwnerLookupKey(

domain.getOwner(), domain.getId(), TIMESTAMP_COLUMN);

long currentTimestamp = System.currentTimeMillis();

byte[] timestamps = db.get(domainEntryKey);

if (timestamps == null) {

timestamps = new byte[16];

writeReverseOrderedLong(currentTimestamp, timestamps, 0);

writeReverseOrderedLong(currentTimestamp, timestamps, 8);

} else {

writeReverseOrderedLong(currentTimestamp, timestamps, 8);

}

writeBatch.put(domainEntryKey, timestamps);

writeBatch.put(ownerLookupEntryKey, timestamps);

db.write(writeBatch);

} finally {

IOUtils.cleanup(LOG, writeBatch);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值