// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.mdm.repository.core.service.interactive; import java.util.List; import javax.xml.ws.WebServiceException; import org.talend.core.model.properties.Item; import org.talend.core.model.repository.IRepositoryViewObject; import org.talend.mdm.repository.core.command.deploy.AbstractDeployCommand; import org.talend.mdm.repository.core.service.IInteractiveHandler; import org.talend.mdm.repository.core.service.RepositoryWebServiceAdapter; import org.talend.mdm.repository.model.mdmmetadata.MDMServerDef; import org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem; import org.talend.mdm.repository.model.mdmserverobject.MDMServerObject; import org.talend.mdm.repository.utils.Bean2EObjUtil; import org.talend.mdm.repository.utils.UIUtil; import com.amalto.workbench.utils.XtentisException; import com.amalto.workbench.webservices.TMDMService; /** * DOC hbhong class global comment. Detailled comment */ public abstract class AbstractInteractiveHandler implements IInteractiveHandler { protected TMDMService getService(MDMServerDef serverDef) throws XtentisException { boolean workInUI = UIUtil.isWorkInUI(); return RepositoryWebServiceAdapter.getMDMService(serverDef, workInUI); } /* * (non-Javadoc) * * @see org.talend.mdm.repository.core.service.IInteractiveHandler#convert(org.talend.core.model.properties.Item, * org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) */ @Override public Object convert(Item item, MDMServerObject serverObj) { Object wsObj = Bean2EObjUtil.getInstance().convertFromEObj2Bean(serverObj); return wsObj; } @Override public boolean doDeployWSObject(TMDMService service, Object wsObj) { return false; // do nothing } public boolean doRemove(TMDMService service, AbstractDeployCommand cmd) throws WebServiceException, XtentisException { return true; // do nothing } /* * (non-Javadoc) * * @see * org.talend.mdm.repository.core.service.IInteractiveHandler#deploy(com.amalto.workbench.webservices.XtentisPort, * org.talend.core.model.properties.Item, org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) */ @Override public boolean deploy(AbstractDeployCommand cmd) throws XtentisException { IRepositoryViewObject viewObj = cmd.getViewObject(); Item item = viewObj.getProperty().getItem(); MDMServerObject serverObject = ((MDMServerObjectItem) item).getMDMServerObject(); Object wsObj = convert(item, serverObject); TMDMService service = getService(cmd.getServerDef()); return doDeployWSObject(service, wsObj); } @Override public boolean remove(AbstractDeployCommand cmd) throws XtentisException { TMDMService service = getService(cmd.getServerDef()); return doRemove(service, cmd); } @Override public void assertPropertyIsInited(Item item) { } @Override public List<IRepositoryViewObject> getAssociatedObjects(IRepositoryViewObject obj) { return null; } @Override public boolean isShownInResultDialog(IRepositoryViewObject viewObj) { return true; } }