blob: 615fe85c5f99e2fb6722200fef593c3671affedc [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* 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:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*/
package org.eclipse.osbp.ide.core.ui.softwarefactory.util;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
public class ResourceChangeListener implements IResourceChangeListener {
@Override
public void resourceChanged(IResourceChangeEvent event) {
String doing = "";
int type = event.getType();
if ((type & org.eclipse.core.resources.IResourceChangeEvent.POST_CHANGE)==org.eclipse.core.resources.IResourceChangeEvent.POST_CHANGE) {
doing += "POST_CHANGE-";
}
if ((type & org.eclipse.core.resources.IResourceChangeEvent.PRE_CLOSE)==org.eclipse.core.resources.IResourceChangeEvent.PRE_CLOSE) {
doing += "PRE_CLOSE-";
}
if ((type & org.eclipse.core.resources.IResourceChangeEvent.PRE_DELETE)==org.eclipse.core.resources.IResourceChangeEvent.PRE_DELETE) {
doing += "PRE_DELETE-";
}
if ((type & org.eclipse.core.resources.IResourceChangeEvent.PRE_BUILD)==org.eclipse.core.resources.IResourceChangeEvent.PRE_BUILD) {
doing += "PRE_BUILD-";
}
if ((type & org.eclipse.core.resources.IResourceChangeEvent.POST_BUILD)==org.eclipse.core.resources.IResourceChangeEvent.POST_BUILD) {
doing += "POST_BUILD-";
}
if ((type & org.eclipse.core.resources.IResourceChangeEvent.PRE_REFRESH)==org.eclipse.core.resources.IResourceChangeEvent.PRE_REFRESH) {
doing += "PRE_REFRESH-";
}
doing = iterateChildren(doing, event.getDelta().getAffectedChildren());
System.err.println(doing);
}
private String iterateChildren(String inDoing, IResourceDelta[] deltas) {
String doing = inDoing;
if (deltas != null) {
for(IResourceDelta delta:deltas) {
IResource resource = delta.getResource();
if (resource != null) {
doing += " "+resource.getName();
}
doing = iterateChildren(doing, delta.getAffectedChildren());
}
}
return doing;
}
}