blob: fcbae2da101f302386e1dca6156f670b934e9992 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Bosch Software Innovations GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Bosch Software Innovations GmbH - Please refer to git log
*
*******************************************************************************/
package org.eclipse.vorto.fbeditor.ui.internal.treeview;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.vorto.api.common.project.FunctionModelModelFileFinder;
import org.eclipse.vorto.api.common.project.IoTModelProject;
public class FunctionBlockScanner {
public List<IoTModelProject> readAllFunctionBlocksFromWorkspace() {
List<IoTModelProject> fbDesignProjects = new ArrayList<IoTModelProject>();
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
.getProjects();
for (IProject iProject : projects) {
try {
if (iProject.isOpen() && isFunctionBlockProject(iProject)) {
fbDesignProjects.add(new IoTModelProject(iProject));
}
} catch (Exception e) {
e.printStackTrace();
}
}
return fbDesignProjects;
}
private boolean isFunctionBlockProject(IProject iProject) {
File fbModelFile = FunctionModelModelFileFinder
.getFunctionModelFile(iProject);
return fbModelFile != null;
}
}