package org.cagrid.gaards.dorian.service.globus.resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.cagrid.gaards.dorian.common.DorianConstants; import org.cagrid.gaards.dorian.federation.TrustedIdentityProviders; import org.cagrid.gaards.dorian.policy.DorianPolicy; import org.cagrid.gaards.dorian.service.Dorian; import org.cagrid.gaards.dorian.stubs.DorianResourceProperties; import org.globus.wsrf.ResourceProperty; import org.globus.wsrf.ResourcePropertySet; /** * The implementation of this DorianResource type. * * @created by Introduce Toolkit version 1.2 */ public class DorianResource extends DorianResourceBase { private Dorian dorian; private Log log; public DorianResource() { this.log = LogFactory.getLog(this.getClass().getName()); } public ResourcePropertySet getResourcePropertySet() { ResourcePropertySet set = super.getResourcePropertySet(); updateTrustedIdentityProviders(set); updateDorianPolicy(set); return set; } public org.cagrid.gaards.dorian.federation.TrustedIdentityProviders getTrustedIdentityProviders() { updateTrustedIdentityProviders(super.getResourcePropertySet()); return ((DorianResourceProperties) getResourceBean()).getTrustedIdentityProviders(); } private void updateTrustedIdentityProviders(ResourcePropertySet set) { try { TrustedIdentityProviders idps = this.dorian.getTrustedIdentityProviders(); ResourceProperty prop = set.get(DorianConstants.TRUSTEDIDENTITYPROVIDERS); prop.set(0, idps); } catch (Exception e) { log.error(e.getMessage(), e); } } public org.cagrid.gaards.dorian.policy.DorianPolicy getDorianPolicy() { updateDorianPolicy(super.getResourcePropertySet()); return ((DorianResourceProperties) getResourceBean()).getDorianPolicy(); } private void updateDorianPolicy(ResourcePropertySet set) { try { DorianPolicy policy = this.dorian.getDorianPolicy(); ResourceProperty prop = set.get(DorianConstants.DORIANPOLICY); prop.set(0, policy); } catch (Exception e) { log.error(e.getMessage(), e); } } public void setDorian(Dorian dorian) { this.dorian = dorian; } }