Skip to content

Commit

Permalink
Merge pull request #5980 from pkriens/issue/refactoring
Browse files Browse the repository at this point in the history
Bug in GogoRefactorer, scrunch
  • Loading branch information
pkriens committed Jan 23, 2024
2 parents 0124522 + dbab21a commit 5b0da63
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 19 deletions.
2 changes: 1 addition & 1 deletion bndtools.core/src/org/bndtools/facade/package-info.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@org.osgi.annotation.bundle.Export
@org.osgi.annotation.versioning.Version("1.0.0")
@org.osgi.annotation.versioning.Version("1.1.0")
package org.bndtools.facade;
36 changes: 18 additions & 18 deletions bndtools.core/src/org/bndtools/refactor/types/GogoRefactorer.java
Original file line number Diff line number Diff line change
Expand Up @@ -188,24 +188,6 @@ public void addGogo() {
});
}

private String scrunch(String string) {
String s = string.toLowerCase();
if (s.length() < 8)
return s;

StringBuilder result = new StringBuilder(s);
for (int i = result.length() - 1; i >= 0 && result.length() > 8; i--) {
char c = result.charAt(i);
if (!Character.isAlphabetic(c) || "aeiou".indexOf(c) >= 0) {
result.delete(i, 1);
}
}
if (result.length() > 8) {
result.delete(8, result.length());
}
return result.toString();
}

String[] calculateNames(String name) {
if (name.length() < 1)
return new String[0];
Expand Down Expand Up @@ -373,4 +355,22 @@ void doCommand(ProposalBuilder builder, Cursor<MethodDeclaration> methodDeclarat
() -> state.add(new Command(methodDeclaration)));
}

static public String scrunch(String string) {
String s = string.toLowerCase();
if (s.length() < 8)
return s;

StringBuilder result = new StringBuilder(s);
for (int i = result.length() - 1; i >= 0 && result.length() > 8; i--) {
char c = result.charAt(i);
if (!Character.isAlphabetic(c) || "aeiou".indexOf(c) >= 0) {
result.delete(i, i + 1);
}
}
if (result.length() > 8) {
result.delete(8, result.length());
}
return result.toString();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bndtools.refactor.util.RefactorAssistant;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;

Expand Down Expand Up @@ -164,4 +165,11 @@ static List<Scenario> scenarios() {
//@formatter:on
);
}

@Test
public void testScrunch() {
assertThat(GogoRefactorer.scrunch("TestRefactors")).isEqualTo("tstrfctr");
assertThat(GogoRefactorer.scrunch("foobarffoo")).isEqualTo("foobarff");

}
}
31 changes: 31 additions & 0 deletions bndtools.core/test/org/bndtools/refactor/types/TestRefactors.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package org.bndtools.refactor.types;

import java.util.Date;

import org.osgi.framework.BundleContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;

@Component
public class TestRefactors {

interface Bar {}

@Activate
public TestRefactors(BundleContext context, @Reference
Bar serice) {}

@Reference
void setBar(Bar bar) {}

void unsetBar(Bar bar) {}

Date getDate() {
return new Date();
}

@Deactivate
void close() {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@Version("1.0.0")
@Export
package org.bndtools.refactor.types;

import org.osgi.annotation.versioning.Version;
import org.osgi.annotation.bundle.Export;

0 comments on commit 5b0da63

Please sign in to comment.