/*
* Copyright (C) 2012-2015 DataStax Inc.
*
* 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 com.datastax.driver.mapping;
import com.datastax.driver.core.CCMTestsSupport;
import com.datastax.driver.core.LocalDate;
import com.datastax.driver.core.utils.Bytes;
import com.datastax.driver.core.utils.CassandraVersion;
import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import org.testng.annotations.Test;
import java.nio.ByteBuffer;
import static org.testng.Assert.assertEquals;
@CassandraVersion("2.2.0")
public class MapperPrimitiveTypes22Test extends CCMTestsSupport {
@Override
public void onTestContextInitialized() {
execute("CREATE TABLE primitiveTypes22 ("
+ "byteBufferCol blob primary key,"
+ "localDateCol date,"
+ "timeCol time, timeWrapperCol time,"
+ "byteCol tinyint, byteWrapperCol tinyint,"
+ "shortCol smallint, shortWrapperCol smallint)");
}
@Test(groups = "short")
public void testWriteRead22() throws Exception {
ByteBuffer byteBufferCol = Bytes.fromHexString("0xCAFEBABE");
LocalDate localDateCol = LocalDate.fromMillisSinceEpoch(System.currentTimeMillis());
long timeCol = 123456789L;
Long timeWrapperCol = 123456789L;
byte byteCol = 42;
Byte byteWrapperCol = 42;
short shortCol = 16384;
Short shortWrapperCol = 16384;
PrimitiveTypes22 primitiveTypes = new PrimitiveTypes22();
primitiveTypes.setByteBufferCol(byteBufferCol);
primitiveTypes.setLocalDateCol(localDateCol);
primitiveTypes.setTimeCol(timeCol);
primitiveTypes.setTimeWrapperCol(timeWrapperCol);
primitiveTypes.setByteCol(byteCol);
primitiveTypes.setByteWrapperCol(byteWrapperCol);
primitiveTypes.setShortCol(shortCol);
primitiveTypes.setShortWrapperCol(shortWrapperCol);
Mapper<PrimitiveTypes22> mapper = new MappingManager(session()).mapper(PrimitiveTypes22.class);
mapper.save(primitiveTypes);
PrimitiveTypes22 primitiveTypes2 = mapper.get(byteBufferCol);
assertEquals(primitiveTypes2.getByteBufferCol(), byteBufferCol);
assertEquals(primitiveTypes2.getLocalDateCol(), localDateCol);
assertEquals(primitiveTypes2.getTimeCol(), timeCol);
assertEquals(primitiveTypes2.getTimeWrapperCol(), timeWrapperCol);
assertEquals(primitiveTypes2.getByteCol(), byteCol);
assertEquals(primitiveTypes2.getByteWrapperCol(), byteWrapperCol);
assertEquals(primitiveTypes2.getShortCol(), shortCol);
assertEquals(primitiveTypes2.getShortWrapperCol(), shortWrapperCol);
}
@Table(name = "primitiveTypes22")
public static class PrimitiveTypes22 {
@PartitionKey
private ByteBuffer byteBufferCol;
private LocalDate localDateCol;
private long timeCol;
private Long timeWrapperCol;
private byte byteCol;
private Byte byteWrapperCol;
private short shortCol;
private Short shortWrapperCol;
public ByteBuffer getByteBufferCol() {
return byteBufferCol;
}
public void setByteBufferCol(ByteBuffer byteBufferCol) {
this.byteBufferCol = byteBufferCol;
}
public LocalDate getLocalDateCol() {
return localDateCol;
}
public void setLocalDateCol(LocalDate localDateCol) {
this.localDateCol = localDateCol;
}
public long getTimeCol() {
return timeCol;
}
public void setTimeCol(long timeCol) {
this.timeCol = timeCol;
}
public Long getTimeWrapperCol() {
return timeWrapperCol;
}
public void setTimeWrapperCol(Long timeWrapperCol) {
this.timeWrapperCol = timeWrapperCol;
}
public byte getByteCol() {
return byteCol;
}
public void setByteCol(byte byteCol) {
this.byteCol = byteCol;
}
public Byte getByteWrapperCol() {
return byteWrapperCol;
}
public void setByteWrapperCol(Byte byteWrapperCol) {
this.byteWrapperCol = byteWrapperCol;
}
public short getShortCol() {
return shortCol;
}
public void setShortCol(short shortCol) {
this.shortCol = shortCol;
}
public Short getShortWrapperCol() {
return shortWrapperCol;
}
public void setShortWrapperCol(Short shortWrapperCol) {
this.shortWrapperCol = shortWrapperCol;
}
}
}