Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2768E181A5 for ; Wed, 8 Jul 2015 13:19:53 +0000 (UTC) Received: (qmail 87610 invoked by uid 500); 8 Jul 2015 13:19:53 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 87538 invoked by uid 500); 8 Jul 2015 13:19:53 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 87520 invoked by uid 99); 8 Jul 2015 13:19:53 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jul 2015 13:19:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 96FB9D3082 for ; Wed, 8 Jul 2015 13:19:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.115 X-Spam-Level: * X-Spam-Status: No, score=1.115 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.666, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id Fsd2emnLXO-r for ; Wed, 8 Jul 2015 13:19:47 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with SMTP id 10D8C4E24A for ; Wed, 8 Jul 2015 13:18:36 +0000 (UTC) Received: (qmail 85651 invoked by uid 99); 8 Jul 2015 13:18:16 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jul 2015 13:18:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 18043E6815; Wed, 8 Jul 2015 13:18:16 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.incubator.apache.org Date: Wed, 08 Jul 2015 13:18:51 -0000 Message-Id: <09a69d8433aa4f4dbe5e5e4e56e862b7@git.apache.org> In-Reply-To: <878e9e6609994fb0a1ee7fc838eaf6f9@git.apache.org> References: <878e9e6609994fb0a1ee7fc838eaf6f9@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [37/50] incubator-ignite git commit: Added benchmarks. Added benchmarks. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/946b08ba Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/946b08ba Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/946b08ba Branch: refs/heads/ignite-648-failover Commit: 946b08ba435813881920f8547d7cff36a9faf9a2 Parents: 4031db7 Author: nikolay_tikhonov Authored: Wed Jul 8 12:30:41 2015 +0300 Committer: nikolay_tikhonov Committed: Wed Jul 8 12:30:41 2015 +0300 ---------------------------------------------------------------------- .../config/benchmark-index-put.properties | 64 +++++ modules/yardstick/config/ignite-base-config.xml | 23 ++ .../cache/IgnitePutIndex1Benchmark.java | 42 ++++ .../cache/IgnitePutIndex2Benchmark.java | 42 ++++ .../cache/IgnitePutIndex8Benchmark.java | 42 ++++ .../ignite/yardstick/cache/model/Person1.java | 78 ++++++ .../ignite/yardstick/cache/model/Person2.java | 104 ++++++++ .../ignite/yardstick/cache/model/Person8.java | 242 +++++++++++++++++++ 8 files changed, 637 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/config/benchmark-index-put.properties ---------------------------------------------------------------------- diff --git a/modules/yardstick/config/benchmark-index-put.properties b/modules/yardstick/config/benchmark-index-put.properties new file mode 100644 index 0000000..fb73656 --- /dev/null +++ b/modules/yardstick/config/benchmark-index-put.properties @@ -0,0 +1,64 @@ +# 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. + +# +# Contains benchmarks for SQL queries. +# + +# JVM options. +# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" + +# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses. +JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" \ + -XX:+UseParNewGC \ + -XX:+UseConcMarkSweepGC \ + -XX:+UseTLAB \ + -XX:NewSize=128m \ + -XX:MaxNewSize=128m \ + -XX:MaxTenuringThreshold=0 \ + -XX:SurvivorRatio=1024 \ + -XX:+UseCMSInitiatingOccupancyOnly \ + -XX:CMSInitiatingOccupancyFraction=60 \ +" + +# List of default probes. +# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux). +BENCHMARK_DEFAULT_PROBES=ThroughputLatencyProbe,PercentileProbe + +# Packages where the specified benchmark is searched by reflection mechanism. +BENCHMARK_PACKAGES=org.yardstickframework,org.apache.ignite.yardstick + +# Probe point writer class name. +# BENCHMARK_WRITER= + +# Comma-separated list of the hosts to run BenchmarkServers on. 2 nodes on local host are enabled by default. +SERVER_HOSTS=localhost,localhost + +# Comma-separated list of the hosts to run BenchmarkDrivers on. 1 node on local host is enabled by default. +DRIVER_HOSTS=localhost + +# Remote username. +# REMOTE_USER= + +# Number of nodes, used to wait for the specified number of nodes to start. +nodesNum=$((`echo ${SERVER_HOSTS} | tr ',' '\n' | wc -l` + `echo ${DRIVER_HOSTS} | tr ',' '\n' | wc -l`)) + +# Run configuration. +# Note that each benchmark is set to run for 300 seconds (5 mins) with warm-up set to 60 seconds (1 minute). +CONFIGS="\ +-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex1Benchmark -sn IgniteNode -ds atomic-indexed1-put,\ +-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex2Benchmark -sn IgniteNode -ds atomic-indexed2-put,\ +-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex8Benchmark -sn IgniteNode -ds atomic-indexed8-put\ +" http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/config/ignite-base-config.xml ---------------------------------------------------------------------- diff --git a/modules/yardstick/config/ignite-base-config.xml b/modules/yardstick/config/ignite-base-config.xml index 9d28774..b2c976a 100644 --- a/modules/yardstick/config/ignite-base-config.xml +++ b/modules/yardstick/config/ignite-base-config.xml @@ -104,6 +104,29 @@ + + + + + + + + + + + java.lang.Integer + org.apache.ignite.yardstick.cache.model.Person1 + + java.lang.Integer + org.apache.ignite.yardstick.cache.model.Person2 + + java.lang.Integer + org.apache.ignite.yardstick.cache.model.Person8 + + + + + http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java new file mode 100644 index 0000000..65dd39a --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache; + +import org.apache.ignite.*; +import org.apache.ignite.yardstick.cache.model.*; + +import java.util.*; + +/** + * Ignite benchmark that performs put operations for entity with indexed fields. + */ +public class IgnitePutIndex1Benchmark extends IgniteCacheAbstractBenchmark { + /** {@inheritDoc} */ + @Override public boolean test(Map ctx) throws Exception { + int key = nextRandom(args.range()); + + cache.put(key, new Person1(key)); + + return true; + } + + /** {@inheritDoc} */ + @Override protected IgniteCache cache() { + return ignite().cache("atomic-index"); + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java new file mode 100644 index 0000000..b4cf86f --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache; + +import org.apache.ignite.*; +import org.apache.ignite.yardstick.cache.model.*; + +import java.util.*; + +/** + * Ignite benchmark that performs put operations for entity with indexed fields. + */ +public class IgnitePutIndex2Benchmark extends IgniteCacheAbstractBenchmark { + /** {@inheritDoc} */ + @Override public boolean test(Map ctx) throws Exception { + int key = nextRandom(args.range()); + + cache.put(key, new Person2(key, key + 1)); + + return true; + } + + /** {@inheritDoc} */ + @Override protected IgniteCache cache() { + return ignite().cache("atomic-index"); + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java new file mode 100644 index 0000000..542a139 --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache; + +import org.apache.ignite.*; +import org.apache.ignite.yardstick.cache.model.*; + +import java.util.*; + +/** + * Ignite benchmark that performs put operations for entity with indexed fields. + */ +public class IgnitePutIndex8Benchmark extends IgniteCacheAbstractBenchmark { + /** {@inheritDoc} */ + @Override public boolean test(Map ctx) throws Exception { + int key = nextRandom(args.range()); + + cache.put(key, new Person8(key, key + 1, key + 2, key + 3, key + 4, key + 5, key + 6, key + 7)); + + return true; + } + + /** {@inheritDoc} */ + @Override protected IgniteCache cache() { + return ignite().cache("atomic-index"); + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java new file mode 100644 index 0000000..0b2a0bf --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java @@ -0,0 +1,78 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache.model; + +import org.apache.ignite.cache.query.annotations.*; + +import java.io.*; + +/** + * Value used for indexed put test. + */ +public class Person1 implements Serializable { + /** Value. */ + @QuerySqlField(index = true) + private int val1; + + /** + * Empty constructor. + */ + public Person1() { + // No-op. + } + + /** + * Constructs. + * + * @param val1 Indexed value. + */ + public Person1(int val1) { + this.val1 = val1; + } + + /** + * @return Get value. + */ + public int getVal1() { + return val1; + } + + /** + * Set value. + * + * @param val1 Value. + */ + public void setVal1(int val1) { + this.val1 = val1; + } + + /** {@inheritDoc} */ + @Override public boolean equals(Object o) { + return this == o || (o instanceof Person1) && val1 == ((Person1)o).val1; + } + + /** {@inheritDoc} */ + @Override public int hashCode() { + return val1; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return "IndexedValue1 [val1=" + val1 + ']'; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java new file mode 100644 index 0000000..3b1cb9e --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java @@ -0,0 +1,104 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache.model; + +import org.apache.ignite.cache.query.annotations.*; + +import java.io.*; + +/** + * Value used for indexed put test. + */ +public class Person2 implements Serializable { + /** Value 1. */ + @QuerySqlField(index = true) + private int val1; + + /** Value 2. */ + @QuerySqlField(index = true) + private int val2; + + /** + * Empty constructor. + */ + public Person2() { + // No-op. + } + + /** + * Constructs. + */ + public Person2(int val1, int val2) { + this.val1 = val1; + this.val2 = val2; + } + + /** + * @return Get value. + */ + public int getVal1() { + return val1; + } + + /** + * Set value. + * + * @param val1 Value. + */ + public void setVal1(int val1) { + this.val1 = val1; + } + + /** + * @return Get value. + */ + public int getVal2() { + return val2; + } + + /** + * Set value. + * + * @param val2 Value. + */ + public void setVal2(int val2) { + this.val2 = val2; + } + + /** {@inheritDoc} */ + @Override public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + + Person2 value2 = (Person2)o; + + return val1 == value2.val1 && val2 == value2.val2; + } + + /** {@inheritDoc} */ + @Override public int hashCode() { + return 31 * val1 + val2; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return "IndexedValue2 [val1=" + val1 + ", val2=" + val2 + ']'; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java new file mode 100644 index 0000000..b8e3f7c --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java @@ -0,0 +1,242 @@ +/* + * 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. + */ + +package org.apache.ignite.yardstick.cache.model; + +import org.apache.ignite.cache.query.annotations.*; + +import java.io.*; + +/** + * Value used for indexed put test. + */ +public class Person8 implements Serializable { + /** Value 1. */ + @QuerySqlField(index = true) + private int val1; + + /** Value 2. */ + @QuerySqlField(index = true) + private int val2; + + /** Value 3. */ + @QuerySqlField(index = true) + private int val3; + + /** Value 4. */ + @QuerySqlField(index = true) + private int val4; + + /** Value 5. */ + @QuerySqlField(index = true) + private int val5; + + /** Value 6. */ + @QuerySqlField(index = true) + private int val6; + + /** Value 7. */ + @QuerySqlField(index = true) + private int val7; + + /** Value 8. */ + @QuerySqlField(index = true) + private int val8; + + /** + * Empty constructor. + */ + public Person8() { + // No-op. + } + + /** + * Constructs. + */ + public Person8(int val1, int val2, int val3, int val4, int val5, int val6, int val7, int val8) { + this.val1 = val1; + this.val2 = val2; + this.val3 = val3; + this.val4 = val4; + this.val5 = val5; + this.val6 = val6; + this.val7 = val7; + this.val8 = val8; + } + + /** + * @return Get value. + */ + public int getVal1() { + return val1; + } + + /** + * Set value. + * + * @param val1 Value. + */ + public void setVal1(int val1) { + this.val1 = val1; + } + + /** + * @return Get value. + */ + public int getVal2() { + return val2; + } + + /** + * Set value. + * + * @param val2 Value. + */ + public void setVal2(int val2) { + this.val2 = val2; + } + + /** + * @return Get value. + */ + public int getVal3() { + return val3; + } + + /** + * Set value. + * + * @param val3 Value. + */ + public void setVal3(int val3) { + this.val3 = val3; + } + + /** + * @return Get value. + */ + public int getVal4() { + return val4; + } + + /** + * Set value. + * + * @param val4 Value. + */ + public void setVal4(int val4) { + this.val4 = val4; + } + + /** + * @return Get value. + */ + public int getVal5() { + return val5; + } + + /** + * Set value. + * + * @param val5 Value. + */ + public void setVal5(int val5) { + this.val5 = val5; + } + + /** + * @return Get value. + */ + public int getVal6() { + return val6; + } + + /** + * Set value. + * + * @param val6 Value. + */ + public void setVal6(int val6) { + this.val6 = val6; + } + + /** + * @return Get value. + */ + public int getVal7() { + return val7; + } + + /** + * Set value. + * + * @param val7 Value. + */ + public void setVal7(int val7) { + this.val7 = val7; + } + + /** + * @return Get value. + */ + public int getVal8() { + return val8; + } + + /** + * Set value. + * + * @param val8 Value. + */ + public void setVal8(int val8) { + this.val8 = val8; + } + + /** {@inheritDoc} */ + @Override public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + + Person8 p8 = (Person8)o; + + return val1 == p8.val1 && val2 == p8.val2 && val3 == p8.val3 && val4 == p8.val4 + && val5 == p8.val5 && val6 == p8.val6 && val7 == p8.val7 && val8 == p8.val8; + } + + /** {@inheritDoc} */ + @Override public int hashCode() { + int result = val1; + + result = 31 * result + val2; + result = 31 * result + val3; + result = 31 * result + val4; + result = 31 * result + val5; + result = 31 * result + val6; + result = 31 * result + val7; + result = 31 * result + val8; + + return result; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return "Person8 [val1=" + val1 + ", val2=" + val2 + ", val3=" + val3 + ", val4=" + val4 + ", val5=" + val5 + + ", val6=" + val6 + ", val7=" + val7 + ", val8=" + val8 +']'; + } +}