@@ -189,8 +189,41 @@ public AccessGroup updateAccessGroup(AccessGroup accessGroup) {
189189
190190 @ Override
191191 public AccessGroup getAccessGroup (AccessGroup accessGroup ) {
192- //TODO
193- return null ;
192+ s_logger .info ("getAccessGroup: Get export policy" );
193+
194+ if (accessGroup == null ) {
195+ throw new CloudRuntimeException ("getAccessGroup: Invalid accessGroup object - accessGroup is null" );
196+ }
197+
198+ // Get PrimaryDataStoreInfo from accessGroup
199+ PrimaryDataStoreInfo primaryDataStoreInfo = accessGroup .getPrimaryDataStoreInfo ();
200+ if (primaryDataStoreInfo == null ) {
201+ throw new CloudRuntimeException ("getAccessGroup: PrimaryDataStoreInfo is null in accessGroup" );
202+ }
203+ s_logger .info ("getAccessGroup: Get export policy for the storage pool {}" , primaryDataStoreInfo .getName ());
204+ try {
205+ String authHeader = Utility .generateAuthHeader (storage .getUsername (), storage .getPassword ());
206+ // Determine export policy attached to the storage pool
207+ String exportPolicyName = primaryDataStoreInfo .getDetails ().get (Constants .EXPORT_POLICY_NAME );
208+ String exportPolicyId = primaryDataStoreInfo .getDetails ().get (Constants .EXPORT_POLICY_ID );
209+
210+ try {
211+ ExportPolicy exportPolicy = nasFeignClient .getExportPolicyById (authHeader ,exportPolicyId );
212+ if (exportPolicy ==null ){
213+ s_logger .error ("getAccessGroup: Failed to retrieve export policy for export policy" );
214+ throw new CloudRuntimeException ("getAccessGroup: Failed to retrieve export policy for export policy" );
215+ }
216+ accessGroup .setPolicy (exportPolicy );
217+ s_logger .info ("getAccessGroup: Successfully fetched export policy '{}'" , exportPolicyName );
218+ } catch (Exception e ) {
219+ s_logger .error ("getAccessGroup: Failed to delete export policy. Exception: {}" , e .getMessage (), e );
220+ throw new CloudRuntimeException ("Failed to delete export policy: " + e .getMessage (), e );
221+ }
222+ } catch (Exception e ) {
223+ s_logger .error ("getAccessGroup: Failed to delete export policy. Exception: {}" , e .getMessage (), e );
224+ throw new CloudRuntimeException ("Failed to delete export policy: " + e .getMessage (), e );
225+ }
226+ return accessGroup ;
194227 }
195228
196229 @ Override
0 commit comments