|
15 | 15 | * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
16 | 16 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
17 | 17 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
18 |
| - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ |
19 |
| - |
| 18 | + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ |
| 19 | + |
20 | 20 | package com.esotericsoftware.kryo;
|
21 | 21 |
|
22 | 22 | import java.util.ArrayList;
|
|
26 | 26 | import java.util.Iterator;
|
27 | 27 | import java.util.List;
|
28 | 28 | import java.util.Map;
|
| 29 | +import java.util.Map.Entry; |
29 | 30 |
|
30 | 31 | import org.objenesis.strategy.StdInstantiatorStrategy;
|
31 | 32 |
|
32 | 33 | import com.esotericsoftware.kryo.io.Input;
|
33 | 34 | import com.esotericsoftware.kryo.io.Output;
|
34 |
| -import com.esotericsoftware.kryo.serializers.CollectionSerializer; |
35 | 35 | import com.esotericsoftware.kryo.serializers.CollectionSerializer.BindCollection;
|
36 | 36 | import com.esotericsoftware.kryo.serializers.DefaultArraySerializers.IntArraySerializer;
|
37 | 37 | import com.esotericsoftware.kryo.serializers.DefaultArraySerializers.LongArraySerializer;
|
| 38 | +import com.esotericsoftware.kryo.serializers.DefaultArraySerializers.ObjectArraySerializer; |
38 | 39 | import com.esotericsoftware.kryo.serializers.DefaultSerializers.StringSerializer;
|
39 | 40 | import com.esotericsoftware.kryo.serializers.FieldSerializer;
|
40 | 41 | import com.esotericsoftware.kryo.serializers.FieldSerializer.Bind;
|
41 | 42 | import com.esotericsoftware.kryo.serializers.FieldSerializer.Optional;
|
| 43 | +import com.esotericsoftware.kryo.serializers.MapSerializer; |
| 44 | +import com.esotericsoftware.kryo.serializers.CollectionSerializer; |
42 | 45 | import com.esotericsoftware.kryo.serializers.MapSerializer.BindMap;
|
43 | 46 |
|
44 | 47 | /** @author Nathan Sweet <[email protected]> */
|
@@ -447,13 +450,15 @@ public void testTransients () {
|
447 | 450 | objectWithTransients1.anotherField2 = 5;
|
448 | 451 | objectWithTransients1.anotherField3 = "Field2";
|
449 | 452 |
|
450 |
| - kryo.setCopyTransient(false); |
| 453 | + FieldSerializer<HasTransients> ser = (FieldSerializer<HasTransients>)kryo.getSerializer(HasTransients.class); |
| 454 | + ser.setCopyTransient(false); |
| 455 | + |
451 | 456 | HasTransients objectWithTransients3 = kryo.copy(objectWithTransients1);
|
452 | 457 | assertTrue("Objects should be different if copy does not include transient fields",
|
453 | 458 | !objectWithTransients3.equals(objectWithTransients1));
|
454 | 459 | assertEquals("transient fields should be null", objectWithTransients3.transientField1, null);
|
455 | 460 |
|
456 |
| - kryo.setCopyTransient(true); |
| 461 | + ser.setCopyTransient(true); |
457 | 462 | HasTransients objectWithTransients2 = kryo.copy(objectWithTransients1);
|
458 | 463 | assertEquals("Objects should be equal if copy includes transient fields", objectWithTransients2, objectWithTransients1);
|
459 | 464 | }
|
@@ -1038,4 +1043,4 @@ public boolean equals(Object o) {
|
1038 | 1043 | return true;
|
1039 | 1044 | }
|
1040 | 1045 | }
|
1041 |
| -} |
| 1046 | +} |
0 commit comments