Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion java-properties-impl/pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright 2013-2017 consulo.io
- Copyright 2013-2025 consulo.io
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -41,6 +41,25 @@
<version>3-SNAPSHOT</version>
<packaging>jar</packaging>

<build>
<plugins>
<plugin>
<groupId>consulo.maven</groupId>
<artifactId>maven-consulo-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-localize</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import consulo.codeEditor.Editor;
import consulo.document.util.TextRange;
import consulo.java.analysis.impl.util.JavaI18nUtil;
import consulo.java.properties.impl.localize.JavaPropertiesLocalize;
import consulo.language.editor.FileModificationService;
import consulo.language.editor.localize.CodeInsightLocalize;
import consulo.language.editor.refactoring.util.CommonRefactoringUtil;
Expand All @@ -48,6 +49,10 @@
public class I18nizeAction extends AnAction {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.i18n.I18nizeAction");

public I18nizeAction() {
super(JavaPropertiesLocalize.actionI18nizeText(), JavaPropertiesLocalize.actionI18nizeDescription());
}

@Override
@RequiredUIAccess
public void update(@Nonnull AnActionEvent e) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
action.I18nize.description:
text: Replace Java string literal or JSP text with internationalized expression
action.I18nize.text:
text: Internationali_ze...
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@
import com.intellij.java.impl.refactoring.anonymousToInner.AnonymousToInnerHandler;
import com.intellij.java.language.psi.PsiAnonymousClass;
import com.intellij.java.language.psi.PsiNewExpression;
import consulo.annotation.access.RequiredReadAction;
import consulo.annotation.component.ActionImpl;
import consulo.dataContext.DataContext;
import consulo.codeEditor.Editor;
import consulo.java.localize.JavaLocalize;
import consulo.language.psi.PsiElement;
import consulo.language.psi.PsiFile;
import consulo.language.psi.util.PsiTreeUtil;
Expand All @@ -28,28 +31,43 @@

import jakarta.annotation.Nonnull;

@ActionImpl(id = "AnonymousToInner")
public class AnonymousToInnerAction extends BaseRefactoringAction {
public boolean isAvailableInEditorOnly() {
return true;
}
public AnonymousToInnerAction() {
super(JavaLocalize.actionAnonymousToInnerText(), JavaLocalize.actionAnonymousToInnerDescription());
}

public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return false;
}
@Override
public boolean isAvailableInEditorOnly() {
return true;
}

protected boolean isAvailableOnElementInEditorAndFile(@Nonnull final PsiElement element, @Nonnull final Editor editor, @Nonnull PsiFile file, @Nonnull DataContext context) {
final PsiElement targetElement = file.findElementAt(editor.getCaretModel().getOffset());
if (PsiTreeUtil.getParentOfType(targetElement, PsiAnonymousClass.class) != null) {
return true;
@Override
public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return false;
}
if (PsiTreeUtil.getParentOfType(element, PsiAnonymousClass.class) != null) {
return true;

@Override
@RequiredReadAction
protected boolean isAvailableOnElementInEditorAndFile(
@Nonnull PsiElement element,
@Nonnull Editor editor,
@Nonnull PsiFile file,
@Nonnull DataContext context
) {
PsiElement targetElement = file.findElementAt(editor.getCaretModel().getOffset());
if (PsiTreeUtil.getParentOfType(targetElement, PsiAnonymousClass.class) != null) {
return true;
}
if (PsiTreeUtil.getParentOfType(element, PsiAnonymousClass.class) != null) {
return true;
}
PsiNewExpression newExpression = PsiTreeUtil.getParentOfType(element, PsiNewExpression.class);
return newExpression != null && newExpression.getAnonymousClass() != null;
}
final PsiNewExpression newExpression = PsiTreeUtil.getParentOfType(element, PsiNewExpression.class);
return newExpression != null && newExpression.getAnonymousClass() != null;
}

public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new AnonymousToInnerHandler();
}
@Override
public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new AnonymousToInnerHandler();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@
import com.intellij.java.impl.refactoring.convertToInstanceMethod.ConvertToInstanceMethodHandler;
import com.intellij.java.language.psi.PsiIdentifier;
import com.intellij.java.language.psi.PsiMethod;
import com.intellij.java.language.psi.PsiModifier;
import consulo.annotation.component.ActionImpl;
import consulo.dataContext.DataContext;
import consulo.codeEditor.Editor;
import consulo.java.localize.JavaLocalize;
import consulo.language.psi.PsiElement;
import consulo.language.psi.PsiFile;
import consulo.language.editor.refactoring.action.RefactoringActionHandler;
Expand All @@ -31,21 +32,37 @@
/**
* @author dsl
*/
@ActionImpl(id = "ConvertToInstanceMethod")
public class ConvertToInstanceMethodAction extends BaseRefactoringAction {
protected boolean isAvailableInEditorOnly() {
return false;
}
public ConvertToInstanceMethodAction() {
super(JavaLocalize.actionConvertToInstanceMethodText(), JavaLocalize.actionConvertToInstanceMethodDescription());
}

protected boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return elements.length == 1 && elements[0] instanceof PsiMethod;
}
@Override
protected boolean isAvailableInEditorOnly() {
return false;
}

protected boolean isAvailableOnElementInEditorAndFile(@Nonnull PsiElement element, @Nonnull final Editor editor, @Nonnull PsiFile file, @Nonnull DataContext context) {
if (element instanceof PsiIdentifier) element = element.getParent();
return element instanceof PsiMethod && ((PsiMethod) element).hasModifierProperty(PsiModifier.STATIC);
}
@Override
protected boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return elements.length == 1 && elements[0] instanceof PsiMethod;
}

protected RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new ConvertToInstanceMethodHandler();
}
@Override
protected boolean isAvailableOnElementInEditorAndFile(
@Nonnull PsiElement element,
@Nonnull Editor editor,
@Nonnull PsiFile file,
@Nonnull DataContext context
) {
if (element instanceof PsiIdentifier) {
element = element.getParent();
}
return element instanceof PsiMethod method && method.isStatic();
}

@Override
protected RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new ConvertToInstanceMethodHandler();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,54 +19,77 @@
import com.intellij.java.language.JavaLanguage;
import com.intellij.java.language.psi.PsiClass;
import com.intellij.java.language.psi.PsiField;
import consulo.annotation.access.RequiredReadAction;
import consulo.annotation.component.ActionImpl;
import consulo.dataContext.DataContext;
import consulo.codeEditor.Editor;
import consulo.java.localize.JavaLocalize;
import consulo.language.psi.PsiElement;
import consulo.language.psi.PsiFile;
import consulo.language.psi.util.PsiTreeUtil;
import consulo.language.editor.refactoring.action.RefactoringActionHandler;
import consulo.language.editor.refactoring.action.BaseRefactoringAction;
import jakarta.annotation.Nonnull;

@ActionImpl(id = "EncapsulateFields")
public class EncapsulateFieldsAction extends BaseRefactoringAction {
public boolean isAvailableInEditorOnly() {
return false;
}
public EncapsulateFieldsAction() {
super(JavaLocalize.actionEncapsulateFieldsText(), JavaLocalize.actionEncapsulateFieldsDescription());
}

@Override
protected boolean isAvailableOnElementInEditorAndFile(@Nonnull PsiElement element, @Nonnull Editor editor, @Nonnull PsiFile file, @Nonnull DataContext context) {
final PsiElement psiElement = file.findElementAt(editor.getCaretModel().getOffset());
final PsiClass containingClass = PsiTreeUtil.getParentOfType(psiElement, PsiClass.class, false);
if (containingClass != null) {
final PsiField[] fields = containingClass.getFields();
for (PsiField field : fields) {
if (isAcceptedField(field)) return true;
}
@Override
public boolean isAvailableInEditorOnly() {
return false;
}
return false;
}

public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
if (elements.length == 1) {
return elements[0] instanceof PsiClass && elements[0].getLanguage().isKindOf(JavaLanguage.INSTANCE) || isAcceptedField(elements[0]);
} else if (elements.length > 1) {
for (int idx = 0; idx < elements.length; idx++) {
if (!isAcceptedField(elements[idx])) {
return false;
@Override
@RequiredReadAction
protected boolean isAvailableOnElementInEditorAndFile(
@Nonnull PsiElement element,
@Nonnull Editor editor,
@Nonnull PsiFile file,
@Nonnull DataContext context
) {
PsiElement psiElement = file.findElementAt(editor.getCaretModel().getOffset());
PsiClass containingClass = PsiTreeUtil.getParentOfType(psiElement, PsiClass.class, false);
if (containingClass != null) {
PsiField[] fields = containingClass.getFields();
for (PsiField field : fields) {
if (isAcceptedField(field)) {
return true;
}
}
}
}
return true;
return false;
}
return false;
}

public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new EncapsulateFieldsHandler();
}
@Override
@RequiredReadAction
public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
if (elements.length == 1) {
return elements[0] instanceof PsiClass psiClass && psiClass.getLanguage().isKindOf(JavaLanguage.INSTANCE)
|| isAcceptedField(elements[0]);
}
else if (elements.length > 1) {
for (PsiElement element : elements) {
if (!isAcceptedField(element)) {
return false;
}
}
return true;
}
return false;
}

private static boolean isAcceptedField(PsiElement element) {
return element instanceof PsiField &&
element.getLanguage().isKindOf(JavaLanguage.INSTANCE) &&
((PsiField) element).getContainingClass() != null;
}
@Override
public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new EncapsulateFieldsHandler();
}

@RequiredReadAction
private static boolean isAcceptedField(PsiElement element) {
return element instanceof PsiField field
&& field.getLanguage().isKindOf(JavaLanguage.INSTANCE)
&& field.getContainingClass() != null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,37 @@
import com.intellij.java.impl.refactoring.inheritanceToDelegation.InheritanceToDelegationHandler;
import com.intellij.java.language.JavaLanguage;
import com.intellij.java.language.psi.PsiClass;
import consulo.annotation.access.RequiredReadAction;
import consulo.annotation.component.ActionImpl;
import consulo.dataContext.DataContext;
import consulo.java.localize.JavaLocalize;
import consulo.language.psi.PsiElement;
import consulo.language.editor.refactoring.action.RefactoringActionHandler;
import consulo.language.editor.refactoring.action.BaseRefactoringAction;
import jakarta.annotation.Nonnull;

@ActionImpl(id = "InheritanceToDelegation")
public class InheritanceToDelegationAction extends BaseRefactoringAction {
public boolean isAvailableInEditorOnly() {
return false;
}
public InheritanceToDelegationAction() {
super(JavaLocalize.actionInheritanceToDelegationText(), JavaLocalize.actionInheritanceToDelegationDescription());
}

public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return elements.length == 1 &&
elements[0] instanceof PsiClass &&
!((PsiClass) elements[0]).isInterface() &&
elements[0].getLanguage().isKindOf(JavaLanguage.INSTANCE);
}
@Override
public boolean isAvailableInEditorOnly() {
return false;
}

public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new InheritanceToDelegationHandler();
}
@Override
@RequiredReadAction
public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
return elements.length == 1
&& elements[0] instanceof PsiClass psiClass
&& !psiClass.isInterface()
&& psiClass.getLanguage().isKindOf(JavaLanguage.INSTANCE);
}

@Override
public RefactoringActionHandler getHandler(@Nonnull DataContext dataContext) {
return new InheritanceToDelegationHandler();
}
}
Loading
Loading