JsArray<JsPerspective> jsperspectives =
JsPerspective.parseJson( JsonUtils.escapeJsonForEval( response.getText() ) );
ArrayList<IPluginPerspective> perspectives = new ArrayList<IPluginPerspective>();
for ( int i = 0; i < jsperspectives.length(); i++ ) {
JsPerspective jsperspective = jsperspectives.get( i );
DefaultPluginPerspective perspective = new DefaultPluginPerspective();
perspective.setContentUrl( jsperspective.getContentUrl() );
perspective.setId( jsperspective.getId() );
perspective.setLayoutPriority( Integer.parseInt( jsperspective.getLayoutPriority() ) );
ArrayList<String> requiredSecurityActions = new ArrayList<String>();
if ( jsperspective.getRequiredSecurityActions() != null ) {
for ( int j = 0; j < jsperspective.getRequiredSecurityActions().length(); j++ ) {
requiredSecurityActions.add( jsperspective.getRequiredSecurityActions().get( j ) );
}
}
// will need to iterate over jsoverlays and convert to MantleXulOverlay
ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>();
if ( jsperspective.getOverlays() != null ) {
for ( int j = 0; j < jsperspective.getOverlays().length(); j++ ) {
JsXulOverlay o = jsperspective.getOverlays().get( j );
MantleXulOverlay overlay =
new MantleXulOverlay( o.getId(), o.getOverlayUri(), o.getSource(), o.getResourceBundleUri() );
overlays.add( overlay );
}
}
perspective.setOverlays( overlays );
perspective.setRequiredSecurityActions( requiredSecurityActions );
perspective.setResourceBundleUri( jsperspective.getResourceBundleUri() );
perspective.setTitle( jsperspective.getTitle() );
perspectives.add( perspective );
}
setPluginPerspectives( perspectives );