use of org.eclipse.core.resources.ResourceAttributes in project tmdm-studio-se by Talend.
the class Utilities method getReadonlyFiles.
private static List getReadonlyFiles(IResource[] resources) {
List readOnlyFiles = new ArrayList();
for (int i = 0; i < resources.length; i++) {
IResource resource = resources[i];
ResourceAttributes resourceAttributes = resource.getResourceAttributes();
if (resource.getType() == IResource.FILE && resourceAttributes != null && resourceAttributes.isReadOnly())
readOnlyFiles.add(resource);
}
return readOnlyFiles;
}
use of org.eclipse.core.resources.ResourceAttributes in project eclipse-cs by checkstyle.
the class CheckstyleNature method ensureProjectFileWritable.
private void ensureProjectFileWritable() throws CoreException {
IFile projectFile = mProject.getFile(".project");
if (projectFile.isReadOnly()) {
ResourceAttributes attrs = ResourceAttributes.fromFile(projectFile.getFullPath().toFile());
attrs.setReadOnly(true);
projectFile.setResourceAttributes(attrs);
}
}
use of org.eclipse.core.resources.ResourceAttributes in project whole by wholeplatform.
the class IFilePersistenceProvider method openOutputStream.
public OutputStream openOutputStream() throws Exception {
return new ByteArrayOutputStream(4096) {
@Override
public void close() throws IOException {
super.close();
int updateFlags = IResource.FORCE;
if (getBindings().wIsSet("derived"))
updateFlags |= IResource.DERIVED;
try {
InputStream is = new ByteArrayInputStream(toByteArray());
if (file.exists())
file.setContents(is, updateFlags | IResource.KEEP_HISTORY, ResourceUtils.getProgressMonitor(getBindings()));
else
file.create(is, updateFlags, ResourceUtils.getProgressMonitor(getBindings()));
if (getBindings().wIsSet("readonly")) {
ResourceAttributes attributes = file.getResourceAttributes();
if (attributes != null) {
attributes.setReadOnly(true);
file.setResourceAttributes(attributes);
}
}
} catch (CoreException e) {
throw new IOException(e);
}
}
};
}
use of org.eclipse.core.resources.ResourceAttributes in project mdw-designer by CenturyLinkCloud.
the class ArtifactEditor method openTempFile.
public void openTempFile(IProgressMonitor monitor) {
tempFileEditor = null;
try {
IFolder folder = getTempFolder();
if (!folder.exists())
PluginUtil.createFoldersAsNeeded(getElement().getProject().getSourceProject(), folder, monitor);
final IFile file = getTempFile(folder);
final IWorkbenchPage activePage = MdwPlugin.getActivePage();
if (file.exists()) {
IEditorInput editorInput = new FileEditorInput(file);
tempFileEditor = activePage.findEditor(editorInput);
if (tempFileEditor == null) {
// we'll refresh from attribute value
new TempFileRemover(folder, file).remove(monitor);
} else {
// activate existing editor
tempFileEditor = IDE.openEditor(activePage, file, true);
}
}
if (tempFileEditor == null) {
// either the file didn't exist or it was not currently open,
// set from value
byte[] value = valueProvider.getArtifactContent();
if (value == null)
value = "".getBytes();
InputStream source = new ByteArrayInputStream(value);
file.create(source, true, monitor);
if (getElement().isReadOnly()) {
ResourceAttributes resourceAttrs = file.getResourceAttributes();
resourceAttrs.setReadOnly(true);
file.setResourceAttributes(resourceAttrs);
}
final Display display = Display.getCurrent();
if (display != null) {
display.syncExec(new Runnable() {
public void run() {
try {
if (!valueProvider.beforeTempFileOpened())
return;
tempFileEditor = IDE.openEditor(activePage, file, true);
if (tempFileEditor != null) {
// listen for artifact made dirty and
// propagate to process canvas
tempFileEditor.addPropertyListener(new IPropertyListener() {
public void propertyChanged(Object source, int propId) {
if (source instanceof EditorPart && propId == IWorkbenchPartConstants.PROP_DIRTY) {
if (((EditorPart) source).isDirty())
// process
fireValueChanged(null, true);
// editor
// should
// show
// dirty
}
}
});
// listen for artifact resource changes
ArtifactResourceListener resourceListener = new ArtifactResourceListener(getElement(), valueProvider, file);
getProject().addArtifactResourceListener(resourceListener);
// listen for workbench closed to prevent
// re-opening editor when the workbench is
// next opened
PlatformUI.getWorkbench().addWorkbenchListener(new ArtifactEditorWorkbenchListener(tempFileEditor));
}
valueProvider.afterTempFileOpened(tempFileEditor);
} catch (PartInitException ex) {
PluginMessages.log(ex);
}
}
});
}
// register to listen to process editor events
WorkflowProcess processVersion = null;
if (getElement() instanceof Activity)
processVersion = ((Activity) getElement()).getProcess();
else if (getElement() instanceof WorkflowProcess)
processVersion = (WorkflowProcess) getElement();
if (processVersion != null) {
IEditorPart processEditor = activePage.findEditor(processVersion);
if (processEditor != null && tempFileEditor != null)
((ProcessEditor) processEditor).addActiveScriptEditor(tempFileEditor);
}
}
} catch (Exception ex) {
PluginMessages.uiError(ex, "Open Temp File", getElement().getProject());
}
}
use of org.eclipse.core.resources.ResourceAttributes in project mdw-designer by CenturyLinkCloud.
the class WorkflowAsset method createTempFile.
public void createTempFile(IFile file, IProgressMonitor monitor) throws CoreException {
load();
file.create(new ByteArrayInputStream(getFileContent()), true, monitor);
if (isReadOnly()) {
ResourceAttributes resourceAttrs = file.getResourceAttributes();
resourceAttrs.setReadOnly(true);
file.setResourceAttributes(resourceAttrs);
}
}
Aggregations