You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2016/04/12 20:51:18 UTC
incubator-mnemonic git commit: MNEMONIC-11,
MNEMONIC-18: enforce checksytle
Repository: incubator-mnemonic
Updated Branches:
refs/heads/master eb86c593f -> 254238fb9
MNEMONIC-11, MNEMONIC-18: enforce checksytle
Project: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/commit/254238fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/tree/254238fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/diff/254238fb
Branch: refs/heads/master
Commit: 254238fb9239dcbb4cf501008ff2fe1494bfe0c4
Parents: eb86c59
Author: Wang, Gang(Gary) <ga...@intel.com>
Authored: Tue Apr 12 11:42:24 2016 -0700
Committer: Wang, Gang(Gary) <ga...@intel.com>
Committed: Tue Apr 12 11:48:29 2016 -0700
----------------------------------------------------------------------
.../internal/VMemServiceImpl.java | 3 +-
.../internal/PMallocServiceImpl.java | 3 +-
build-tools/mnemonic-checkstyle.xml | 159 +++++++++++++++++++
build-tools/suppressions.xml | 28 ++++
.../collections/NonVolatileNodeValue.java | 16 +-
.../collections/NonVolatileNodeValueNGTest.java | 30 ++--
.../collections/NonVolatilePersonNGTest.java | 17 +-
.../org/apache/mnemonic/collections/Person.java | 32 ++--
.../java/org/apache/mnemonic/Allocatable.java | 16 +-
.../java/org/apache/mnemonic/Allocator.java | 8 +-
.../AnnotatedNonVolatileEntityClass.java | 153 ++++++++----------
.../apache/mnemonic/BigDataMemAllocator.java | 4 +-
.../apache/mnemonic/BigDataPMemAllocator.java | 4 +-
.../apache/mnemonic/CommonPersistAllocator.java | 12 +-
.../java/org/apache/mnemonic/DropEvent.java | 2 +-
.../main/java/org/apache/mnemonic/Durable.java | 18 +--
.../org/apache/mnemonic/EntityFactoryProxy.java | 2 +-
.../java/org/apache/mnemonic/EvictFilter.java | 2 +-
.../mnemonic/MemBufferHolderCachePool.java | 6 +-
.../java/org/apache/mnemonic/MemClustering.java | 14 +-
.../java/org/apache/mnemonic/MemHolder.java | 8 +-
.../mnemonic/MemoryNonVolatileEntity.java | 6 +-
.../org/apache/mnemonic/NonVolatileEntity.java | 7 +-
.../mnemonic/NonVolatileEntityProcessor.java | 13 +-
.../apache/mnemonic/PMAddressTranslator.java | 8 +-
.../main/java/org/apache/mnemonic/Reclaim.java | 2 +-
.../org/apache/mnemonic/SysMemAllocator.java | 5 +-
.../main/java/org/apache/mnemonic/Utils.java | 21 ++-
.../NonVolatileMemoryAllocatorService.java | 15 +-
.../VolatileMemoryAllocatorService.java | 21 ++-
.../mnemonic/BigDataMemAllocatorNGTest.java | 5 -
.../mnemonic/BigDataPMemAllocatorNGTest.java | 2 -
.../mnemonic/ByteBufferSerializerNGTest.java | 7 +-
.../MemBufferHolderCachePoolNGTest.java | 15 +-
.../apache/mnemonic/MemClusteringNGTest.java | 10 +-
.../mnemonic/NonVolatilePersonNGTest.java | 12 +-
.../test/java/org/apache/mnemonic/Person.java | 24 +--
.../java/org/apache/mnemonic/example/Main.java | 11 +-
pom.xml | 82 +++++++++-
39 files changed, 525 insertions(+), 278 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/allocator-services/nvml-vmem-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/VMemServiceImpl.java
----------------------------------------------------------------------
diff --git a/allocator-services/nvml-vmem-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/VMemServiceImpl.java b/allocator-services/nvml-vmem-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/VMemServiceImpl.java
index 0bad38f..d7084c0 100644
--- a/allocator-services/nvml-vmem-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/VMemServiceImpl.java
+++ b/allocator-services/nvml-vmem-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/VMemServiceImpl.java
@@ -18,7 +18,8 @@
package org.apache.mnemonic.service.allocatorservice.internal;
import org.apache.mnemonic.service.allocatorservice.VolatileMemoryAllocatorService;
-import org.flowcomputing.commons.primitives.*;
+import org.flowcomputing.commons.primitives.NativeLibraryLoader;
+
import java.nio.ByteBuffer;
public class VMemServiceImpl implements VolatileMemoryAllocatorService {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/allocator-services/pmalloc-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/PMallocServiceImpl.java
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/PMallocServiceImpl.java b/allocator-services/pmalloc-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/PMallocServiceImpl.java
index 0a93f15..adfa40b 100644
--- a/allocator-services/pmalloc-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/PMallocServiceImpl.java
+++ b/allocator-services/pmalloc-service/src/main/java/org/apache/mnemonic/service/allocatorservice/internal/PMallocServiceImpl.java
@@ -18,7 +18,8 @@
package org.apache.mnemonic.service.allocatorservice.internal;
import org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService;
-import org.flowcomputing.commons.primitives.*;
+import org.flowcomputing.commons.primitives.NativeLibraryLoader;
+
import java.nio.ByteBuffer;
public class PMallocServiceImpl implements NonVolatileMemoryAllocatorService {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/build-tools/mnemonic-checkstyle.xml
----------------------------------------------------------------------
diff --git a/build-tools/mnemonic-checkstyle.xml b/build-tools/mnemonic-checkstyle.xml
new file mode 100644
index 0000000..9c84c59
--- /dev/null
+++ b/build-tools/mnemonic-checkstyle.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<module name="Checker">
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+ <module name="FileLength"/>
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+ <module name="FileTabCharacter">
+ <property name="eachLine" value="true"/>
+ </module>
+
+ <module name="RegexpSingleline">
+ <!-- \s matches whitespace character, $ matches end of line. -->
+ <property name="format" value="^[^\s][^\*].*\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+
+ <module name="TreeWalker">
+
+ <!-- required for SuppressWarningsFilter (and other Suppress* rules not used here) -->
+ <!-- see http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarningsHolder -->
+ <module name="SuppressWarningsHolder"/>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName">
+ <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+ </module>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName">
+ <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
+ </module>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <!-- <module name="IllegalImport"/> --> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="LineLength">
+ <property name="max" value="120"/>
+ <property name="ignorePattern" value="^ *\* *"/>
+ </module>
+ <module name="MethodLength">
+ <property name="max" value="200"/>
+ </module>
+ <module name="ParameterNumber">
+ <property name="max" value="8"/>
+ </module>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad"/>
+ <module name="MethodParamPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TypecastParenPad"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock"/>
+ <module name="LeftCurly"/>
+ <module name="NeedBraces"/>
+ <module name="RightCurly"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <!-- module name="AvoidInlineConditionals"/ -->
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="IllegalInstantiation"/>
+
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <module name="FinalClass"/>
+ <module name="InterfaceIsType"/>
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <!-- <module name="ArrayTypeStyle"/> -->
+ <module name="UpperEll"/>
+
+ <module name="FileContentsHolder"/>
+
+ </module>
+
+ <!-- Support @SuppressWarnings (added in Checkstyle 5.7) -->
+ <!-- see http://checkstyle.sourceforge.net/config.html#SuppressWarningsFilter -->
+ <module name="SuppressWarningsFilter"/>
+
+ <!-- Checks properties file for a duplicated properties. -->
+ <!-- See http://checkstyle.sourceforge.net/config_misc.html#UniqueProperties -->
+ <module name="UniqueProperties"/>
+
+ <module name="SuppressionCommentFilter"/>
+
+ <module name="SuppressionFilter">
+ <property name="file" value="build-tools/suppressions.xml"/>
+ </module>
+</module>
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/build-tools/suppressions.xml
----------------------------------------------------------------------
diff --git a/build-tools/suppressions.xml b/build-tools/suppressions.xml
new file mode 100644
index 0000000..2292905
--- /dev/null
+++ b/build-tools/suppressions.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+ "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+
+<suppressions>
+ <suppress files="[\\/]generated-sources[\\/]" checks="[a-zA-Z0-9]*"/>
+</suppressions>
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/collections/src/main/java/org/apache/mnemonic/collections/NonVolatileNodeValue.java
----------------------------------------------------------------------
diff --git a/collections/src/main/java/org/apache/mnemonic/collections/NonVolatileNodeValue.java b/collections/src/main/java/org/apache/mnemonic/collections/NonVolatileNodeValue.java
index 98375e9..c4d3664 100644
--- a/collections/src/main/java/org/apache/mnemonic/collections/NonVolatileNodeValue.java
+++ b/collections/src/main/java/org/apache/mnemonic/collections/NonVolatileNodeValue.java
@@ -17,11 +17,15 @@
package org.apache.mnemonic.collections;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.apache.mnemonic.*;
+import org.apache.mnemonic.Durable;
+import org.apache.mnemonic.EntityFactoryProxy;
+import org.apache.mnemonic.GenericField;
+import org.apache.mnemonic.NonVolatileEntity;
+import org.apache.mnemonic.NonVolatileGetter;
+import org.apache.mnemonic.NonVolatileSetter;
/**
* this class defines a non-volatile node for a generic value to form a
@@ -74,7 +78,7 @@ public abstract class NonVolatileNodeValue<E> implements Durable, Iterable<E> {
* @return the item value of this node
*/
@NonVolatileGetter(Id = 1L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
- abstract public E getItem();
+ public abstract E getItem();
/**
* set a value to this node item
@@ -87,7 +91,7 @@ public abstract class NonVolatileNodeValue<E> implements Durable, Iterable<E> {
*
*/
@NonVolatileSetter
- abstract public void setItem(E value, boolean destroy);
+ public abstract void setItem(E value, boolean destroy);
/**
* get next node
@@ -96,7 +100,7 @@ public abstract class NonVolatileNodeValue<E> implements Durable, Iterable<E> {
*
*/
@NonVolatileGetter(Id = 2L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
- abstract public NonVolatileNodeValue<E> getNext();
+ public abstract NonVolatileNodeValue<E> getNext();
/**
* set next node
@@ -108,7 +112,7 @@ public abstract class NonVolatileNodeValue<E> implements Durable, Iterable<E> {
* true if want to destroy the exist node
*/
@NonVolatileSetter
- abstract public void setNext(NonVolatileNodeValue<E> next, boolean destroy);
+ public abstract void setNext(NonVolatileNodeValue<E> next, boolean destroy);
/**
* get an iterator instance of this list
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/collections/src/test/java/org/apache/mnemonic/collections/NonVolatileNodeValueNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/NonVolatileNodeValueNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/NonVolatileNodeValueNGTest.java
index 2cda052..ae122f7 100644
--- a/collections/src/test/java/org/apache/mnemonic/collections/NonVolatileNodeValueNGTest.java
+++ b/collections/src/test/java/org/apache/mnemonic/collections/NonVolatileNodeValueNGTest.java
@@ -42,7 +42,7 @@ import org.testng.annotations.Test;
*/
public class NonVolatileNodeValueNGTest {
- private long KEYCAPACITY;
+ private long cKEYCAPACITY;
private Random m_rand;
private BigDataPMemAllocator m_act;
@@ -51,7 +51,7 @@ public class NonVolatileNodeValueNGTest {
m_rand = Utils.createRandom();
m_act = new BigDataPMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"), 1024 * 1024 * 1024,
"./pobj_NodeValue.dat", true);
- KEYCAPACITY = m_act.handlerCapacity();
+ cKEYCAPACITY = m_act.handlerCapacity();
m_act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
@Override
public boolean reclaim(ByteBuffer mres, Long sz) {
@@ -69,7 +69,7 @@ public class NonVolatileNodeValueNGTest {
}
});
- for (long i = 0; i < KEYCAPACITY; ++i) {
+ for (long i = 0; i < cKEYCAPACITY; ++i) {
m_act.setHandler(i, 0L);
}
}
@@ -82,7 +82,7 @@ public class NonVolatileNodeValueNGTest {
@Test(enabled = false)
public void testSingleNodeValueWithInteger() {
int val = m_rand.nextInt();
- GenericField.GType gtypes[] = { GenericField.GType.INTEGER };
+ GenericField.GType gtypes[] = {GenericField.GType.INTEGER};
NonVolatileNodeValue<Integer> plln = NonVolatileNodeValueFactory.create(m_act, null, gtypes, false);
plln.setItem(val, false);
Long handler = plln.getNonVolatileHandler();
@@ -94,7 +94,7 @@ public class NonVolatileNodeValueNGTest {
@Test(enabled = false)
public void testNodeValueWithString() {
String val = Utils.genRandomString();
- GenericField.GType gtypes[] = { GenericField.GType.STRING };
+ GenericField.GType gtypes[] = {GenericField.GType.STRING};
NonVolatileNodeValue<String> plln = NonVolatileNodeValueFactory.create(m_act, null, gtypes, false);
plln.setItem(val, false);
Long handler = plln.getNonVolatileHandler();
@@ -109,8 +109,8 @@ public class NonVolatileNodeValueNGTest {
Person<Long> person = PersonFactory.create(m_act);
person.setAge((short) 31);
- GenericField.GType gtypes[] = { GenericField.GType.DURABLE };
- EntityFactoryProxy efproxies[] = { new EntityFactoryProxy() {
+ GenericField.GType gtypes[] = {GenericField.GType.DURABLE};
+ EntityFactoryProxy efproxies[] = {new EntityFactoryProxy() {
@Override
public <A extends CommonPersistAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
@@ -134,8 +134,8 @@ public class NonVolatileNodeValueNGTest {
int elem_count = 10;
List<Long> referlist = new ArrayList();
- GenericField.GType listgftypes[] = { GenericField.GType.DURABLE };
- EntityFactoryProxy listefproxies[] = { new EntityFactoryProxy() {
+ GenericField.GType listgftypes[] = {GenericField.GType.DURABLE};
+ EntityFactoryProxy listefproxies[] = {new EntityFactoryProxy() {
@Override
public <A extends CommonPersistAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
@@ -166,8 +166,9 @@ public class NonVolatileNodeValueNGTest {
while (null != iternv) {
System.out.printf(" Stage 1 --->\n");
eval = iternv.getItem();
- if (null != eval)
+ if (null != eval) {
eval.testOutput();
+ }
iternv = iternv.getNext();
}
@@ -178,8 +179,9 @@ public class NonVolatileNodeValueNGTest {
for (Person<Long> eval2 : firstnv2) {
System.out.printf(" Stage 2 ---> \n");
- if (null != eval2)
+ if (null != eval2) {
eval2.testOutput();
+ }
}
// Assert.assert, expected);(plist, plist2);
@@ -192,11 +194,11 @@ public class NonVolatileNodeValueNGTest {
int elem_count = 10;
long slotKeyId = 10;
- GenericField.GType[] elem_gftypes = { GenericField.GType.DOUBLE };
+ GenericField.GType[] elem_gftypes = {GenericField.GType.DOUBLE};
EntityFactoryProxy[] elem_efproxies = null;
- GenericField.GType linkedgftypes[] = { GenericField.GType.DURABLE, GenericField.GType.DOUBLE };
- EntityFactoryProxy linkedefproxies[] = { new EntityFactoryProxy() {
+ GenericField.GType linkedgftypes[] = {GenericField.GType.DURABLE, GenericField.GType.DOUBLE};
+ EntityFactoryProxy linkedefproxies[] = {new EntityFactoryProxy() {
@Override
public <A extends CommonPersistAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/collections/src/test/java/org/apache/mnemonic/collections/NonVolatilePersonNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/NonVolatilePersonNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/NonVolatilePersonNGTest.java
index d5efb7e..42cfc16 100644
--- a/collections/src/test/java/org/apache/mnemonic/collections/NonVolatilePersonNGTest.java
+++ b/collections/src/test/java/org/apache/mnemonic/collections/NonVolatilePersonNGTest.java
@@ -17,10 +17,13 @@
package org.apache.mnemonic.collections;
-import org.apache.mnemonic.*;
+import org.apache.mnemonic.BigDataPMemAllocator;
+import org.apache.mnemonic.OutOfPersistentMemory;
+import org.apache.mnemonic.Reclaim;
+import org.apache.mnemonic.RetrieveNonVolatileEntityError;
+import org.apache.mnemonic.Utils;
import org.testng.annotations.Test;
import java.nio.ByteBuffer;
-import java.util.List;
import java.util.Random;
import java.util.UUID;
@@ -30,14 +33,14 @@ import java.util.UUID;
*/
public class NonVolatilePersonNGTest {
- private long KEYCAPACITY;
+ private long cKEYCAPACITY;
@Test(expectedExceptions = { OutOfPersistentMemory.class })
public void testGenPeople() throws OutOfPersistentMemory, RetrieveNonVolatileEntityError {
Random rand = Utils.createRandom();
BigDataPMemAllocator act = new BigDataPMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
1024 * 1024 * 8, "./pobj_person.dat", true);
- KEYCAPACITY = act.handlerCapacity();
+ cKEYCAPACITY = act.handlerCapacity();
act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
@Override
public boolean reclaim(ByteBuffer mres, Long sz) {
@@ -55,7 +58,7 @@ public class NonVolatilePersonNGTest {
}
});
- for (long i = 0; i < KEYCAPACITY; ++i) {
+ for (long i = 0; i < cKEYCAPACITY; ++i) {
act.setHandler(i, 0L);
}
@@ -69,7 +72,7 @@ public class NonVolatilePersonNGTest {
while (true) {
// if (keyidx >= KEYCAPACITY) break;
- keyidx %= KEYCAPACITY;
+ keyidx %= cKEYCAPACITY;
System.out.printf("************ Generating People on Key %d ***********\n", keyidx);
@@ -127,7 +130,7 @@ public class NonVolatilePersonNGTest {
});
long val;
- for (long i = 0; i < KEYCAPACITY; ++i) {
+ for (long i = 0; i < cKEYCAPACITY; ++i) {
System.out.printf("----------Key %d--------------\n", i);
val = act.getHandler(i);
if (0L == val) {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/collections/src/test/java/org/apache/mnemonic/collections/Person.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/Person.java b/collections/src/test/java/org/apache/mnemonic/collections/Person.java
index bf2a0d3..259bee9 100644
--- a/collections/src/test/java/org/apache/mnemonic/collections/Person.java
+++ b/collections/src/test/java/org/apache/mnemonic/collections/Person.java
@@ -17,9 +17,15 @@
package org.apache.mnemonic.collections;
-import org.apache.mnemonic.*;
+import org.apache.mnemonic.Durable;
+import org.apache.mnemonic.EntityFactoryProxy;
+import org.apache.mnemonic.GenericField;
+import org.apache.mnemonic.NonVolatileEntity;
+import org.apache.mnemonic.NonVolatileGetter;
+import org.apache.mnemonic.NonVolatileSetter;
+import org.apache.mnemonic.OutOfPersistentMemory;
+import org.apache.mnemonic.RetrieveNonVolatileEntityError;
import org.testng.annotations.Test;
-import java.util.List;
/**
*
@@ -53,35 +59,37 @@ public abstract class Person<E> implements Durable, Comparable<Person<E>> {
public int compareTo(Person<E> anotherPerson) {
int ret = 0;
- if (0 == ret)
+ if (0 == ret) {
ret = getAge().compareTo(anotherPerson.getAge());
- if (0 == ret)
+ }
+ if (0 == ret) {
ret = getName().compareTo(anotherPerson.getName());
+ }
return ret;
}
@NonVolatileGetter(Id = 1L)
- abstract public Short getAge();
+ public abstract Short getAge();
@NonVolatileSetter
- abstract public void setAge(Short age);
+ public abstract void setAge(Short age);
@NonVolatileGetter(Id = 2L)
- abstract public String getName() throws RetrieveNonVolatileEntityError;
+ public abstract String getName() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setName(String name, boolean destroy)
+ public abstract void setName(String name, boolean destroy)
throws OutOfPersistentMemory, RetrieveNonVolatileEntityError;
@NonVolatileGetter(Id = 3L)
- abstract public Person<E> getMother() throws RetrieveNonVolatileEntityError;
+ public abstract Person<E> getMother() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setMother(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
+ public abstract void setMother(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
@NonVolatileGetter(Id = 4L)
- abstract public Person<E> getFather() throws RetrieveNonVolatileEntityError;
+ public abstract Person<E> getFather() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setFather(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
+ public abstract void setFather(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/Allocatable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocatable.java b/core/src/main/java/org/apache/mnemonic/Allocatable.java
index 1009316..2fec5c8 100644
--- a/core/src/main/java/org/apache/mnemonic/Allocatable.java
+++ b/core/src/main/java/org/apache/mnemonic/Allocatable.java
@@ -35,7 +35,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
*
* @return a holder contains a memory chunk
*/
- public MemChunkHolder<A> createChunk(long size, boolean autoreclaim);
+ MemChunkHolder<A> createChunk(long size, boolean autoreclaim);
/**
* create a memory chunk that is managed by its holder.
@@ -45,7 +45,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
*
* @return a holder contains a memory chunk
*/
- public MemChunkHolder<A> createChunk(long size);
+ MemChunkHolder<A> createChunk(long size);
/**
* create a memory buffer that is managed by its holder.
@@ -58,7 +58,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
*
* @return a holder contains a memory buffer
*/
- public MemBufferHolder<A> createBuffer(long size, boolean autoreclaim);
+ MemBufferHolder<A> createBuffer(long size, boolean autoreclaim);
/**
* create a memory buffer that is managed by its holder.
@@ -68,7 +68,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
*
* @return a holder contains a memory buffer
*/
- public MemBufferHolder<A> createBuffer(long size);
+ MemBufferHolder<A> createBuffer(long size);
/**
* register a memory chunk for auto-reclaim
@@ -76,7 +76,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
* @param mholder
* specify a chunk holder to register
*/
- public void registerChunkAutoReclaim(MemChunkHolder<A> mholder);
+ void registerChunkAutoReclaim(MemChunkHolder<A> mholder);
/**
* register a memory buffer for auto-reclaim
@@ -84,7 +84,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
* @param mholder
* specify a buffer holder to register
*/
- public void registerBufferAutoReclaim(MemBufferHolder<A> mholder);
+ void registerBufferAutoReclaim(MemBufferHolder<A> mholder);
/**
* resize a memory chunk.
@@ -98,7 +98,7 @@ public interface Allocatable<A extends CommonAllocator<A>> {
* @return the resized memory chunk holder
*
*/
- public MemChunkHolder<A> resizeChunk(MemChunkHolder<A> mholder, long size);
+ MemChunkHolder<A> resizeChunk(MemChunkHolder<A> mholder, long size);
/**
* resize a memory buffer.
@@ -112,6 +112,6 @@ public interface Allocatable<A extends CommonAllocator<A>> {
* @return the resized memory buffer holder
*
*/
- public MemBufferHolder<A> resizeBuffer(MemBufferHolder<A> mholder, long size);
+ MemBufferHolder<A> resizeBuffer(MemBufferHolder<A> mholder, long size);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/Allocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocator.java b/core/src/main/java/org/apache/mnemonic/Allocator.java
index 950b890..28a1119 100644
--- a/core/src/main/java/org/apache/mnemonic/Allocator.java
+++ b/core/src/main/java/org/apache/mnemonic/Allocator.java
@@ -27,13 +27,13 @@ public interface Allocator<A extends CommonAllocator<A>> extends Allocatable<A>
* release the underlying memory pool and close it.
*
*/
- public void close();
+ void close();
/**
* sync. dirty data to underlying memory-like device
*
*/
- public void sync();
+ void sync();
/**
* enable active garbage collection. the GC will be forced to collect garbages
@@ -44,13 +44,13 @@ public interface Allocator<A extends CommonAllocator<A>> extends Allocatable<A>
*
* @return this allocator
*/
- public A enableActiveGC(long timeout);
+ A enableActiveGC(long timeout);
/**
* disable active garbage collection.
*
* @return this allocator
*/
- public A disableActiveGC();
+ A disableActiveGC();
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/AnnotatedNonVolatileEntityClass.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/AnnotatedNonVolatileEntityClass.java b/core/src/main/java/org/apache/mnemonic/AnnotatedNonVolatileEntityClass.java
index 1854bea..ac736e9 100644
--- a/core/src/main/java/org/apache/mnemonic/AnnotatedNonVolatileEntityClass.java
+++ b/core/src/main/java/org/apache/mnemonic/AnnotatedNonVolatileEntityClass.java
@@ -18,7 +18,6 @@
package org.apache.mnemonic;
import java.io.IOException;
-import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
@@ -26,7 +25,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.annotation.processing.*;
+import javax.annotation.processing.Filer;
+import javax.annotation.processing.Messager;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
@@ -35,22 +35,34 @@ import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.TypeParameterElement;
import javax.lang.model.element.VariableElement;
-import javax.lang.model.type.DeclaredType;
import javax.lang.model.type.TypeKind;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.type.TypeVariable;
import javax.lang.model.util.Elements;
import javax.lang.model.util.Types;
-import sun.misc.Unsafe;
-import com.squareup.javapoet.*;
+import com.squareup.javapoet.AnnotationSpec;
+import com.squareup.javapoet.ArrayTypeName;
+import com.squareup.javapoet.ClassName;
+import com.squareup.javapoet.CodeBlock;
+import com.squareup.javapoet.FieldSpec;
+import com.squareup.javapoet.JavaFile;
+import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.MethodSpec.Builder;
+import com.squareup.javapoet.ParameterSpec;
+import com.squareup.javapoet.ParameterizedTypeName;
+import com.squareup.javapoet.TypeName;
+import com.squareup.javapoet.TypeSpec;
+import com.squareup.javapoet.TypeVariableName;
+
+import sun.misc.Unsafe;
/**
* this class managed to generate generic non-volatile concrete object and their
* corresponding factory.
*
*/
+@SuppressWarnings("restriction")
public class AnnotatedNonVolatileEntityClass {
protected class MethodInfo {
public ExecutableElement elem;
@@ -69,18 +81,17 @@ public class AnnotatedNonVolatileEntityClass {
public long fieldsize;
}
- protected final String FACTORYNAMESUFFIX = "Factory";
- protected final String PMEMNAMEPREFIX = "NonVolatile_";
- protected final String FIELDNAMESUFFIX = String.format("_field_%s", Utils.genRandomString());
- protected final String ALLOCATORFIELDNAME = String.format("alloc_%s", Utils.genRandomString());
- protected final String AUTORECLAIMFIELDNAME = String.format("autoreclaim_%s", Utils.genRandomString());
- protected final String UNSAFEFIELDNAME = String.format("unsafe_%s", Utils.genRandomString());
- protected final String HOLDERFIELDNAME = String.format("holder_%s", Utils.genRandomString());
- protected final String ALLOCTYPENAME = String.format("ALLOC_PMem3C93D24F59");
+ protected final String cFACTORYNAMESUFFIX = "Factory";
+ protected final String cPMEMNAMEPREFIX = "NonVolatile_";
+ protected final String cFIELDNAMESUFFIX = String.format("_field_%s", Utils.genRandomString());
+ protected final String cALLOCATORFIELDNAME = String.format("alloc_%s", Utils.genRandomString());
+ protected final String cAUTORECLAIMFIELDNAME = String.format("autoreclaim_%s", Utils.genRandomString());
+ protected final String cUNSAFEFIELDNAME = String.format("unsafe_%s", Utils.genRandomString());
+ protected final String cHOLDERFIELDNAME = String.format("holder_%s", Utils.genRandomString());
+ protected final String cALLOCTYPENAME = String.format("ALLOC_PMem3C93D24F59");
private Types m_typeutils;
private Elements m_elemutils;
- private Messager m_msgr;
private TypeElement m_elem;
private String m_factoryname;
@@ -90,11 +101,11 @@ public class AnnotatedNonVolatileEntityClass {
private String m_packagename;
- private TypeName m_alloctypename = TypeVariableName.get(ALLOCTYPENAME);
+ private TypeName m_alloctypename = TypeVariableName.get(cALLOCTYPENAME);
private TypeName m_factoryproxystypename = TypeName.get(EntityFactoryProxy[].class);
private TypeName m_gfieldstypename = TypeName.get(GenericField.GType[].class);
- private TypeVariableName m_alloctypevarname = TypeVariableName.get(ALLOCTYPENAME,
- ParameterizedTypeName.get(ClassName.get(CommonPersistAllocator.class), TypeVariableName.get(ALLOCTYPENAME)));
+ private TypeVariableName m_alloctypevarname = TypeVariableName.get(cALLOCTYPENAME,
+ ParameterizedTypeName.get(ClassName.get(CommonPersistAllocator.class), TypeVariableName.get(cALLOCTYPENAME)));
private Map<String, MethodInfo> m_gettersinfo = new HashMap<String, MethodInfo>();
private Map<String, MethodInfo> m_settersinfo = new HashMap<String, MethodInfo>();
@@ -160,12 +171,11 @@ public class AnnotatedNonVolatileEntityClass {
m_elem = classElement;
m_typeutils = typeUtils;
m_elemutils = elementUtils;
- m_msgr = messager;
m_packagename = m_elemutils.getPackageOf(m_elem).getQualifiedName().toString();
- m_factoryname = String.format("%s%s", m_elem.getSimpleName(), FACTORYNAMESUFFIX);
- m_entityname = String.format("%s%s_%s", PMEMNAMEPREFIX, m_elem.getSimpleName(), Utils.genRandomString());
+ m_factoryname = String.format("%s%s", m_elem.getSimpleName(), cFACTORYNAMESUFFIX);
+ m_entityname = String.format("%s%s_%s", cPMEMNAMEPREFIX, m_elem.getSimpleName(), Utils.genRandomString());
m_durablemtdinfo.put("cancelAutoReclaim", new MethodInfo());
m_durablemtdinfo.put("registerAutoReclaim", new MethodInfo());
@@ -292,13 +302,6 @@ public class AnnotatedNonVolatileEntityClass {
methodinfo.specbuilder = MethodSpec.overriding(methodinfo.elem);
m_settersinfo.put(methodname.substring(3), methodinfo);
}
- // if
- // (!methodinfo.elem.getThrownTypes().contains(m_elemutils.getTypeElement(RetrieveNonVolatileEntityError.class.getCanonicalName()).asType()))
- // {
- // throw new AnnotationProcessingException(methodinfo.elem, "%s must
- // throw out %s.",
- // methodname, RetrieveNonVolatileEntityError.class.getName());
- // }
}
}
@@ -309,46 +312,8 @@ public class AnnotatedNonVolatileEntityClass {
if (!m_gettersinfo.containsKey(name)) {
throw new AnnotationProcessingException(null, "%s has no getter.", name);
}
- // if
- // (m_dynfieldsinfo.get(name).type.toString().equals(String.class.getCanonicalName()))
- // {
- // minfo = m_settersinfo.get(name);
- // if
- // (!minfo.elem.getThrownTypes().contains(m_elemutils.getTypeElement(OutOfPersistentMemory.class.getCanonicalName()).asType()))
- // {
- // throw new AnnotationProcessingException(minfo.elem, "%s must throw out
- // %s.",
- // gsetterName(name, false), OutOfPersistentMemory.class.getName());
- // }
- // }
}
- // for (String name : m_dynfieldsinfo.keySet()) {
- // if (!isUnboxPrimitive(m_dynfieldsinfo.get(name).type)) {
- // if (m_gettersinfo.containsKey(name)) {
- // minfo = m_gettersinfo.get(name);
- // if
- // (!minfo.elem.getThrownTypes().contains(m_elemutils.getTypeElement(RetrieveNonVolatileEntityError.class.getCanonicalName()).asType()))
- // {
- // throw new AnnotationProcessingException(minfo.elem, "%s must throw out
- // %s.",
- // gsetterName(name, true), RetrieveNonVolatileEntityError.class.getName());
- // }
- // }
- // if (m_settersinfo.containsKey(name)) {
- // minfo = m_settersinfo.get(name);
- // if
- // (!minfo.elem.getThrownTypes().contains(m_elemutils.getTypeElement(RetrieveNonVolatileEntityError.class.getCanonicalName()).asType()))
- // {
- // throw new AnnotationProcessingException(minfo.elem, "%s must throw out
- // %s.",
- // gsetterName(name, false),
- // RetrieveNonVolatileEntityError.class.getName());
- // }
- // }
- // }
- // }
-
for (Element elem : intf_durable.getEnclosedElements()) {
if (elem.getKind() == ElementKind.METHOD) {
methodname = elem.getSimpleName().toString();
@@ -368,7 +333,7 @@ public class AnnotatedNonVolatileEntityClass {
// System.err.printf("**------- %s ======\n", elem.toString());
methodinfo = m_entitymtdinfo.get(methodname);
methodinfo.elem = (ExecutableElement) elem;
- methodinfo.specbuilder = overriding(methodinfo.elem, ALLOCTYPENAME);
+ methodinfo.specbuilder = overriding(methodinfo.elem, cALLOCTYPENAME);
}
}
@@ -380,22 +345,30 @@ public class AnnotatedNonVolatileEntityClass {
String ret = null;
if (isUnboxPrimitive(tname)) {
TypeName tn = unboxTypeName(tname);
- if (tn.equals(TypeName.BOOLEAN))
+ if (tn.equals(TypeName.BOOLEAN)) {
ret = isget ? "getByte" : "putByte";
- if (tn.equals(TypeName.BYTE))
+ }
+ if (tn.equals(TypeName.BYTE)) {
ret = isget ? "getByte" : "putByte";
- if (tn.equals(TypeName.CHAR))
+ }
+ if (tn.equals(TypeName.CHAR)) {
ret = isget ? "getChar" : "putChar";
- if (tn.equals(TypeName.DOUBLE))
+ }
+ if (tn.equals(TypeName.DOUBLE)) {
ret = isget ? "getDouble" : "putDouble";
- if (tn.equals(TypeName.FLOAT))
+ }
+ if (tn.equals(TypeName.FLOAT)) {
ret = isget ? "getFloat" : "putFloat";
- if (tn.equals(TypeName.INT))
+ }
+ if (tn.equals(TypeName.INT)) {
ret = isget ? "getInt" : "putInt";
- if (tn.equals(TypeName.LONG))
+ }
+ if (tn.equals(TypeName.LONG)) {
ret = isget ? "getLong" : "putLong";
- if (tn.equals(TypeName.SHORT))
+ }
+ if (tn.equals(TypeName.SHORT)) {
ret = isget ? "getShort" : "putShort";
+ }
} else {
ret = isget ? "getAddress" : "putAddress";
}
@@ -409,22 +382,30 @@ public class AnnotatedNonVolatileEntityClass {
String ret = null;
if (isUnboxPrimitive(tname)) {
TypeName tn = unboxTypeName(tname);
- if (tn.equals(TypeName.BOOLEAN))
+ if (tn.equals(TypeName.BOOLEAN)) {
ret = "false";
- if (tn.equals(TypeName.BYTE))
+ }
+ if (tn.equals(TypeName.BYTE)) {
ret = "(byte)0";
- if (tn.equals(TypeName.CHAR))
+ }
+ if (tn.equals(TypeName.CHAR)) {
ret = "(char)0";
- if (tn.equals(TypeName.DOUBLE))
+ }
+ if (tn.equals(TypeName.DOUBLE)) {
ret = "(double)0.0";
- if (tn.equals(TypeName.FLOAT))
+ }
+ if (tn.equals(TypeName.FLOAT)) {
ret = "(float)0.0";
- if (tn.equals(TypeName.INT))
+ }
+ if (tn.equals(TypeName.INT)) {
ret = "(int)0";
- if (tn.equals(TypeName.LONG))
+ }
+ if (tn.equals(TypeName.LONG)) {
ret = "(long)0";
- if (tn.equals(TypeName.SHORT))
+ }
+ if (tn.equals(TypeName.SHORT)) {
ret = "(short)0";
+ }
} else {
ret = null;
}
@@ -463,7 +444,7 @@ public class AnnotatedNonVolatileEntityClass {
for (String name : m_gettersinfo.keySet()) {
dynfieldinfo = m_dynfieldsinfo.get(name);
if (dynfieldinfo.id > 0) {
- finfo.add(new long[] { dynfieldinfo.id, dynfieldinfo.fieldoff, dynfieldinfo.fieldsize });
+ finfo.add(new long[]{dynfieldinfo.id, dynfieldinfo.fieldoff, dynfieldinfo.fieldsize});
}
}
@@ -539,7 +520,7 @@ public class AnnotatedNonVolatileEntityClass {
code.beginControlFlow("if (0L != phandler)");
code.addStatement("$1N = $4N.restore($2N, $5L, $6L, phandler, $3N)", dynfieldinfo.name, allocname,
autoreclaimname, String.format("%s%s",
- m_typeutils.asElement(methodinfo.elem.getReturnType()).getSimpleName(), FACTORYNAMESUFFIX),
+ m_typeutils.asElement(methodinfo.elem.getReturnType()).getSimpleName(), cFACTORYNAMESUFFIX),
dynfieldinfo.efproxiesname, dynfieldinfo.gftypesname);
code.endControlFlow();
code.endControlFlow();
@@ -720,7 +701,6 @@ public class AnnotatedNonVolatileEntityClass {
protected void buildEntityMethodSpecs(TypeSpec.Builder typespecbuilder) throws AnnotationProcessingException {
MethodInfo methodinfo;
CodeBlock.Builder code;
- FieldInfo dynfieldinfo;
VariableElement arg0, arg1, arg2, arg3, arg4;
String unsafename = m_fieldsinfo.get("unsafe").name;
String holdername = m_fieldsinfo.get("holder").name;
@@ -916,8 +896,9 @@ public class AnnotatedNonVolatileEntityClass {
methodBuilder.addAnnotation(Override.class);
for (AnnotationMirror mirror : method.getAnnotationMirrors()) {
AnnotationSpec annotationSpec = AnnotationSpec.get(mirror);
- if (annotationSpec.type.equals(Override.class))
+ if (annotationSpec.type.equals(Override.class)) {
continue;
+ }
methodBuilder.addAnnotation(annotationSpec);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java b/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
index f81a304..2f0a49f 100644
--- a/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
@@ -19,9 +19,9 @@ package org.apache.mnemonic;
import java.nio.ByteBuffer;
-import org.flowcomputing.commons.resgc.*;
-import org.flowcomputing.commons.primitives.*;
import org.apache.mnemonic.service.allocatorservice.VolatileMemoryAllocatorService;
+import org.flowcomputing.commons.resgc.ResCollector;
+import org.flowcomputing.commons.resgc.ResReclaim;
/**
* manage a big native memory pool through libvmem.so that is provied by Intel
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java b/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
index 99af1b7..e412d0c 100644
--- a/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
@@ -19,9 +19,9 @@ package org.apache.mnemonic;
import java.nio.ByteBuffer;
-import org.flowcomputing.commons.resgc.*;
-import org.flowcomputing.commons.primitives.*;
import org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService;
+import org.flowcomputing.commons.resgc.ResCollector;
+import org.flowcomputing.commons.resgc.ResReclaim;
/**
* manage a big native persistent memory pool through libpmalloc.so provided by
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/CommonPersistAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/CommonPersistAllocator.java b/core/src/main/java/org/apache/mnemonic/CommonPersistAllocator.java
index afc7e02..0f6aae3 100644
--- a/core/src/main/java/org/apache/mnemonic/CommonPersistAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/CommonPersistAllocator.java
@@ -89,7 +89,7 @@ public abstract class CommonPersistAllocator<A extends CommonAllocator<A>> exten
*
* @return a holder contains the retrieved memory buffer
*/
- abstract public MemBufferHolder<A> retrieveBuffer(long phandler, boolean autoreclaim);
+ public abstract MemBufferHolder<A> retrieveBuffer(long phandler, boolean autoreclaim);
/**
* retrieve a memory chunk from its backed memory allocator.
@@ -103,7 +103,7 @@ public abstract class CommonPersistAllocator<A extends CommonAllocator<A>> exten
*
* @return a holder contains the retrieved memory chunk
*/
- abstract public MemChunkHolder<A> retrieveChunk(long phandler, boolean autoreclaim);
+ public abstract MemChunkHolder<A> retrieveChunk(long phandler, boolean autoreclaim);
/**
* get the handler from a memory buffer holder.
@@ -113,7 +113,7 @@ public abstract class CommonPersistAllocator<A extends CommonAllocator<A>> exten
*
* @return a handler that could be used to retrieve its memory buffer
*/
- abstract public long getBufferHandler(MemBufferHolder<A> mbuf);
+ public abstract long getBufferHandler(MemBufferHolder<A> mbuf);
/**
* get the handler from a memory chunk holder.
@@ -123,18 +123,18 @@ public abstract class CommonPersistAllocator<A extends CommonAllocator<A>> exten
*
* @return a handler that could be used to retrieve its memory chunk
*/
- abstract public long getChunkHandler(MemChunkHolder<A> mchunk);
+ public abstract long getChunkHandler(MemChunkHolder<A> mchunk);
/**
* start a application level transaction on this allocator.
*
*/
- abstract public void beginTransaction();
+ public abstract void beginTransaction();
/**
* end a application level transaction on this allocator.
*
*/
- abstract public void endTransaction();
+ public abstract void endTransaction();
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/DropEvent.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/DropEvent.java b/core/src/main/java/org/apache/mnemonic/DropEvent.java
index f1bfa9c..d1f369a 100644
--- a/core/src/main/java/org/apache/mnemonic/DropEvent.java
+++ b/core/src/main/java/org/apache/mnemonic/DropEvent.java
@@ -37,5 +37,5 @@ public interface DropEvent<KeyT, ValueT> {
* @param v
* the value of an entry that has been evicted
*/
- public void drop(CachePool<KeyT, ValueT> pool, KeyT k, ValueT v);
+ void drop(CachePool<KeyT, ValueT> pool, KeyT k, ValueT v);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/Durable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Durable.java b/core/src/main/java/org/apache/mnemonic/Durable.java
index 85d3a17..5666fa5 100644
--- a/core/src/main/java/org/apache/mnemonic/Durable.java
+++ b/core/src/main/java/org/apache/mnemonic/Durable.java
@@ -30,14 +30,14 @@ public interface Durable {
* brandly new
*
*/
- public void initializeAfterCreate();
+ void initializeAfterCreate();
/**
* this function will be invoked after this non-volatile object is restored
* from its allocator
*
*/
- public void initializeAfterRestore();
+ void initializeAfterRestore();
/**
* this function will be invoked by its factory to setup generic related info
@@ -50,41 +50,41 @@ public interface Durable {
* @param gftypes
* specify a array of types corresponding to efproxies
*/
- public void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes);
+ void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes);
/**
* this function could be called by user code to disable auto-reclaim for this
* non-volatile object
*
*/
- public void cancelAutoReclaim();
+ void cancelAutoReclaim();
/**
* this function could be called by user code to register this object for
* auto-reclaim
*
*/
- public void registerAutoReclaim();
+ void registerAutoReclaim();
/**
* this function returns its bound handler for this object
*
* @return the handler of this object
*/
- public long getNonVolatileHandler();
+ long getNonVolatileHandler();
/**
* return the setting for auto-reclaim
*
* @return the status of the auto-reclaim setting
*/
- public boolean autoReclaim();
+ boolean autoReclaim();
/**
* manually destroy this object and release its memory resource
*
*/
- public void destroy() throws RetrieveNonVolatileEntityError;
+ void destroy() throws RetrieveNonVolatileEntityError;
/**
* return the native field map info for native processing.
@@ -92,5 +92,5 @@ public interface Durable {
* @return the native field map info
*
*/
- public long[][] getNativeFieldInfo();
+ long[][] getNativeFieldInfo();
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/EntityFactoryProxy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/EntityFactoryProxy.java b/core/src/main/java/org/apache/mnemonic/EntityFactoryProxy.java
index 06caac5..621f580 100644
--- a/core/src/main/java/org/apache/mnemonic/EntityFactoryProxy.java
+++ b/core/src/main/java/org/apache/mnemonic/EntityFactoryProxy.java
@@ -48,6 +48,6 @@ public interface EntityFactoryProxy {
* @return the restored non-volatile object from this factory proxy
*
*/
- public abstract <A extends CommonPersistAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
+ <A extends CommonPersistAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
GenericField.GType[] gfields, long phandler, boolean autoreclaim);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/EvictFilter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/EvictFilter.java b/core/src/main/java/org/apache/mnemonic/EvictFilter.java
index 6411ee2..1d48a18 100644
--- a/core/src/main/java/org/apache/mnemonic/EvictFilter.java
+++ b/core/src/main/java/org/apache/mnemonic/EvictFilter.java
@@ -37,5 +37,5 @@ public interface EvictFilter<KeyT, ValueT> {
* @return <tt>true</tt> if the entry is allowed to be dropped from its cache
* pool.
*/
- public boolean validate(CachePool<KeyT, ValueT> pool, KeyT k, ValueT v);
+ boolean validate(CachePool<KeyT, ValueT> pool, KeyT k, ValueT v);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/MemBufferHolderCachePool.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/MemBufferHolderCachePool.java b/core/src/main/java/org/apache/mnemonic/MemBufferHolderCachePool.java
index d5afd30..02f1a5c 100644
--- a/core/src/main/java/org/apache/mnemonic/MemBufferHolderCachePool.java
+++ b/core/src/main/java/org/apache/mnemonic/MemBufferHolderCachePool.java
@@ -203,11 +203,13 @@ public class MemBufferHolderCachePool<KeyT> extends CachePool<KeyT, MemBufferHol
EvictFilter<KeyT, MemBufferHolder<?>> dfilter) {
boolean ret = false;
- if (freesz <= freeCapacity())
+ if (freesz <= freeCapacity()) {
return true;
+ }
- if (freesz > maxStoreCapacity)
+ if (freesz > maxStoreCapacity) {
return false;
+ }
long selectedMemory = 0L;
Set<KeyT> selected = new HashSet<KeyT>();
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/MemClustering.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/MemClustering.java b/core/src/main/java/org/apache/mnemonic/MemClustering.java
index 30c8483..a643c48 100644
--- a/core/src/main/java/org/apache/mnemonic/MemClustering.java
+++ b/core/src/main/java/org/apache/mnemonic/MemClustering.java
@@ -17,7 +17,11 @@
package org.apache.mnemonic;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
/**
* clustering different kind of memory-like media and combine them as a larger
@@ -43,7 +47,7 @@ public class MemClustering {
* the perf. level after change
*
*/
- public void changed(PerformanceLevel prevlvl, PerformanceLevel tgtlvl);
+ void changed(PerformanceLevel prevlvl, PerformanceLevel tgtlvl);
}
/**
@@ -64,7 +68,7 @@ public class MemClustering {
* @param tgtallocator
* the allocator after change
*/
- public void changed(PerformanceLevel lvl, CommonAllocator<?> prevallocator, CommonAllocator<?> tgtallocator);
+ void changed(PerformanceLevel lvl, CommonAllocator<?> prevallocator, CommonAllocator<?> tgtallocator);
}
/**
@@ -82,7 +86,7 @@ public class MemClustering {
* @return the holder created
*/
private interface MemCreate<H extends MemHolder<? extends CommonAllocator<?>, ?, ?>> {
- public H create(CommonAllocator<?> bma, long size);
+ H create(CommonAllocator<?> bma, long size);
}
private MemCreate<MemChunkHolder<?>> m_memchunkcreate = new MemCreate<MemChunkHolder<?>>() {
@@ -103,7 +107,7 @@ public class MemClustering {
* performance level categories.
*
*/
- public static enum PerformanceLevel {
+ public enum PerformanceLevel {
FASTEST, FAST, NORMAL, SLOW, SLOWEST
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/MemHolder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/MemHolder.java b/core/src/main/java/org/apache/mnemonic/MemHolder.java
index b4ce1a6..75e4c7e 100644
--- a/core/src/main/java/org/apache/mnemonic/MemHolder.java
+++ b/core/src/main/java/org/apache/mnemonic/MemHolder.java
@@ -17,7 +17,7 @@
package org.apache.mnemonic;
-import org.flowcomputing.commons.resgc.*;
+import org.flowcomputing.commons.resgc.ResHolder;
/**
* hold a memory kind of resource.
@@ -57,19 +57,19 @@ public abstract class MemHolder<A extends CommonAllocator<A>, T, H extends MemHo
* @param size
* specify the new size for its held resource
*/
- abstract public MemHolder<A, T, H> resize(long size);
+ public abstract MemHolder<A, T, H> resize(long size);
/**
* get the size of its held memory resource.
*
* @return the size
*/
- abstract public long getSize();
+ public abstract long getSize();
/**
* register its held resource for auto-reclaim
*
*/
- abstract public void registerAutoReclaim();
+ public abstract void registerAutoReclaim();
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/MemoryNonVolatileEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/MemoryNonVolatileEntity.java b/core/src/main/java/org/apache/mnemonic/MemoryNonVolatileEntity.java
index 47124b6..4ae615a 100644
--- a/core/src/main/java/org/apache/mnemonic/MemoryNonVolatileEntity.java
+++ b/core/src/main/java/org/apache/mnemonic/MemoryNonVolatileEntity.java
@@ -24,13 +24,13 @@ package org.apache.mnemonic;
public interface MemoryNonVolatileEntity<ALLOC_PMem3C93D24F59 extends CommonPersistAllocator<ALLOC_PMem3C93D24F59>> {
- public void initializeNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
+ void initializeNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
GenericField.GType[] gfields, boolean autoreclaim);
- public void createNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
+ void createNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
GenericField.GType[] gfields, boolean autoreclaim) throws OutOfPersistentMemory;
- public void restoreNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
+ void restoreNonVolatileEntity(ALLOC_PMem3C93D24F59 allocator, EntityFactoryProxy[] efproxys,
GenericField.GType[] gfields, long phandler, boolean autoreclaim) throws RetrieveNonVolatileEntityError;
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/NonVolatileEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/NonVolatileEntity.java b/core/src/main/java/org/apache/mnemonic/NonVolatileEntity.java
index 0ac0f77..8ba6569 100644
--- a/core/src/main/java/org/apache/mnemonic/NonVolatileEntity.java
+++ b/core/src/main/java/org/apache/mnemonic/NonVolatileEntity.java
@@ -17,13 +17,16 @@
package org.apache.mnemonic;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.RetentionPolicy;
+
/**
* this class defines a annotation for non-volatile entity
*
*/
-import java.lang.annotation.*;
-
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
public @interface NonVolatileEntity {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/NonVolatileEntityProcessor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/NonVolatileEntityProcessor.java b/core/src/main/java/org/apache/mnemonic/NonVolatileEntityProcessor.java
index 6aa7160..c10b7b2 100644
--- a/core/src/main/java/org/apache/mnemonic/NonVolatileEntityProcessor.java
+++ b/core/src/main/java/org/apache/mnemonic/NonVolatileEntityProcessor.java
@@ -26,23 +26,20 @@ import java.io.IOException;
import java.util.LinkedHashSet;
import java.util.Set;
-import javax.annotation.processing.*;
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.Filer;
+import javax.annotation.processing.Messager;
+import javax.annotation.processing.ProcessingEnvironment;
+import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
-import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
-import javax.lang.model.element.VariableElement;
-import javax.lang.model.type.DeclaredType;
-import javax.lang.model.type.TypeMirror;
-import javax.lang.model.util.ElementFilter;
import javax.lang.model.util.Elements;
import javax.lang.model.util.Types;
import javax.tools.Diagnostic;
-import com.squareup.javapoet.MethodSpec;
-
public class NonVolatileEntityProcessor extends AbstractProcessor {
private Types typeUtils;
private Elements elementUtils;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/PMAddressTranslator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/PMAddressTranslator.java b/core/src/main/java/org/apache/mnemonic/PMAddressTranslator.java
index b7a1600..c5c9105 100644
--- a/core/src/main/java/org/apache/mnemonic/PMAddressTranslator.java
+++ b/core/src/main/java/org/apache/mnemonic/PMAddressTranslator.java
@@ -31,7 +31,7 @@ public interface PMAddressTranslator {
*
* @return the portable address
*/
- public long getPortableAddress(long addr);
+ long getPortableAddress(long addr);
/**
* calculate the effective address
@@ -41,14 +41,14 @@ public interface PMAddressTranslator {
*
* @return the effective address
*/
- public long getEffectiveAddress(long addr);
+ long getEffectiveAddress(long addr);
/**
* get the base address
*
* @return the base address
*/
- public long getBaseAddress();
+ long getBaseAddress();
/**
* set the base address for calculation
@@ -57,5 +57,5 @@ public interface PMAddressTranslator {
* the base address
*
*/
- public long setBaseAddress(long addr);
+ long setBaseAddress(long addr);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/Reclaim.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Reclaim.java b/core/src/main/java/org/apache/mnemonic/Reclaim.java
index 80d923f..84b85ac 100644
--- a/core/src/main/java/org/apache/mnemonic/Reclaim.java
+++ b/core/src/main/java/org/apache/mnemonic/Reclaim.java
@@ -36,5 +36,5 @@ public interface Reclaim<MRES> {
* <tt>false</tt> if this resource needs to be claimed by default
* reclaimer
*/
- public boolean reclaim(MRES mres, Long size);
+ boolean reclaim(MRES mres, Long size);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java b/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
index 36346ee..1d68937 100644
--- a/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
@@ -17,13 +17,14 @@
package org.apache.mnemonic;
-import java.lang.reflect.*;
+import java.lang.reflect.Field;
import java.nio.ByteBuffer;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
-import org.flowcomputing.commons.resgc.*;
+import org.flowcomputing.commons.resgc.ResCollector;
+import org.flowcomputing.commons.resgc.ResReclaim;
import sun.misc.Unsafe;
import sun.misc.Cleaner;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/Utils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Utils.java b/core/src/main/java/org/apache/mnemonic/Utils.java
index 9425b98..49794db 100644
--- a/core/src/main/java/org/apache/mnemonic/Utils.java
+++ b/core/src/main/java/org/apache/mnemonic/Utils.java
@@ -29,7 +29,6 @@ import java.util.UUID;
import sun.misc.Unsafe;
import java.util.Iterator;
import java.util.List;
-import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
import org.apache.mnemonic.service.allocatorservice.VolatileMemoryAllocatorService;
import org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService;
@@ -42,8 +41,6 @@ import org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorSe
*/
@SuppressWarnings("restriction")
public class Utils {
- private static long fSLEEP_INTERVAL = 100;
-
public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
@@ -149,10 +146,10 @@ public class Utils {
*
* @return the size of memory has been occupied
*/
- public static long getMemoryUse() {
- putOutTheGarbage();
+ public static long getMemoryUse(long timeout) {
+ putOutTheGarbage(timeout);
long totalMemory = Runtime.getRuntime().totalMemory();
- putOutTheGarbage();
+ putOutTheGarbage(timeout);
long freeMemory = Runtime.getRuntime().freeMemory();
return (totalMemory - freeMemory);
}
@@ -160,20 +157,20 @@ public class Utils {
/**
* run garbage collections.
*/
- private static void putOutTheGarbage() {
- collectGarbage();
- collectGarbage();
+ private static void putOutTheGarbage(long timeout) {
+ collectGarbage(timeout);
+ collectGarbage(timeout);
}
/**
* run a garbage collection.
*/
- public static void collectGarbage() {
+ public static void collectGarbage(long timeout) {
try {
System.gc();
- Thread.sleep(fSLEEP_INTERVAL);
+ Thread.sleep(timeout);
System.runFinalization();
- Thread.sleep(fSLEEP_INTERVAL);
+ Thread.sleep(timeout);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/service/allocatorservice/NonVolatileMemoryAllocatorService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/service/allocatorservice/NonVolatileMemoryAllocatorService.java b/core/src/main/java/org/apache/mnemonic/service/allocatorservice/NonVolatileMemoryAllocatorService.java
index 1007708..1eda1d9 100644
--- a/core/src/main/java/org/apache/mnemonic/service/allocatorservice/NonVolatileMemoryAllocatorService.java
+++ b/core/src/main/java/org/apache/mnemonic/service/allocatorservice/NonVolatileMemoryAllocatorService.java
@@ -17,7 +17,6 @@
package org.apache.mnemonic.service.allocatorservice;
-import org.flowcomputing.commons.primitives.*;
import java.nio.ByteBuffer;
public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocatorService {
@@ -34,7 +33,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
* @return the nonvolatile bytebuffer
*
*/
- public ByteBuffer retrieveByteBuffer(long id, long handler);
+ ByteBuffer retrieveByteBuffer(long id, long handler);
/**
* retrieve the size of a nonvolatile memory object
@@ -48,7 +47,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
* @return the size of nonvolatile object
*
*/
- public long retrieveSize(long id, long handler);
+ long retrieveSize(long id, long handler);
/**
* get the handler of a nonvolatile bytebuffer
@@ -62,7 +61,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
* @return the handler of this specified nonvolatile bytebuffer
*
*/
- public long getByteBufferHandler(long id, ByteBuffer buf);
+ long getByteBufferHandler(long id, ByteBuffer buf);
/**
* set a handler to a key.
@@ -76,7 +75,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
* @param handler
* the handler
*/
- public void setHandler(long id, long key, long handler);
+ void setHandler(long id, long key, long handler);
/**
* get a handler from specified key.
@@ -89,7 +88,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
*
* @return the handler of the specified key
*/
- public long getHandler(long id, long key);
+ long getHandler(long id, long key);
/**
* return the number of available keys to use.
@@ -99,7 +98,7 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
*
* @return the number of keys
*/
- public long handlerCapacity(long id);
+ long handlerCapacity(long id);
/**
* return the base address of this persistent memory pool.
@@ -109,6 +108,6 @@ public interface NonVolatileMemoryAllocatorService extends VolatileMemoryAllocat
*
* @return the base address of this pmem pool
*/
- public long getBaseAddress(long id);
+ long getBaseAddress(long id);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/main/java/org/apache/mnemonic/service/allocatorservice/VolatileMemoryAllocatorService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/service/allocatorservice/VolatileMemoryAllocatorService.java b/core/src/main/java/org/apache/mnemonic/service/allocatorservice/VolatileMemoryAllocatorService.java
index 32f7c33..cef38e1 100644
--- a/core/src/main/java/org/apache/mnemonic/service/allocatorservice/VolatileMemoryAllocatorService.java
+++ b/core/src/main/java/org/apache/mnemonic/service/allocatorservice/VolatileMemoryAllocatorService.java
@@ -17,7 +17,6 @@
package org.apache.mnemonic.service.allocatorservice;
-import org.flowcomputing.commons.primitives.*;
import java.nio.ByteBuffer;
public interface VolatileMemoryAllocatorService {
@@ -27,7 +26,7 @@ public interface VolatileMemoryAllocatorService {
*
* @return the service identifer of this allocator
*/
- public String getServiceId();
+ String getServiceId();
/**
* Initialize a memory pool through native interface backed by native library.
@@ -43,19 +42,19 @@ public interface VolatileMemoryAllocatorService {
*
* @return the identifier of created memory pool
*/
- public long init(long capacity, String uri, boolean isnew);
+ long init(long capacity, String uri, boolean isnew);
/**
* close the memory pool through native interface.
*
*/
- public void close(long id);
+ void close(long id);
/**
* force to synchronize uncommitted data to backed memory pool through native
* interface.
*/
- public void sync(long id);
+ void sync(long id);
/**
* allocate specified size of memory block from backed memory pool.
@@ -68,7 +67,7 @@ public interface VolatileMemoryAllocatorService {
*
* @return the address of allocated memory block from native memory pool
*/
- public long allocate(long id, long size, boolean initzero);
+ long allocate(long id, long size, boolean initzero);
/**
* reallocate a specified size of memory block from backed memory pool.
@@ -84,7 +83,7 @@ public interface VolatileMemoryAllocatorService {
*
* @return the address of reallocated memory block from native memory pool
*/
- public long reallocate(long id, long address, long size, boolean initzero);
+ long reallocate(long id, long address, long size, boolean initzero);
/**
* free a memory block by specify its address into backed memory pool.
@@ -95,7 +94,7 @@ public interface VolatileMemoryAllocatorService {
* @param address
* the address of allocated memory block.
*/
- public void free(long id, long address);
+ void free(long id, long address);
/**
* create a ByteBuffer object which backed buffer is coming from backed native
@@ -110,7 +109,7 @@ public interface VolatileMemoryAllocatorService {
*
* @return a created ByteBuffer object with a backed native memory block
*/
- public ByteBuffer createByteBuffer(long id, long size);
+ ByteBuffer createByteBuffer(long id, long size);
/**
* resize a ByteBuffer object which backed buffer is coming from backed native
@@ -129,7 +128,7 @@ public interface VolatileMemoryAllocatorService {
*
* @return a created ByteBuffer object with a backed native memory block
*/
- public ByteBuffer resizeByteBuffer(long id, ByteBuffer bytebuf, long size);
+ ByteBuffer resizeByteBuffer(long id, ByteBuffer bytebuf, long size);
/**
* destroy a native memory block backed ByteBuffer object.
@@ -140,5 +139,5 @@ public interface VolatileMemoryAllocatorService {
* @param bytebuf
* the specified ByteBuffer object to be destroyed
*/
- public void destroyByteBuffer(long id, ByteBuffer bytebuf);
+ void destroyByteBuffer(long id, ByteBuffer bytebuf);
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/BigDataMemAllocatorNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/BigDataMemAllocatorNGTest.java b/core/src/test/java/org/apache/mnemonic/BigDataMemAllocatorNGTest.java
index 61ea2ed..6453ec0 100644
--- a/core/src/test/java/org/apache/mnemonic/BigDataMemAllocatorNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/BigDataMemAllocatorNGTest.java
@@ -17,11 +17,6 @@
package org.apache.mnemonic;
-import org.apache.mnemonic.Allocator;
-import org.apache.mnemonic.BigDataMemAllocator;
-import org.apache.mnemonic.MemBufferHolder;
-import org.apache.mnemonic.MemChunkHolder;
-import org.apache.mnemonic.Utils;
import org.testng.annotations.Test;
import java.util.Random;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/BigDataPMemAllocatorNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/BigDataPMemAllocatorNGTest.java b/core/src/test/java/org/apache/mnemonic/BigDataPMemAllocatorNGTest.java
index ee8b0c6..7de32c5 100644
--- a/core/src/test/java/org/apache/mnemonic/BigDataPMemAllocatorNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/BigDataPMemAllocatorNGTest.java
@@ -19,8 +19,6 @@ package org.apache.mnemonic;
import java.nio.ByteBuffer;
import java.util.Random;
-
-import org.apache.mnemonic.Utils;
import org.testng.Assert;
import org.testng.annotations.Test;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/ByteBufferSerializerNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/ByteBufferSerializerNGTest.java b/core/src/test/java/org/apache/mnemonic/ByteBufferSerializerNGTest.java
index 883a00e..1307504 100644
--- a/core/src/test/java/org/apache/mnemonic/ByteBufferSerializerNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/ByteBufferSerializerNGTest.java
@@ -17,12 +17,7 @@
package org.apache.mnemonic;
-import static org.testng.Assert.*;
-
-import org.apache.mnemonic.BigDataMemAllocator;
-import org.apache.mnemonic.ByteBufferSerializer;
-import org.apache.mnemonic.MemBufferHolder;
-import org.apache.mnemonic.Utils;
+import static org.testng.Assert.assertTrue;
import org.testng.annotations.Test;
import java.nio.ByteBuffer;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/MemBufferHolderCachePoolNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/MemBufferHolderCachePoolNGTest.java b/core/src/test/java/org/apache/mnemonic/MemBufferHolderCachePoolNGTest.java
index 86f9936..723f571 100644
--- a/core/src/test/java/org/apache/mnemonic/MemBufferHolderCachePoolNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/MemBufferHolderCachePoolNGTest.java
@@ -17,19 +17,10 @@
package org.apache.mnemonic;
-import static org.testng.Assert.*;
-
-import org.apache.mnemonic.BigDataMemAllocator;
-import org.apache.mnemonic.CachePool;
-import org.apache.mnemonic.ContainerOverflowException;
-import org.apache.mnemonic.DropEvent;
-import org.apache.mnemonic.EvictFilter;
-import org.apache.mnemonic.MemBufferHolder;
-import org.apache.mnemonic.MemBufferHolderCachePool;
-import org.apache.mnemonic.MemClustering;
-import org.apache.mnemonic.Utils;
-import org.testng.annotations.Test;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertEquals;
+import org.testng.annotations.Test;
import java.util.Random;
/**
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/MemClusteringNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/MemClusteringNGTest.java b/core/src/test/java/org/apache/mnemonic/MemClusteringNGTest.java
index 010ab53..f62bfd8 100644
--- a/core/src/test/java/org/apache/mnemonic/MemClusteringNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/MemClusteringNGTest.java
@@ -17,16 +17,10 @@
package org.apache.mnemonic;
-import static org.testng.Assert.*;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
-import org.apache.mnemonic.BigDataMemAllocator;
-import org.apache.mnemonic.CommonAllocator;
-import org.apache.mnemonic.MemBufferHolder;
-import org.apache.mnemonic.MemClustering;
-import org.apache.mnemonic.SysMemAllocator;
-import org.apache.mnemonic.Utils;
import org.testng.annotations.Test;
-
import java.util.Random;
/**
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/NonVolatilePersonNGTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/NonVolatilePersonNGTest.java b/core/src/test/java/org/apache/mnemonic/NonVolatilePersonNGTest.java
index f407402..4dc85bd 100644
--- a/core/src/test/java/org/apache/mnemonic/NonVolatilePersonNGTest.java
+++ b/core/src/test/java/org/apache/mnemonic/NonVolatilePersonNGTest.java
@@ -23,22 +23,20 @@ package org.apache.mnemonic;
*/
import java.nio.ByteBuffer;
-import java.util.List;
import java.util.Random;
import java.util.UUID;
-import org.apache.mnemonic.Utils;
import org.testng.annotations.Test;
public class NonVolatilePersonNGTest {
- private long KEYCAPACITY;
+ private long cKEYCAPACITY;
@Test(expectedExceptions = { OutOfPersistentMemory.class })
public void testGenPeople() throws OutOfPersistentMemory, RetrieveNonVolatileEntityError {
Random rand = Utils.createRandom();
BigDataPMemAllocator act = new BigDataPMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
1024 * 1024 * 8, "./pobj_person.dat", true);
- KEYCAPACITY = act.handlerCapacity();
+ cKEYCAPACITY = act.handlerCapacity();
act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
@Override
public boolean reclaim(ByteBuffer mres, Long sz) {
@@ -56,7 +54,7 @@ public class NonVolatilePersonNGTest {
}
});
- for (long i = 0; i < KEYCAPACITY; ++i) {
+ for (long i = 0; i < cKEYCAPACITY; ++i) {
act.setHandler(i, 0L);
}
@@ -70,7 +68,7 @@ public class NonVolatilePersonNGTest {
while (true) {
// if (keyidx >= KEYCAPACITY) break;
- keyidx %= KEYCAPACITY;
+ keyidx %= cKEYCAPACITY;
System.out.printf("************ Generating People on Key %d ***********\n", keyidx);
@@ -128,7 +126,7 @@ public class NonVolatilePersonNGTest {
});
long val;
- for (long i = 0; i < KEYCAPACITY; ++i) {
+ for (long i = 0; i < cKEYCAPACITY; ++i) {
System.out.printf("----------Key %d--------------\n", i);
val = act.getHandler(i);
if (0L == val) {
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/core/src/test/java/org/apache/mnemonic/Person.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mnemonic/Person.java b/core/src/test/java/org/apache/mnemonic/Person.java
index 5e8775e..9f5afa6 100644
--- a/core/src/test/java/org/apache/mnemonic/Person.java
+++ b/core/src/test/java/org/apache/mnemonic/Person.java
@@ -17,8 +17,6 @@
package org.apache.mnemonic;
-import java.util.List;
-
/**
*
*
@@ -50,35 +48,37 @@ public abstract class Person<E> implements Durable, Comparable<Person<E>> {
public int compareTo(Person<E> anotherPerson) {
int ret = 0;
- if (0 == ret)
+ if (0 == ret) {
ret = getAge().compareTo(anotherPerson.getAge());
- if (0 == ret)
+ }
+ if (0 == ret) {
ret = getName().compareTo(anotherPerson.getName());
+ }
return ret;
}
@NonVolatileGetter
- abstract public Short getAge();
+ public abstract Short getAge();
@NonVolatileSetter
- abstract public void setAge(Short age);
+ public abstract void setAge(Short age);
@NonVolatileGetter
- abstract public String getName() throws RetrieveNonVolatileEntityError;
+ public abstract String getName() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setName(String name, boolean destroy)
+ public abstract void setName(String name, boolean destroy)
throws OutOfPersistentMemory, RetrieveNonVolatileEntityError;
@NonVolatileGetter
- abstract public Person<E> getMother() throws RetrieveNonVolatileEntityError;
+ public abstract Person<E> getMother() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setMother(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
+ public abstract void setMother(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
@NonVolatileGetter
- abstract public Person<E> getFather() throws RetrieveNonVolatileEntityError;
+ public abstract Person<E> getFather() throws RetrieveNonVolatileEntityError;
@NonVolatileSetter
- abstract public void setFather(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
+ public abstract void setFather(Person<E> mother, boolean destroy) throws RetrieveNonVolatileEntityError;
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/examples/src/main/java/org/apache/mnemonic/example/Main.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/mnemonic/example/Main.java b/examples/src/main/java/org/apache/mnemonic/example/Main.java
index 4546f0b..7029971 100644
--- a/examples/src/main/java/org/apache/mnemonic/example/Main.java
+++ b/examples/src/main/java/org/apache/mnemonic/example/Main.java
@@ -18,9 +18,16 @@
package org.apache.mnemonic.example;
import java.nio.ByteBuffer;
-import java.util.*;
+import java.util.Random;
-import org.apache.mnemonic.*;
+import org.apache.mnemonic.BigDataMemAllocator;
+import org.apache.mnemonic.CommonAllocator;
+import org.apache.mnemonic.MemBufferHolder;
+import org.apache.mnemonic.MemChunkHolder;
+import org.apache.mnemonic.MemClustering;
+import org.apache.mnemonic.Reclaim;
+import org.apache.mnemonic.SysMemAllocator;
+import org.apache.mnemonic.Utils;
import sun.misc.Unsafe;
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/254238fb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8275a75..f66936f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -8,7 +28,7 @@
<version>2.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Mnemonic Project Parent POM</name>
- <url>https://github.com/NonVolatileComputing/Mnemonic</url>
+ <url>https://github.com/apache/incubator-mnemonic</url>
<licenses>
<license>
@@ -74,6 +94,7 @@
<skipTests>true</skipTests>
<allocator.service.dir>${basedir}/../allocator-services/service-dist</allocator.service.dir>
<github.global.server>github</github.global.server>
+ <buildtools.dir>${basedir}/build-tools</buildtools.dir>
</properties>
<repositories>
@@ -199,9 +220,33 @@
<scmBranch>gh-pages</scmBranch> <!-- branch with static site -->
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
</plugins>
<pluginManagement>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.17</version>
+ <configuration>
+ <configLocation>build-tools/mnemonic-checkstyle.xml</configLocation>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ <encoding>UTF-8</encoding>
+ <failOnViolation>true</failOnViolation>
+ </configuration>
+ <executions>
+ <execution>
+ <id>validate</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
@@ -281,10 +326,45 @@
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
</plugin>
+
</plugins>
</pluginManagement>
+
</build>
+<profiles>
+ <profile>
+ <id>activate-buildtools-in-module</id>
+ <activation>
+ <file>
+ <exists>${basedir}/../build-tools/mnemonic-checkstyle.xml</exists>
+ </file>
+ </activation>
+ <properties>
+ <buildtools.dir>${basedir}/../build-tools</buildtools.dir>
+ </properties>
+ </profile>
+ <profile>
+ <id>activate-buildtools-in-submodule</id>
+ <activation>
+ <file>
+ <exists>${basedir}/../../build-tools/mnemonic-checkstyle.xml</exists>
+ </file>
+ </activation>
+ <properties>
+ <buildtools.dir>${basedir}/../../build-tools</buildtools.dir>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>nochecks</id>
+ <properties>
+ <pmd.skip>true</pmd.skip>
+ <checkstyle.skip>true</checkstyle.skip>
+ </properties>
+ </profile>
+</profiles>
+
<reporting>
<plugins>
<plugin>