| /*************************************************************************************************** |
| * 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(); |
| } |
| } |