blob: 46e762e023297948dfadf78ce177b9483b776ccf [file] [log] [blame]
/***************************************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
* accompanying materials are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: IBM Corporation - initial API and implementation
**************************************************************************************************/
package org.eclipse.wst.ws.internal.service.policy.ui;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.wst.ws.service.policy.IDescriptor;
import org.eclipse.wst.ws.service.policy.IPolicyState;
import org.eclipse.wst.ws.service.policy.IServicePolicy;
import org.eclipse.wst.ws.service.policy.ui.IPolicyOperation;
public class PolicyOperationImpl implements IPolicyOperation
{
private BaseOperationImpl baseOperation;
private IServicePolicy policy;
public PolicyOperationImpl( BaseOperationImpl baseOperation, IServicePolicy policy )
{
this.baseOperation = baseOperation;
this.policy = policy;
}
public String getDefaultItem()
{
return baseOperation.getDefaultItem();
}
public IDescriptor getDescriptor()
{
return baseOperation.getDescriptor();
}
public String getEnumerationId()
{
return baseOperation.getEnumerationId();
}
public String getId()
{
return baseOperation.getId();
}
public OperationKind getOperationKind()
{
return baseOperation.getOperationKind();
}
public String getPolicyIdPattern()
{
return baseOperation.getPolicyIdPattern();
}
public boolean isEnabled( List<IServicePolicy> selectedPolicies )
{
return baseOperation.isEnabled( selectedPolicies );
}
public boolean isWorkspaceOnly()
{
return baseOperation.isWorkspaceOnly();
}
public void launchOperation( List<IServicePolicy> selectedPolicies)
{
baseOperation.launchOperation( policy, selectedPolicies );
}
public IServicePolicy getServicePolicy()
{
return policy;
}
public String getStateItem( IProject project )
{
IPolicyState state = getState( project );
String key = baseOperation.getId();
String defaultItem = baseOperation.getDefaultItem();
if( baseOperation.isUseDefaultData() )
{
key = IPolicyState.DefaultValueKey;
}
if( defaultItem != null )
{
state.putDefaultValue( key, defaultItem, false );
}
return state.getValue( key );
}
public void setStateItem( IProject project, String stateItem )
{
IPolicyState state = getState( project );
String key = baseOperation.getId();
if( baseOperation.isUseDefaultData() )
{
key = IPolicyState.DefaultValueKey;
}
state.putValue( key, stateItem );
}
private IPolicyState getState( IProject project )
{
return project == null ? policy.getPolicyState() : policy.getPolicyState( project );
}
public boolean isUseDefaultData()
{
return baseOperation.isUseDefaultData();
}
}