@@ -50,65 +50,6 @@ protected void validate(PutObjectArgs args) {
5050 validateNotNull (args .stream , "stream" );
5151 }
5252
53- private void validateSizes (long objectSize , long partSize ) {
54- if (partSize > 0 ) {
55- if (partSize < MIN_MULTIPART_SIZE ) {
56- throw new IllegalArgumentException (
57- "part size " + partSize + " is not supported; minimum allowed 5MiB" );
58- }
59-
60- if (partSize > MAX_PART_SIZE ) {
61- throw new IllegalArgumentException (
62- "part size " + partSize + " is not supported; maximum allowed 5GiB" );
63- }
64- }
65-
66- if (objectSize >= 0 ) {
67- if (objectSize > MAX_OBJECT_SIZE ) {
68- throw new IllegalArgumentException (
69- "object size " + objectSize + " is not supported; maximum allowed 5TiB" );
70- }
71- } else if (partSize <= 0 ) {
72- throw new IllegalArgumentException (
73- "valid part size must be provided when object size is unknown" );
74- }
75- }
76-
77- private void validatePartCount (int partCount , long objectSize , long partSize ) {
78- if (partCount > MAX_MULTIPART_COUNT ) {
79- throw new IllegalArgumentException (
80- "object size "
81- + objectSize
82- + " and part size "
83- + partSize
84- + " make more than "
85- + MAX_MULTIPART_COUNT
86- + "parts for upload" );
87- }
88- }
89-
90- private long [] partInfo (long objectSize , long partSize ) {
91- if (objectSize < 0 ) {
92- return new long [] {partSize , -1 };
93- }
94-
95- if (partSize > 0 ) {
96- if (partSize > objectSize ) partSize = objectSize ;
97- long partCount = partSize > 0 ? (long ) Math .ceil ((double ) objectSize / partSize ) : 1 ;
98- return new long [] {partSize , partCount == 0 ? 1 : partCount };
99- }
100-
101- double pSize = Math .ceil ((double ) objectSize / MAX_MULTIPART_COUNT );
102- pSize = Math .ceil (pSize / MIN_MULTIPART_SIZE ) * MIN_MULTIPART_SIZE ;
103- partSize = (long ) pSize ;
104- long partCount = 1 ;
105- if (pSize > 0 ) {
106- partCount = (long ) Math .ceil (objectSize / pSize );
107- }
108-
109- return new long [] {partSize , partCount };
110- }
111-
11253 /**
11354 * Sets stream to upload. Two ways to provide object/part sizes.
11455 *
@@ -123,12 +64,10 @@ private long[] partInfo(long objectSize, long partSize) {
12364 */
12465 public Builder stream (InputStream stream , long objectSize , long partSize ) {
12566 validateNotNull (stream , "stream" );
126- validateSizes (objectSize , partSize );
12767
128- long [] partinfo = partInfo (objectSize , partSize );
68+ long [] partinfo = getPartInfo (objectSize , partSize );
12969 long pSize = partinfo [0 ];
13070 int pCount = (int ) partinfo [1 ];
131- validatePartCount (pCount , objectSize , partSize );
13271
13372 final BufferedInputStream bis =
13473 (stream instanceof BufferedInputStream )
0 commit comments