You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2015/09/11 14:09:31 UTC

svn commit: r1702438 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-common/src: main/java/org/apache/uima/ducc/common/SizeBytes.java test/java/org/apache/uima/ducc/common/test/SizeTest.java

Author: degenaro
Date: Fri Sep 11 12:09:30 2015
New Revision: 1702438

URL: http://svn.apache.org/r1702438
Log: (empty)

Added:
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java   (with props)
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java   (with props)

Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java?rev=1702438&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java Fri Sep 11 12:09:30 2015
@@ -0,0 +1,87 @@
+package org.apache.uima.ducc.common;
+
+import java.io.Serializable;
+
+public class SizeBytes implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+	public static long KB = 1024;
+	public static long MB = 1024*KB;
+	public static long GB = 1024*MB;
+	public static long TB = 1024*MB;
+	
+	public static enum Type { TBytes, GBytes, MBytes, KBytes, Bytes };
+	
+	public static Type getType(String value) {
+		Type retVal = Type.Bytes;
+		if(value != null) {
+			if(value.equalsIgnoreCase("TB")) {
+				retVal = Type.TBytes;
+			}
+			else if(value.equalsIgnoreCase("GB")) {
+				retVal = Type.GBytes;
+			}
+			else if(value.equalsIgnoreCase("MB")) {
+				retVal = Type.MBytes;
+			}
+			else if(value.equalsIgnoreCase("KB")) {
+				retVal = Type.KBytes;
+			}
+		}
+		return retVal;
+	}
+	private long value;
+	
+	public SizeBytes(Type type, long value) {
+		initialize(type, value);
+	}
+	
+	public SizeBytes(String units, long value) {
+		initialize(getType(units), value);
+	}
+	
+	private void initialize(Type type, long value) {
+		switch(type) {
+		case TBytes:
+			setValue(TB*value);
+			break;
+		case GBytes:
+			setValue(GB*value);
+			break;
+		case MBytes:
+			setValue(MB*value);
+			break;
+		case KBytes:
+			setValue(KB*value);
+			break;
+		case Bytes:
+			setValue(value);
+			break;
+		}
+	}
+	
+	public long getBytes() {
+		return value;
+	}
+	
+	public long getKBytes() {
+		return value/KB;
+	}
+	
+	public long getMBytes() {
+		return value/MB;
+	}
+	
+	public long getGBytes() {
+		return value/GB;
+	}
+	
+	public long getTBytes() {
+		return value/TB;
+	}
+	
+	private void setValue(long value) {
+		this.value = value;
+	}
+}

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/SizeBytes.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java?rev=1702438&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java Fri Sep 11 12:09:30 2015
@@ -0,0 +1,64 @@
+package org.apache.uima.ducc.common.test;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.apache.uima.ducc.common.SizeBytes;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class SizeTest {
+
+	@BeforeClass
+	public static void setUpBeforeClass() throws Exception {
+	}
+
+	@AfterClass
+	public static void tearDownAfterClass() throws Exception {
+	}
+
+	@Before
+	public void setUp() throws Exception {
+	}
+
+	@After
+	public void tearDown() throws Exception {
+	}
+
+	@Test
+	public void test() {
+		try {
+			SizeBytes size;
+			SizeBytes.Type type;
+			long value;
+			//
+			type = SizeBytes.Type.GBytes;
+			value = 15;
+			size = new SizeBytes(type,value);
+			assertTrue(size.getGBytes() == value);
+			//
+			type = SizeBytes.Type.MBytes;
+			value = 30;
+			size = new SizeBytes(type,value);
+			assertTrue(size.getMBytes() == value);
+			//
+			type = SizeBytes.Type.KBytes;
+			value = 45;
+			size = new SizeBytes(type,value);
+			assertTrue(size.getKBytes() == value);
+			//
+			type = SizeBytes.Type.Bytes;
+			value = 60;
+			size = new SizeBytes(type,value);
+			assertTrue(size.getBytes() == value);
+		}
+		catch(Exception e) {
+			e.printStackTrace();
+			fail("Exception");
+		}
+	}
+
+}

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/SizeTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain