// ============================================================================
//
// 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.ui.starting.actions;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.intro.IIntroSite;
import org.eclipse.ui.navigator.CommonViewer;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.mdm.repository.core.IServerObjectRepositoryType;
import org.talend.mdm.repository.i18n.Messages;
import org.talend.mdm.repository.model.mdmproperties.ContainerItem;
import org.talend.mdm.repository.ui.actions.datamodel.NewDataModelAction;
import org.talend.mdm.repository.ui.navigator.MDMRepositoryView;
import org.talend.mdm.repository.utils.RepositoryResourceUtil;
public class AddDataModelLinkAction extends AbstractShowViewAction {
private static Logger log = Logger.getLogger(AddDataModelLinkAction.class);
protected void doRun(IIntroSite site, Properties params) {
try {
MDMRepositoryView findView = showRepositoryView();
CommonViewer commonViewer = findView.getCommonViewer();
IRepositoryViewObject[] categoryViewObjects = RepositoryResourceUtil
.getCategoryViewObjects(IServerObjectRepositoryType.TYPE_DATAMODEL);
if (categoryViewObjects.length > 0) {
NewDataModelAction addAction = new NewDataModelAction();
addAction.initCommonViewer(commonViewer);
addAction.setParentItem((ContainerItem) categoryViewObjects[0].getProperty().getItem());
addAction.run();
}
} catch (PartInitException e) {
log.error(e.getMessage(), e);
}
}
/*
* (non-Javadoc)
*
* @see org.talend.mdm.repository.ui.starting.actions.AbstractShowViewAction#getReadOnlyMessage()
*/
@Override
protected String getReadOnlyMessage() {
return Messages.AddDataModelLinkAction_authorityMessage;
}
}