Copyright (c) 2009, 2013 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2009, 2013 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.debug.internal.core; import java.util.Comparator; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.RefreshUtil;
Compares refresh scope attributes as the format has changed from a working set memento to an XML memento of resource paths. Avoids migrating attribute to new format until something else in the configuration changes.
Since:3.6
/** * Compares refresh scope attributes as the format has changed from a working * set memento to an XML memento of resource paths. Avoids migrating attribute * to new format until something else in the configuration changes. * * @since 3.6 */
public class RefreshScopeComparator implements Comparator<String> { @Override public int compare(String o1, String o2) { String m1 = o1; String m2 = o2; try { IResource[] r1 = RefreshUtil.toResources(m1); IResource[] r2 = RefreshUtil.toResources(m2); if (r1.length == r2.length) { for (int i = 0; i < r2.length; i++) { if (!r1[i].equals(r2[i])) { return -1; } } return 0; } } catch (CoreException e) { return -1; } return -1; } }