blob: a95d677c9d02eb8a14952b8d7cb5ea45bbb88cd9 [file] [log] [blame]
/*****************************************************************************
*
* Copyright (c) 2016 CEA LIST.
*
* 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:
* CEA LIST Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.moka.fmi.util;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.util.URI;
import org.eclipse.papyrus.moka.fmi.fmumetamodel.ArchiveToUnzipInFMU;
import org.eclipse.papyrus.moka.fmi.fmumetamodel.FmumetamodelFactory;
import org.eclipse.papyrus.moka.fmi.fmumetamodel.FolderToCreateInFMU;
import org.eclipse.papyrus.moka.fmi.fmumetamodel.JavaFileProxy;
public class FMUResourceUtil {
public static final String MODEL_DESCRIPTION_FILE_NAME = "modelDescription.xml";
public static final String FOLDER_RESOURCES = "resources";
public static final String FOLDER_DOCUMENTATION= "documentation";
public static final String FOLDER_SOURCES= "sources";
public static final String FOLDER_BINARIES= "binaries";
public static final String BINARIES_WIN32= "win32";
public static final String BINARIES_WIN64= "win64";
public static final String BINARIES_LINUX32= "linux32";
public static final String BINARIES_LINUX64= "linux64";
public static final String BINARIES_DARWIN32= "darwin32";
public static final String BINARIES_DARWIN64= "darwin64";
public static final URI MODEL_DESCRIPTION_ZIP_URI = URI.createURI("fmi:/fmuTmp");
public static Collection<? extends JavaFileProxy> createJavaFileProxies(File[] listFiles) {
List<JavaFileProxy> ret = new ArrayList<JavaFileProxy>();
for (File file : listFiles) {
ret.add(createJavaFileProxy(file));
}
return ret;
}
public static JavaFileProxy createJavaFileProxy(File file) {
return createJavaFileProxy(file, null);
}
public static JavaFileProxy createJavaFileProxy(File file, String newName) {
JavaFileProxy ret = FmumetamodelFactory.eINSTANCE.createJavaFileProxy();
if (newName != null){
ret.setName(newName);
}
ret.setFile(file);
return ret;
}
public static ArchiveToUnzipInFMU createArchiveToUnzipInFMU(File archiveFile, String newName){
ArchiveToUnzipInFMU ret = FmumetamodelFactory.eINSTANCE.createArchiveToUnzipInFMU();
ret.setArchiveFile(archiveFile);
if (newName != null){
ret.setName(newName);
}
return ret;
}
public static ArchiveToUnzipInFMU createArchiveToUnzipInFMU(File archiveFile){
return createArchiveToUnzipInFMU(archiveFile, null);
}
public static FolderToCreateInFMU createFolderToCreateInFMU(String folderName){
FolderToCreateInFMU ret = FmumetamodelFactory.eINSTANCE.createFolderToCreateInFMU();
ret.setName(folderName);
return ret;
}
public static boolean isAStandardFile(File fmuChildFile) {
String name = fmuChildFile.getName();
return (MODEL_DESCRIPTION_FILE_NAME.equals(name)
|| !FOLDER_BINARIES.equals(name)
|| !FOLDER_DOCUMENTATION.equals(name)
|| !FOLDER_RESOURCES.equals(name)
|| !FOLDER_SOURCES.equals(name)
);
}
}