use of org.talend.componentdesigner.model.ILibEntry in project tdi-studio-se by Talend.
the class ComponentPref method readToString.
/**
* Parse fields of current class to string.
*
* @return
*/
public String readToString() {
StringBuffer fields = new StringBuffer(getName() + FIELDS_SEPARATOR + getLanguageType().getNameSuffix() + FIELDS_SEPARATOR);
// 1. append jetFileTypes
if (this.getJetFileStamps().size() > 0) {
for (JetFileStamp fileStamp : getJetFileStamps()) {
fields.append(fileStamp.getFileStampName());
fields.append(INTERNAL_FIELDS_SEPARATOR);
}
}
fields.append(FIELDS_SEPARATOR);
// 2. append resourceFileTypes.
if (this.resourceLanguageTypes.size() > 0) {
for (ResourceLanguageType resourceType : resourceLanguageTypes) {
fields.append(resourceType.getLang());
fields.append(INTERNAL_FIELDS_SEPARATOR);
}
}
fields.append(FIELDS_SEPARATOR);
// 3. append imageUrl String.
if (this.imageURL == null) {
fields.append(PluginConstant.EMPTY_STRING);
} else {
fields.append(imageURL);
}
fields.append(FIELDS_SEPARATOR);
// 4. append library entries string.
if (libEntries != null && this.libEntries.length > 0) {
for (ILibEntry entry : this.libEntries) {
fields.append(entry.getName());
fields.append(EQUEL_FIELDS_SEPARATOR);
fields.append(entry.isExternal());
fields.append(EQUEL_FIELDS_SEPARATOR);
fields.append(entry.getLocation());
fields.append(INTERNAL_FIELDS_SEPARATOR);
}
}
return fields.toString();
}
use of org.talend.componentdesigner.model.ILibEntry in project tdi-studio-se by Talend.
the class ComponentPref method handleLibEntries.
private static void handleLibEntries(String[] internalFields, ComponentPref componentBean) {
ILibEntry[] libArrays = new ILibEntry[internalFields.length];
for (int j = 0; j < internalFields.length; j++) {
String[] entryStrings = internalFields[j].split(EQUEL_FIELDS_SEPARATOR);
int k = 0;
String libName = entryStrings[k++];
String isExternal = entryStrings[k++];
String location = entryStrings[k++];
Object obj = null;
if (Boolean.valueOf(isExternal)) {
obj = new Path(location);
} else {
obj = ResourcesPlugin.getWorkspace().getRoot().getProject(PluginConstant.COMPONENT_PROJECT).findMember(location);
}
if (libName.matches("(?i).*\\.(jar)\\b")) {
//$NON-NLS-1$
libArrays[j] = new JarLibEntry(obj);
} else if (libName.matches("(?i).*\\.(pm)\\b")) {
//$NON-NLS-1$
libArrays[j] = new PmLibEntry(obj);
} else {
// Nothing
}
}
componentBean.setLibEntries(libArrays);
}
use of org.talend.componentdesigner.model.ILibEntry in project tdi-studio-se by Talend.
the class AddExternalResourceAction method run.
/**
* Prompts for a project to add.
*
* @see IAction#run()
*/
@Override
public void run() {
// String lastUsedPath = getDialogSetting(LAST_PATH_SETTING);
String lastUsedPath = null;
if (lastUsedPath == null) {
//$NON-NLS-1$
lastUsedPath = "";
}
FileDialog dialog = new FileDialog(getShell(), SWT.MULTI);
//$NON-NLS-1$
dialog.setText(Messages.getString("AddExternalResourceAction.JarSelection"));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
dialog.setFilterExtensions(new String[] { "*.*", "*.jar", "*.zip", "*.pm" });
dialog.setFilterPath(lastUsedPath);
String res = dialog.open();
if (res == null) {
return;
}
String[] fileNames = dialog.getFileNames();
int nChosen = fileNames.length;
IPath filterPath = new Path(dialog.getFilterPath());
List<ILibEntry> list = new ArrayList<ILibEntry>();
IPath path = null;
for (int i = 0; i < nChosen; i++) {
path = filterPath.append(fileNames[i]).makeAbsolute();
if (path.toFile().exists()) {
if (path.lastSegment().matches("(?i).*\\.(jar)\\b")) {
//$NON-NLS-1$
list.add(new JarLibEntry(path));
}
if (path.lastSegment().matches("(?i).*\\.(pm)\\b")) {
//$NON-NLS-1$
list.add(new PmLibEntry(path));
}
} else {
//$NON-NLS-1$
MessageDialog.openError(//$NON-NLS-1$
getShell(), //$NON-NLS-1$
Messages.getString("AddExternalResourceAction.ErrorTitle"), //$NON-NLS-1$
Messages.getString("AddExternalResourceAction.ErrorMsg"));
}
}
if (list.size() > 0) {
setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
getViewer().addEntries(list.toArray(new ILibEntry[list.size()]));
}
}
Aggregations