blob: 9165d37faafc7465c6bbb056977dd6b3f1126585 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 BSI Business Systems Integration AG.
* 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:
* BSI Business Systems Integration AG - initial API and implementation
******************************************************************************/
package org.eclipse.scout.nls.sdk.simple.operations;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.scout.nls.sdk.internal.NlsCore;
import org.eclipse.scout.nls.sdk.internal.jdt.NlsJdtUtility;
import org.eclipse.scout.nls.sdk.internal.model.PropertyBasedModel;
public class NewNlsFileOperationDesc extends PropertyBasedModel {
public static final String PROP_PLUGIN = "plugin";
public static final String PROP_FILE_NAME = "fileName";
public static final String PROP_SRC_CONTAINER = "srcContainer";
public static final String PROP_PACKAGE = "package";
public static final String PROP_CLASS_NAME = "className";
public static final String PROP_PARENT_PLUGIN = "parentPlugin";
public static final String PROP_PARENT_FILE = "parentFile";
public static final String PROP_TRANSLATION_FOLDER = "translationFolder";
public static final String PROP_TRANSLATION_FILE = "translationFile";
public void setPlugin(IProject value) {
setProperty(PROP_PLUGIN, value);
try {
if (value != null) {
IJavaProject jp = JavaCore.create(value);
List<IClasspathEntry> possibleEntries = new ArrayList<IClasspathEntry>();
for (IClasspathEntry entry : NlsJdtUtility.getSourceLocations(jp)) {
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
possibleEntries.add(entry);
}
}
if (possibleEntries.size() > 0) {
// set first as default
setSourceContainer(possibleEntries.get(0).getPath());
}
else {
setSourceContainer(null);
}
}
else {
setSourceContainer(null);
}
}
catch (JavaModelException e) {
NlsCore.logWarning(e);
setSourceContainer(null);
}
setPackage(null);
}
public IProject getPlugin() {
return (IProject) getProperty(PROP_PLUGIN);
}
public void setFileName(String value) {
setPropertyString(PROP_FILE_NAME, value);
}
public String getFileName() {
return getPropertyString(PROP_FILE_NAME);
}
public void setSourceContainer(IPath value) {
setProperty(PROP_SRC_CONTAINER, value);
}
public IPath getSourceContainer() {
return (IPath) getProperty(PROP_SRC_CONTAINER);
}
public void setPackage(String value) {
setPropertyString(PROP_PACKAGE, value);
}
public String getPackage() {
return getPropertyString(PROP_PACKAGE);
}
public void setClassName(String input) {
if (input == null || input.equals("")) {
input = null;
}
setPropertyString(PROP_CLASS_NAME, input);
}
public String getClassName() {
return getPropertyString(PROP_CLASS_NAME);
}
public void setParentPlugin(IPluginModelBase model) {
setProperty(PROP_PARENT_PLUGIN, model);
}
public IPluginModelBase getParentPlugin() {
return (IPluginModelBase) getProperty(PROP_PARENT_PLUGIN);
}
public void setParentFile(IFile file) {
setProperty(PROP_PARENT_FILE, file);
}
public IFile getParentFile() {
return (IFile) getProperty(PROP_PARENT_FILE);
}
public void setTranslationFolder(String folder) {
setPropertyString(PROP_TRANSLATION_FOLDER, folder);
}
public String getTranslationFolder() {
return getPropertyString(PROP_TRANSLATION_FOLDER);
}
public void setTranlationFileName(String filename) {
setPropertyString(PROP_TRANSLATION_FILE, filename);
}
public String getTranlationFileName() {
return getPropertyString(PROP_TRANSLATION_FILE);
}
}