Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2011 itemis AG (http://www.itemis.eu) and others. 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 /
  
  package org.eclipse.xtext.ui.refactoring.impl;
  
 import static com.google.common.collect.Iterables.*;
 import static com.google.common.collect.Lists.*;
 import static org.eclipse.xtext.util.Strings.*;
 
 import  org.eclipse.core.resources.IFile;
 import  org.eclipse.jface.text.IRegion;
 import  org.eclipse.jface.text.Region;
 import  org.eclipse.ltk.core.refactoring.FileStatusContext;
 import  org.eclipse.ltk.core.refactoring.RefactoringStatus;
 import  org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
 import  org.eclipse.ltk.core.refactoring.RefactoringStatusEntry;
 
Convenience class to create refactoring issues with an RefactoringStatusContext.

Author(s):
Jan Koehnlein - Initial contribution and API
 
 public class StatusWrapper {
 
 	private RefactoringStatus status;
 
 
 
 	private PolymorphicDispatcher<StringtoString = PolymorphicDispatcher.createForSingleTarget("_toString"this);
 
 	protected RefactoringStatusContext createContext(EObject eObject) {
 		if (eObject != null) {
 			return createContext(eObjecttextRegion);
 		}
 		return null;
 	}
 
 	protected RefactoringStatusContext createContext(EObject eObjectITextRegion textRegion) {
 		IRegion region = null;
 		if (textRegion != null)
 			region = new Region(textRegion.getOffset(), textRegion.getLength());
 		IFile file = .findFileStorage(EcoreUtil2.getPlatformResourceOrNormalizedURI(eObject), false);
 		if(file == null)
 			return null;
 		return new FileStatusContext(fileregion);
 	}
 
 	protected RefactoringStatusContext createContext(URI uriResourceSet resourceSet) {
 		EObject eObject = null;
 		if (resourceSet != null && uri.hasFragment())
 			eObject = resourceSet.getEObject(uritrue);
 		if (eObject != null)
 			return createContext(eObject);
 		else
 			return createContext(.findFileStorage(urifalse), null);
 	}
 
 	protected RefactoringStatusContext createContext(IFile fileITextRegion textRegion) {
 		if (file == null)
 			return null;
 		Region region = textRegion == null ? null : new Region(textRegion.getOffset(), textRegion.getLength());
 		return new FileStatusContext(fileregion);
 	}
 
 	protected String _toString(URI uri) {
 		IFile file = .findFileStorage(urifalse);
 		return (file != null) ? file.getFullPath().toString() : uri.toString();
 	}
 
 	protected String _toString(EObject element) {
 		return element.eClass().getName() + " '" + notNull(..apply(element)) + "' in " + _toString(element.eResource().getURI());
 	}
 
 	protected String _toString(Exception exc) {
 		return notNull(exc.getMessage());
 	}
	protected String _toString(Object element) {
		return notNull(element);
	}
	public RefactoringStatus getRefactoringStatus() {
		return ;
	}
	protected String format(String messageObject... elements) {
		Object[] strings = toArray(transform(newArrayList(elements), new Function<ObjectString>() {
			public String apply(Object from) {
				return .invoke(from);
			}
		}), String.class);
		return MessageFormat.format(messagestrings);
	}
	public void add(int severityString messageURI uriResourceSet resourceSet) {
		.addEntry(new RefactoringStatusEntry(severityformat(messageuri), createContext(uriresourceSet)));
	}
	public void add(int severityString messageURI resourceUri) {
		.addEntry(new RefactoringStatusEntry(severityformat(messageresourceUri), createContext(resourceUrinull)));
	}
	public void add(int severityString messageEObject element) {
		.addEntry(new RefactoringStatusEntry(severityformat(messageelement), createContext(element)));
	}
	public void add(int severityString messageEObject elementITextRegion region) {
		.addEntry(new RefactoringStatusEntry(severitynotNull(message), createContext(elementregion)));
	}
	public void add(int severityString messageException excLogger log) {
		String formatted = format(messageexc);
		.addEntry(new RefactoringStatusEntry(severityformatted + ".\nSee log for details."));
		log.error(formattedexc);
	}
	public void add(int severityString messageObject... params) {
		.addEntry(new RefactoringStatusEntry(severityformat(messageparams)));
	}
	public void merge(RefactoringStatus status) {
		this..merge(status);
	}
	public void merge(StatusWrapper status) {
		this..merge(status.getRefactoringStatus());
	}
New to GrepCode? Check out our FAQ X