5858import org .apache .axis2 .databinding .ADBException ;
5959import org .apache .axis2 .databinding .utils .writer .MTOMAwareXMLSerializer ;
6060import org .apache .commons .codec .binary .Base64 ;
61+ import org .apache .commons .io .IOUtils ;
6162import org .apache .log4j .Logger ;
6263import org .springframework .stereotype .Component ;
6364import org .springframework .web .context .support .SpringBeanAutowiringSupport ;
103104import com .amazon .ec2 .StartInstancesResponse ;
104105import com .amazon .ec2 .StopInstancesResponse ;
105106import com .amazon .ec2 .TerminateInstancesResponse ;
106-
107107import com .cloud .bridge .model .UserCredentialsVO ;
108108import com .cloud .bridge .persist .dao .CloudStackUserDaoImpl ;
109109import com .cloud .bridge .persist .dao .OfferingDaoImpl ;
@@ -203,12 +203,16 @@ public void init(ServletConfig config) throws ServletException {
203203 if (null != propertiesFile ) {
204204 logger .info ("Use EC2 properties file: " + propertiesFile .getAbsolutePath ());
205205 EC2Prop = new Properties ();
206+ FileInputStream ec2PropFile = null ;
206207 try {
207- EC2Prop .load (new FileInputStream (propertiesFile ));
208+ ec2PropFile = new FileInputStream (propertiesFile );
209+ EC2Prop .load (ec2PropFile );
208210 } catch (FileNotFoundException e ) {
209211 logger .warn ("Unable to open properties file: " + propertiesFile .getAbsolutePath (), e );
210212 } catch (IOException e ) {
211213 logger .warn ("Unable to read properties file: " + propertiesFile .getAbsolutePath (), e );
214+ } finally {
215+ IOUtils .closeQuietly (ec2PropFile );
212216 }
213217 String keystore = EC2Prop .getProperty ("keystore" );
214218 keystorePassword = EC2Prop .getProperty ("keystorePass" );
@@ -492,7 +496,7 @@ private void setCertificate(HttpServletRequest request, HttpServletResponse resp
492496 response .sendError (530 , "Missing cert parameter" );
493497 return ;
494498 }
495- // logger.debug( "SetCertificate cert: [" + certificate[0] + "]" );
499+ // logger.debug( "SetCertificate cert: [" + certificate[0] + "]" );
496500
497501 String [] accessKey = request .getParameterValues ("AWSAccessKeyId" );
498502 if (null == accessKey || 0 == accessKey .length ) {
@@ -578,12 +582,12 @@ private void deleteCertificate(HttpServletRequest request, HttpServletResponse r
578582 credentialDao.setCertificateId( accessKey[0], null );
579583
580584 */ txn = TransactionLegacy .open (TransactionLegacy .AWSAPI_DB );
581- UserCredentialsVO user = ucDao .getByAccessKey (accessKey [0 ]);
582- user .setCertUniqueId (null );
583- ucDao .update (user .getId (), user );
584- response .setStatus (200 );
585- endResponse (response , "User certificate deleted successfully" );
586- txn .commit ();
585+ UserCredentialsVO user = ucDao .getByAccessKey (accessKey [0 ]);
586+ user .setCertUniqueId (null );
587+ ucDao .update (user .getId (), user );
588+ response .setStatus (200 );
589+ endResponse (response , "User certificate deleted successfully" );
590+ txn .commit ();
587591 } else
588592 response .setStatus (404 );
589593
@@ -830,7 +834,7 @@ private void revokeSecurityGroupIngress(HttpServletRequest request, HttpServletR
830834
831835 // -> execute the request
832836 RevokeSecurityGroupIngressResponse EC2response =
833- EC2SoapServiceImpl .toRevokeSecurityGroupIngressResponse (ServiceProvider .getInstance ().getEC2Engine ().revokeSecurityGroup (EC2request ));
837+ EC2SoapServiceImpl .toRevokeSecurityGroupIngressResponse (ServiceProvider .getInstance ().getEC2Engine ().revokeSecurityGroup (EC2request ));
834838 serializeResponse (response , EC2response );
835839 }
836840
@@ -915,7 +919,7 @@ private void authorizeSecurityGroupIngress(HttpServletRequest request, HttpServl
915919
916920 // -> execute the request
917921 AuthorizeSecurityGroupIngressResponse EC2response =
918- EC2SoapServiceImpl .toAuthorizeSecurityGroupIngressResponse (ServiceProvider .getInstance ().getEC2Engine ().authorizeSecurityGroup (EC2request ));
922+ EC2SoapServiceImpl .toAuthorizeSecurityGroupIngressResponse (ServiceProvider .getInstance ().getEC2Engine ().authorizeSecurityGroup (EC2request ));
919923 serializeResponse (response , EC2response );
920924 }
921925
@@ -1012,7 +1016,7 @@ private void createSecurityGroup(HttpServletRequest request, HttpServletResponse
10121016
10131017 // -> execute the request
10141018 CreateSecurityGroupResponse EC2response =
1015- EC2SoapServiceImpl .toCreateSecurityGroupResponse (ServiceProvider .getInstance ().getEC2Engine ().createSecurityGroup (groupName , groupDescription ));
1019+ EC2SoapServiceImpl .toCreateSecurityGroupResponse (ServiceProvider .getInstance ().getEC2Engine ().createSecurityGroup (groupName , groupDescription ));
10161020 serializeResponse (response , EC2response );
10171021 }
10181022
@@ -1028,7 +1032,7 @@ private void deleteSecurityGroup(HttpServletRequest request, HttpServletResponse
10281032
10291033 // -> execute the request
10301034 DeleteSecurityGroupResponse EC2response =
1031- EC2SoapServiceImpl .toDeleteSecurityGroupResponse (ServiceProvider .getInstance ().getEC2Engine ().deleteSecurityGroup (groupName ));
1035+ EC2SoapServiceImpl .toDeleteSecurityGroupResponse (ServiceProvider .getInstance ().getEC2Engine ().deleteSecurityGroup (groupName ));
10321036 serializeResponse (response , EC2response );
10331037 }
10341038
@@ -1166,7 +1170,7 @@ private void modifyImageAttribute(HttpServletRequest request, HttpServletRespons
11661170
11671171 // -> execute the request
11681172 ModifyImageAttributeResponse EC2response =
1169- EC2SoapServiceImpl .toModifyImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyImageAttribute (ec2request ));
1173+ EC2SoapServiceImpl .toModifyImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyImageAttribute (ec2request ));
11701174 serializeResponse (response , EC2response );
11711175 }
11721176
@@ -1231,7 +1235,7 @@ private void resetImageAttribute(HttpServletRequest request, HttpServletResponse
12311235
12321236 // -> execute the request
12331237 ResetImageAttributeResponse EC2response =
1234- EC2SoapServiceImpl .toResetImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyImageAttribute (ec2request ));
1238+ EC2SoapServiceImpl .toResetImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyImageAttribute (ec2request ));
12351239 serializeResponse (response , EC2response );
12361240 }
12371241
@@ -1443,7 +1447,7 @@ private void describeAvailabilityZones(HttpServletRequest request, HttpServletRe
14431447
14441448 // -> execute the request
14451449 DescribeAvailabilityZonesResponse EC2response =
1446- EC2SoapServiceImpl .toDescribeAvailabilityZonesResponse (ServiceProvider .getInstance ().getEC2Engine ().describeAvailabilityZones (EC2request ));
1450+ EC2SoapServiceImpl .toDescribeAvailabilityZonesResponse (ServiceProvider .getInstance ().getEC2Engine ().describeAvailabilityZones (EC2request ));
14471451 serializeResponse (response , EC2response );
14481452 }
14491453
@@ -1499,7 +1503,7 @@ else if (attribute[0].equalsIgnoreCase("launchPermission"))
14991503 }
15001504
15011505 DescribeImageAttributeResponse EC2response =
1502- EC2SoapServiceImpl .toDescribeImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().describeImageAttribute (ec2request ));
1506+ EC2SoapServiceImpl .toDescribeImageAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().describeImageAttribute (ec2request ));
15031507 serializeResponse (response , EC2response );
15041508 }
15051509
@@ -1677,7 +1681,7 @@ private void describeInstanceAttribute(HttpServletRequest request, HttpServletRe
16771681
16781682 // -> execute the request
16791683 DescribeInstanceAttributeResponse EC2response =
1680- EC2SoapServiceImpl .toDescribeInstanceAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().describeInstances (EC2request ));
1684+ EC2SoapServiceImpl .toDescribeInstanceAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().describeInstances (EC2request ));
16811685 serializeResponse (response , EC2response );
16821686 }
16831687
@@ -1707,7 +1711,7 @@ private void modifyInstanceAttribute(HttpServletRequest request, HttpServletResp
17071711
17081712 // -> execute the request
17091713 ModifyInstanceAttributeResponse EC2response =
1710- EC2SoapServiceImpl .toModifyInstanceAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyInstanceAttribute (ec2Request ));
1714+ EC2SoapServiceImpl .toModifyInstanceAttributeResponse (ServiceProvider .getInstance ().getEC2Engine ().modifyInstanceAttribute (ec2Request ));
17111715 serializeResponse (response , EC2response );
17121716 }
17131717
@@ -1766,7 +1770,7 @@ private void describeVolumes(HttpServletRequest request, HttpServletResponse res
17661770 // -> execute the request
17671771 EC2Engine engine = ServiceProvider .getInstance ().getEC2Engine ();
17681772 DescribeVolumesResponse EC2response =
1769- EC2SoapServiceImpl .toDescribeVolumesResponse (ServiceProvider .getInstance ().getEC2Engine ().describeVolumes (EC2request ), engine );
1773+ EC2SoapServiceImpl .toDescribeVolumesResponse (ServiceProvider .getInstance ().getEC2Engine ().describeVolumes (EC2request ), engine );
17701774 serializeResponse (response , EC2response );
17711775 }
17721776
@@ -1988,7 +1992,7 @@ private void describeTags(HttpServletRequest request, HttpServletResponse respon
19881992 * parameter to see if the signature has expired and if so the request fails.
19891993 */
19901994 private boolean authenticateRequest (HttpServletRequest request , HttpServletResponse response ) throws SignatureException , IOException , InstantiationException ,
1991- IllegalAccessException , ClassNotFoundException , SQLException , ParseException {
1995+ IllegalAccessException , ClassNotFoundException , SQLException , ParseException {
19921996 String cloudSecretKey = null ;
19931997 String cloudAccessKey = null ;
19941998 String signature = null ;
0 commit comments