You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/09/01 15:40:54 UTC
[07/14] ignite git commit: Merge remote-tracking branch
'remotes/apache-git/master' into ignite-1273
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
index 6e75d89,0000000..1126a3c
mode 100644,000000..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableObjectArrayLazyValue.java
@@@ -1,90 -1,0 +1,91 @@@
+/*
+ * 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.internal.portable.builder;
+
- import org.apache.ignite.internal.portable.*;
- import org.apache.ignite.internal.util.typedef.internal.*;
- import org.apache.ignite.portable.*;
++import org.apache.ignite.internal.portable.GridPortableMarshaller;
++import org.apache.ignite.internal.portable.PortableWriterExImpl;
++import org.apache.ignite.internal.util.typedef.internal.U;
++import org.apache.ignite.portable.PortableInvalidClassException;
+
+/**
+ *
+ */
+class PortableObjectArrayLazyValue extends PortableAbstractLazyValue {
+ /** */
+ private Object[] lazyValsArr;
+
+ /** */
+ private int compTypeId;
+
+ /** */
+ private String clsName;
+
+ /**
+ * @param reader Reader.
+ */
+ protected PortableObjectArrayLazyValue(PortableBuilderReader reader) {
+ super(reader, reader.position() - 1);
+
+ int typeId = reader.readInt();
+
+ if (typeId == GridPortableMarshaller.UNREGISTERED_TYPE_ID) {
+ clsName = reader.readString();
+
+ Class cls;
+
+ try {
+ // TODO: IGNITE-1272 - Is class loader needed here?
+ cls = U.forName(reader.readString(), null);
+ }
+ catch (ClassNotFoundException e) {
+ throw new PortableInvalidClassException("Failed to load the class: " + clsName, e);
+ }
+
+ compTypeId = reader.portableContext().descriptorForClass(cls).typeId();
+ }
+ else {
+ compTypeId = typeId;
+ clsName = null;
+ }
+
+ int size = reader.readInt();
+
+ lazyValsArr = new Object[size];
+
+ for (int i = 0; i < size; i++)
+ lazyValsArr[i] = reader.parseValue();
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Object init() {
+ for (int i = 0; i < lazyValsArr.length; i++) {
+ if (lazyValsArr[i] instanceof PortableLazyValue)
+ lazyValsArr[i] = ((PortableLazyValue)lazyValsArr[i]).value();
+ }
+
+ return lazyValsArr;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeTo(PortableWriterExImpl writer, PortableBuilderSerializer ctx) {
+ if (clsName == null)
+ ctx.writeArray(writer, GridPortableMarshaller.OBJ_ARR, lazyValsArr, compTypeId);
+ else
+ ctx.writeArray(writer, GridPortableMarshaller.OBJ_ARR, lazyValsArr, clsName);
+ }
- }
++}
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
index 42a670e,0000000..8743fbe
mode 100644,000000..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortablePlainPortableObject.java
@@@ -1,51 -1,0 +1,53 @@@
+/*
+ * 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.internal.portable.builder;
+
- import org.apache.ignite.internal.portable.*;
- import org.apache.ignite.portable.*;
++import org.apache.ignite.internal.portable.PortableObjectImpl;
++import org.apache.ignite.internal.portable.PortableObjectOffheapImpl;
++import org.apache.ignite.internal.portable.PortableWriterExImpl;
++import org.apache.ignite.portable.PortableObject;
+
+/**
+ *
+ */
+public class PortablePlainPortableObject implements PortableLazyValue {
+ /** */
+ private final PortableObject portableObj;
+
+ /**
+ * @param portableObj Portable object.
+ */
+ public PortablePlainPortableObject(PortableObject portableObj) {
+ this.portableObj = portableObj;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object value() {
+ return portableObj;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeTo(PortableWriterExImpl writer, PortableBuilderSerializer ctx) {
+ PortableObject val = portableObj;
+
+ if (val instanceof PortableObjectOffheapImpl)
+ val = ((PortableObjectOffheapImpl)val).heapCopy();
+
+ writer.doWritePortableObject((PortableObjectImpl)val);
+ }
- }
++}
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
index 61fd52f,0000000..2e031f0
mode 100644,000000..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableValueWithType.java
@@@ -1,75 -1,0 +1,75 @@@
+/*
+ * 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.internal.portable.builder;
+
- import org.apache.ignite.internal.portable.*;
- import org.apache.ignite.internal.processors.cache.portable.*;
- import org.apache.ignite.internal.util.typedef.internal.*;
++import org.apache.ignite.internal.portable.PortableWriterExImpl;
++import org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl;
++import org.apache.ignite.internal.util.typedef.internal.S;
+
+/**
+ *
+ */
+class PortableValueWithType implements PortableLazyValue {
+ /** */
+ private byte type;
+
+ /** */
+ private Object val;
+
+ /**
+ * @param type Type
+ * @param val Value.
+ */
+ PortableValueWithType(byte type, Object val) {
+ this.type = type;
+ this.val = val;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeTo(PortableWriterExImpl writer, PortableBuilderSerializer ctx) {
+ if (val instanceof PortableBuilderSerializationAware)
+ ((PortableBuilderSerializationAware)val).writeTo(writer, ctx);
+ else
+ ctx.writeValue(writer, val);
+ }
+
+ /** {@inheritDoc} */
+ public String typeName() {
+ return CacheObjectPortableProcessorImpl.fieldTypeName(type);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object value() {
+ if (val instanceof PortableLazyValue)
+ return ((PortableLazyValue)val).value();
+
+ return val;
+ }
+
+ /**
+ * @param val New value.
+ */
+ public void value(Object val) {
+ this.val = val;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(PortableValueWithType.class, this);
+ }
- }
++}
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java
index d8d85ed,488361c..61ec714
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableBuilderAdditionalSelfTest.java
@@@ -17,28 -17,49 +17,52 @@@
package org.apache.ignite.internal.portable;
- import org.apache.ignite.*;
- import org.apache.ignite.configuration.*;
- import org.apache.ignite.internal.portable.builder.*;
- import org.apache.ignite.internal.portable.mutabletest.*;
- import org.apache.ignite.internal.processors.cache.portable.*;
- import org.apache.ignite.internal.util.lang.*;
- import org.apache.ignite.marshaller.portable.*;
- import org.apache.ignite.portable.*;
- import org.apache.ignite.testframework.*;
- import org.apache.ignite.testframework.junits.common.*;
-
- import com.google.common.collect.*;
- import org.junit.*;
-
- import java.lang.reflect.*;
- import java.math.*;
- import java.sql.*;
- import java.util.*;
+ import com.google.common.collect.ImmutableMap;
+ import com.google.common.collect.Lists;
+ import com.google.common.collect.Maps;
+ import com.google.common.collect.Sets;
+ import java.lang.reflect.Field;
++import java.math.BigDecimal;
+ import java.sql.Timestamp;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ import java.util.Collections;
import java.util.Date;
-
- import static org.apache.ignite.cache.CacheMode.*;
- import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.*;
+ import java.util.HashSet;
+ import java.util.LinkedList;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Objects;
+ import java.util.Set;
+ import java.util.UUID;
+ import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.IgnitePortables;
+ import org.apache.ignite.configuration.CacheConfiguration;
+ import org.apache.ignite.configuration.IgniteConfiguration;
++import org.apache.ignite.internal.portable.builder.PortableBuilderEnum;
++import org.apache.ignite.internal.portable.builder.PortableBuilderImpl;
+ import org.apache.ignite.internal.portable.mutabletest.GridPortableMarshalerAwareTestClass;
+ import org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl;
+ import org.apache.ignite.internal.processors.cache.portable.IgnitePortablesImpl;
+ import org.apache.ignite.internal.util.lang.GridMapEntry;
+ import org.apache.ignite.marshaller.portable.PortableMarshaller;
+ import org.apache.ignite.portable.PortableBuilder;
+ import org.apache.ignite.portable.PortableMetadata;
+ import org.apache.ignite.portable.PortableObject;
+ import org.apache.ignite.testframework.GridTestUtils;
+ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+ import org.junit.Assert;
+
+ import static org.apache.ignite.cache.CacheMode.REPLICATED;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.Address;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.AddressBook;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.Company;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectAllTypes;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectArrayList;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectContainer;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectEnum;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectInner;
+ import static org.apache.ignite.internal.portable.mutabletest.GridPortableTestClasses.TestObjectOuter;
/**
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java
index 28ccee6,d329818..05df23b
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataDisabledSelfTest.java
@@@ -16,13 -16,16 +16,17 @@@
*/
package org.apache.ignite.internal.portable;
- import org.apache.ignite.*;
- import org.apache.ignite.configuration.*;
- import org.apache.ignite.marshaller.portable.*;
- import org.apache.ignite.portable.*;
- import org.apache.ignite.testframework.junits.common.*;
-
- import java.util.*;
+ import java.util.Arrays;
+ import org.apache.ignite.IgnitePortables;
+ import org.apache.ignite.configuration.IgniteConfiguration;
+ import org.apache.ignite.marshaller.portable.PortableMarshaller;
++import org.apache.ignite.portable.PortableBuilder;
+ import org.apache.ignite.portable.PortableException;
+ import org.apache.ignite.portable.PortableMarshalAware;
+ import org.apache.ignite.portable.PortableReader;
+ import org.apache.ignite.portable.PortableTypeConfiguration;
+ import org.apache.ignite.portable.PortableWriter;
+ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
/**
* Test for disabled meta data.
@@@ -223,12 -218,4 +227,12 @@@ public class GridPortableMetaDataDisabl
// No-op.
}
}
+
+ /**
+ */
+ @SuppressWarnings("UnusedDeclaration")
+ private static class TestObject3 {
+ /** */
+ private int field;
+ }
- }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java
index 4c91ec5,f6d7627..9054297
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMetaDataSelfTest.java
@@@ -349,12 -349,4 +358,12 @@@ public class GridPortableMetaDataSelfTe
// No-op.
}
}
+
+ /**
+ */
+ @SuppressWarnings("UnusedDeclaration")
+ private static class TestObject3 {
+ /** */
+ private int intVal;
+ }
- }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java
index 09404bc,ce97a8d..e49514b
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/mutabletest/GridPortableTestClasses.java
@@@ -17,14 -17,20 +17,21 @@@
package org.apache.ignite.internal.portable.mutabletest;
- import org.apache.ignite.internal.util.lang.*;
- import org.apache.ignite.portable.*;
-
- import com.google.common.base.*;
-
- import java.io.*;
- import java.math.*;
- import java.util.*;
+ import com.google.common.base.Throwables;
+ import java.io.ByteArrayOutputStream;
+ import java.io.IOException;
+ import java.io.ObjectOutput;
+ import java.io.ObjectOutputStream;
+ import java.io.Serializable;
++import java.math.BigDecimal;
+ import java.util.ArrayList;
+ import java.util.Date;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.TreeMap;
+ import java.util.UUID;
+ import org.apache.ignite.internal.util.lang.GridMapEntry;
+ import org.apache.ignite.portable.PortableObject;
/**
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/979043dd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCacheClientNodePortableMetadataMultinodeTest.java
----------------------------------------------------------------------