/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ltk.core.refactoring; import org.eclipse.core.internal.registry.IRegistryConstants; import org.eclipse.core.internal.registry.RegistryMessages; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import java.util.HashMap; import java.util.Map; /** * @author Evgen Vidolob */ public class CheRefactoringContributions { private static final Map<String, String> refactoringContributions = new HashMap<>(); static { refactoringContributions.put("org.eclipse.jdt.ui.rename.compilationunit", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameCompilationUnitRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.enum.constant", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameEnumConstRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.field", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameFieldRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.local.variable", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameLocalVariableRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.method", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameMethodRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.package", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenamePackageRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.type.parameter", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameTypeParameterRefactoringContribution"); refactoringContributions.put("org.eclipse.jdt.ui.rename.type", "org.eclipse.jdt.internal.corext.refactoring.scripting.RenameTypeRefactoringContribution"); //TODO : /* <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ChangeMethodSignatureRefactoringContribution" id="org.eclipse.jdt.ui.change.method.signature"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveMethodRefactoringContribution" id="org.eclipse.jdt.ui.move.method"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveStaticMembersRefactoringContribution" id="org.eclipse.jdt.ui.move.static"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractInterfaceRefactoringContribution" id="org.eclipse.jdt.ui.extract.interface"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.UseSupertypeRefactoringContribution" id="org.eclipse.jdt.ui.use.supertype"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.PullUpRefactoringContribution" id="org.eclipse.jdt.ui.pull.up"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.PushDownRefactoringContribution" id="org.eclipse.jdt.ui.push.down"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ConvertAnonymousRefactoringContribution" id="org.eclipse.jdt.ui.convert.anonymous"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveMemberTypeRefactoringContribution" id="org.eclipse.jdt.ui.move.inner"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineMethodRefactoringContribution" id="org.eclipse.jdt.ui.inline.method"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineTempRefactoringContribution" id="org.eclipse.jdt.ui.inline.temp"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineConstantRefactoringContribution" id="org.eclipse.jdt.ui.inline.constant"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractMethodRefactoringContribution" id="org.eclipse.jdt.ui.extract.method"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractTempRefactoringContribution" id="org.eclipse.jdt.ui.extract.temp"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractConstantRefactoringContribution" id="org.eclipse.jdt.ui.extract.constant"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractClassContribution" id="org.eclipse.jdt.ui.extract.class"> </contribution> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceParameterRefactoringContribution" id="org.eclipse.jdt.ui.introduce.parameter"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceParameterObjectContribution" id="org.eclipse.jdt.ui.introduce.parameter.object"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceFactoryRefactoringContribution" id="org.eclipse.jdt.ui.introduce.factory"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceIndirectionRefactoringContribution" id="org.eclipse.jdt.ui.introduce.indirection"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.PromoteTempToFieldRefactoringContribution" id="org.eclipse.jdt.ui.promote.temp"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.SelfEncapsulateRefactoringContribution" id="org.eclipse.jdt.ui.self.encapsulate"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.InferTypeArgumentsRefactoringContribution" id="org.eclipse.jdt.ui.infer.typearguments"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ChangeTypeRefactoringContribution" id="org.eclipse.jdt.ui.change.type"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractSupertypeRefactoringContribution" id="org.eclipse.jdt.ui.extract.superclass"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.DeleteRefactoringContribution" id="org.eclipse.jdt.ui.delete"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveRefactoringContribution" id="org.eclipse.jdt.ui.move"/> <contribution class="org.eclipse.jdt.internal.corext.refactoring.scripting.CopyRefactoringContribution" id="org.eclipse.jdt.ui.copy"/> */ } public static Map<String, String> getRefactoringContributions() { return new HashMap<>(refactoringContributions); } public static Object createExecutableExtension(String clazz) throws CoreException{ Class<?> exClass = null; try { exClass = Class.forName(clazz); } catch (ClassNotFoundException e) { throw new CoreException(new Status(IStatus.ERROR, RegistryMessages.OWNER_NAME, IRegistryConstants.PLUGIN_ERROR, "Can't find class: " + clazz, e)); } try{ return exClass.newInstance(); } catch (Exception e){ throw new CoreException(new Status(IStatus.ERROR, RegistryMessages.OWNER_NAME, IRegistryConstants.PLUGIN_ERROR, "Can't create new instance of: " + clazz, e)); } } }