// ============================================================================
//
// 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.widgets.xmleditor.infoholder;
import java.util.LinkedList;
import java.util.List;
import org.apache.log4j.Logger;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.mdm.repository.model.mdmmetadata.MDMServerDef;
import org.talend.mdm.repository.utils.RepositoryResourceUtil;
import com.amalto.workbench.utils.JobInfo;
public class RepositoryJobInfoHolder extends RepositoryExternalInfoHolder<JobInfo[]> {
static Logger log = Logger.getLogger(RepositoryJobInfoHolder.class);
public RepositoryJobInfoHolder() {
}
@Override
public JobInfo[] getExternalInfo() {
List<JobInfo> results = new LinkedList<JobInfo>();
List<IRepositoryViewObject> viewObjs = RepositoryResourceUtil.findAllViewObjects(ERepositoryObjectType.PROCESS);
for (IRepositoryViewObject viewObj : viewObjs) {
Property prop = viewObj.getProperty();
String path = null;
if (prop != null) {
Item item = prop.getItem();
if (item != null) {
path = item.getState().getPath();
}
}
MDMServerDef serverDef = RepositoryResourceUtil.getLastServerDef(viewObj);
String lastServerName = (serverDef != null) ? serverDef.getName() : null;
// the suffix should be "war" or "zip", now use "" to replace
JobInfo jobInfo = new JobInfo(prop.getLabel(), prop.getVersion(), "", path, lastServerName); //$NON-NLS-1$
results.add(jobInfo);
}
return results.toArray(new JobInfo[0]);
}
@Override
public String getId() {
return INFOID_ALLJOBINFOS;
}
}