@@ -62,25 +62,26 @@ public static String buildCannedPolicy(String resourceUrl, Instant expirationDat
6262 Validate .notNull (expirationDate , "expirationDate must not be null" );
6363 validateInput (resourceUrl , "resourceUrl" );
6464
65- JsonWriter writer = JsonWriter .create ();
66- writer .writeStartObject ()
67- .writeFieldName ("Statement" )
68- .writeStartArray ()
69- .writeStartObject ()
70- .writeFieldName ("Resource" )
71- .writeValue (resourceUrl )
72- .writeFieldName ("Condition" )
73- .writeStartObject ()
74- .writeFieldName ("DateLessThan" )
75- .writeStartObject ()
76- .writeFieldName ("AWS:EpochTime" )
77- .writeValue (expirationDate .getEpochSecond ())
78- .writeEndObject ()
79- .writeEndObject ()
80- .writeEndObject ()
81- .writeEndArray ()
82- .writeEndObject ();
83- return new String (writer .getBytes (), UTF_8 );
65+ try (JsonWriter writer = JsonWriter .create ()) {
66+ writer .writeStartObject ()
67+ .writeFieldName ("Statement" )
68+ .writeStartArray ()
69+ .writeStartObject ()
70+ .writeFieldName ("Resource" )
71+ .writeValue (resourceUrl )
72+ .writeFieldName ("Condition" )
73+ .writeStartObject ()
74+ .writeFieldName ("DateLessThan" )
75+ .writeStartObject ()
76+ .writeFieldName ("AWS:EpochTime" )
77+ .writeValue (expirationDate .getEpochSecond ())
78+ .writeEndObject ()
79+ .writeEndObject ()
80+ .writeEndObject ()
81+ .writeEndArray ()
82+ .writeEndObject ();
83+ return new String (writer .getBytes (), UTF_8 );
84+ }
8485 }
8586
8687 /**
@@ -102,43 +103,44 @@ public static String buildCustomPolicy(String resourceUrl, Instant activeDate, I
102103 validateInput (ipAddress , "ipAddress" );
103104 }
104105
105- JsonWriter writer = JsonWriter .create ();
106- writer .writeStartObject ()
107- .writeFieldName ("Statement" )
108- .writeStartArray ()
109- .writeStartObject ()
110- .writeFieldName ("Resource" )
111- .writeValue (resourceUrl )
112- .writeFieldName ("Condition" )
113- .writeStartObject ()
114- .writeFieldName ("DateLessThan" )
115- .writeStartObject ()
116- .writeFieldName ("AWS:EpochTime" )
117- .writeValue (expirationDate .getEpochSecond ())
118- .writeEndObject ();
119-
120- if (ipAddress != null ) {
121- writer .writeFieldName ("IpAddress" )
106+ try (JsonWriter writer = JsonWriter .create ()) {
107+ writer .writeStartObject ()
108+ .writeFieldName ("Statement" )
109+ .writeStartArray ()
122110 .writeStartObject ()
123- .writeFieldName ("AWS:SourceIp" )
124- .writeValue (ipAddress )
125- .writeEndObject ();
126- }
127-
128- if (activeDate != null ) {
129- writer .writeFieldName ("DateGreaterThan" )
111+ .writeFieldName ("Resource" )
112+ .writeValue (resourceUrl )
113+ .writeFieldName ("Condition" )
114+ .writeStartObject ()
115+ .writeFieldName ("DateLessThan" )
130116 .writeStartObject ()
131117 .writeFieldName ("AWS:EpochTime" )
132- .writeValue (activeDate .getEpochSecond ())
118+ .writeValue (expirationDate .getEpochSecond ())
133119 .writeEndObject ();
134- }
135120
136- writer .writeEndObject ()
137- .writeEndObject ()
138- .writeEndArray ()
139- .writeEndObject ();
121+ if (ipAddress != null ) {
122+ writer .writeFieldName ("IpAddress" )
123+ .writeStartObject ()
124+ .writeFieldName ("AWS:SourceIp" )
125+ .writeValue (ipAddress )
126+ .writeEndObject ();
127+ }
140128
141- return new String (writer .getBytes (), UTF_8 );
129+ if (activeDate != null ) {
130+ writer .writeFieldName ("DateGreaterThan" )
131+ .writeStartObject ()
132+ .writeFieldName ("AWS:EpochTime" )
133+ .writeValue (activeDate .getEpochSecond ())
134+ .writeEndObject ();
135+ }
136+
137+ writer .writeEndObject ()
138+ .writeEndObject ()
139+ .writeEndArray ()
140+ .writeEndObject ();
141+
142+ return new String (writer .getBytes (), UTF_8 );
143+ }
142144 }
143145
144146 /**
0 commit comments