mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
maven cleanup - fixed lambda-unfriendly "perform" methods in RemoteObjectWrapper, anonymous parameters of these methods replaced with lambdas
This commit is contained in:
+25
-75
@@ -52,12 +52,9 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
|
||||
public void customizeForResolve(MavenConsole console, MavenProgressIndicator indicator) {
|
||||
setCustomization(console, indicator, null, false, false, null);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
doCustomize();
|
||||
return null;
|
||||
}
|
||||
perform(() -> {
|
||||
doCustomize();
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -68,12 +65,9 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
public void customizeForResolve(MavenWorkspaceMap workspaceMap, MavenConsole console, MavenProgressIndicator indicator,
|
||||
boolean alwaysUpdateSnapshot, @Nullable Properties userProperties) {
|
||||
setCustomization(console, indicator, workspaceMap, false, alwaysUpdateSnapshot, userProperties);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
doCustomize();
|
||||
return null;
|
||||
}
|
||||
perform(() -> {
|
||||
doCustomize();
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -81,22 +75,16 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
MavenConsole console,
|
||||
MavenProgressIndicator indicator) {
|
||||
setCustomization(console, indicator, workspaceMap, true, false, null);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
doCustomize();
|
||||
return null;
|
||||
}
|
||||
perform(() -> {
|
||||
doCustomize();
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public void customizeForGetVersions() {
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
doCustomizeComponents();
|
||||
return null;
|
||||
}
|
||||
perform(() -> {
|
||||
doCustomizeComponents();
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -125,12 +113,9 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
@NotNull final Collection<String> activeProfiles,
|
||||
@NotNull final Collection<String> inactiveProfiles)
|
||||
throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<Collection<MavenServerExecutionResult>>() {
|
||||
@Override
|
||||
public Collection<MavenServerExecutionResult> execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
final List<File> ioFiles = ContainerUtil.map(files, file -> new File(file.getPath()));
|
||||
return getOrCreateWrappee().resolveProject(ioFiles, activeProfiles, inactiveProfiles);
|
||||
}
|
||||
return performCancelable(() -> {
|
||||
final List<File> ioFiles = ContainerUtil.map(files, file -> new File(file.getPath()));
|
||||
return getOrCreateWrappee().resolveProject(ioFiles, activeProfiles, inactiveProfiles);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -138,24 +123,14 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
public String evaluateEffectivePom(@NotNull final VirtualFile file,
|
||||
@NotNull final Collection<String> activeProfiles,
|
||||
@NotNull final Collection<String> inactiveProfiles) throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<String>() {
|
||||
@Override
|
||||
public String execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee()
|
||||
.evaluateEffectivePom(new File(file.getPath()), new ArrayList<>(activeProfiles), new ArrayList<>(inactiveProfiles));
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee()
|
||||
.evaluateEffectivePom(new File(file.getPath()), new ArrayList<>(activeProfiles), new ArrayList<>(inactiveProfiles)));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public MavenArtifact resolve(@NotNull final MavenArtifactInfo info,
|
||||
@NotNull final List<MavenRemoteRepository> remoteRepositories) throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<MavenArtifact>() {
|
||||
@Override
|
||||
public MavenArtifact execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee().resolve(info, remoteRepositories);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee().resolve(info, remoteRepositories));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -163,12 +138,7 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
@NotNull final List<MavenArtifactInfo> artifacts,
|
||||
@NotNull final List<MavenRemoteRepository> remoteRepositories) throws MavenProcessCanceledException {
|
||||
|
||||
return perform(new RetriableCancelable<List<MavenArtifact>>() {
|
||||
@Override
|
||||
public List<MavenArtifact> execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee().resolveTransitively(artifacts, remoteRepositories);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee().resolveTransitively(artifacts, remoteRepositories));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -176,12 +146,7 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
@NotNull final String artifactId,
|
||||
@NotNull final List<MavenRemoteRepository> remoteRepositories) throws MavenProcessCanceledException {
|
||||
|
||||
return perform(new RetriableCancelable<List<String>>() {
|
||||
@Override
|
||||
public List<String> execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee().retrieveAvailableVersions(groupId, artifactId, remoteRepositories);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee().retrieveAvailableVersions(groupId, artifactId, remoteRepositories));
|
||||
}
|
||||
|
||||
public Collection<MavenArtifact> resolvePlugin(@NotNull final MavenPlugin plugin,
|
||||
@@ -211,12 +176,7 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
}
|
||||
|
||||
public MavenModel readModel(final File file) throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<MavenModel>() {
|
||||
@Override
|
||||
public MavenModel execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee().readModel(file);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee().readModel(file));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -224,13 +184,8 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
@NotNull final Collection<String> activeProfiles,
|
||||
@NotNull final Collection<String> inactiveProfiles,
|
||||
@NotNull final List<String> goals) throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<MavenServerExecutionResult>() {
|
||||
@Override
|
||||
public MavenServerExecutionResult execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee()
|
||||
.execute(new File(file.getPath()), activeProfiles, inactiveProfiles, goals, Collections.emptyList(), false, false);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee()
|
||||
.execute(new File(file.getPath()), activeProfiles, inactiveProfiles, goals, Collections.emptyList(), false, false));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -241,13 +196,8 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
@NotNull final List<String> selectedProjects,
|
||||
final boolean alsoMake,
|
||||
final boolean alsoMakeDependents) throws MavenProcessCanceledException {
|
||||
return perform(new RetriableCancelable<MavenServerExecutionResult>() {
|
||||
@Override
|
||||
public MavenServerExecutionResult execute() throws RemoteException, MavenServerProcessCanceledException {
|
||||
return getOrCreateWrappee()
|
||||
.execute(new File(file.getPath()), activeProfiles, inactiveProfiles, goals, selectedProjects, alsoMake, alsoMakeDependents);
|
||||
}
|
||||
});
|
||||
return performCancelable(() -> getOrCreateWrappee()
|
||||
.execute(new File(file.getPath()), activeProfiles, inactiveProfiles, goals, selectedProjects, alsoMake, alsoMakeDependents));
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
|
||||
+21
-52
@@ -58,12 +58,7 @@ public abstract class MavenIndexerWrapper extends RemoteObjectWrapper<MavenServe
|
||||
final int localId = System.identityHashCode(data);
|
||||
myDataMap.put(localId, data);
|
||||
|
||||
perform(new IndexRetriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException, MavenServerIndexerException {
|
||||
return getRemoteId(localId);
|
||||
}
|
||||
});
|
||||
perform(() -> getRemoteId(localId));
|
||||
|
||||
return localId;
|
||||
}
|
||||
@@ -100,65 +95,44 @@ public abstract class MavenIndexerWrapper extends RemoteObjectWrapper<MavenServe
|
||||
}
|
||||
|
||||
public int getIndexCount() {
|
||||
return perform(new Retriable<Integer>() {
|
||||
@Override
|
||||
public Integer execute() throws RemoteException {
|
||||
return getOrCreateWrappee().getIndexCount();
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().getIndexCount());
|
||||
}
|
||||
|
||||
public void updateIndex(final int localId,
|
||||
final MavenGeneralSettings settings,
|
||||
final MavenProgressIndicator indicator) throws MavenProcessCanceledException,
|
||||
MavenServerIndexerException {
|
||||
perform(new IndexRetriableCancelable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException, MavenServerIndexerException, MavenServerProcessCanceledException {
|
||||
MavenServerProgressIndicator indicatorWrapper = MavenServerManager.wrapAndExport(indicator);
|
||||
try {
|
||||
getOrCreateWrappee().updateIndex(getRemoteId(localId), MavenServerManager.convertSettings(settings), indicatorWrapper);
|
||||
}
|
||||
finally {
|
||||
UnicastRemoteObject.unexportObject(indicatorWrapper, true);
|
||||
}
|
||||
return null;
|
||||
performCancelable(() -> {
|
||||
MavenServerProgressIndicator indicatorWrapper = MavenServerManager.wrapAndExport(indicator);
|
||||
try {
|
||||
getOrCreateWrappee().updateIndex(getRemoteId(localId), MavenServerManager.convertSettings(settings), indicatorWrapper);
|
||||
}
|
||||
finally {
|
||||
UnicastRemoteObject.unexportObject(indicatorWrapper, true);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public void processArtifacts(final int indexId, final MavenIndicesProcessor processor) throws MavenServerIndexerException {
|
||||
perform(new IndexRetriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException, MavenServerIndexerException {
|
||||
MavenServerIndicesProcessor processorWrapper = MavenServerManager.wrapAndExport(processor);
|
||||
try {
|
||||
getOrCreateWrappee().processArtifacts(getRemoteId(indexId), processorWrapper);
|
||||
}
|
||||
finally {
|
||||
UnicastRemoteObject.unexportObject(processorWrapper, true);
|
||||
}
|
||||
return null;
|
||||
perform(() -> {
|
||||
MavenServerIndicesProcessor processorWrapper = MavenServerManager.wrapAndExport(processor);
|
||||
try {
|
||||
getOrCreateWrappee().processArtifacts(getRemoteId(indexId), processorWrapper);
|
||||
}
|
||||
finally {
|
||||
UnicastRemoteObject.unexportObject(processorWrapper, true);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public MavenId addArtifact(final int localId, final File artifactFile) throws MavenServerIndexerException {
|
||||
return perform(new IndexRetriable<MavenId>() {
|
||||
@Override
|
||||
public MavenId execute() throws RemoteException, MavenServerIndexerException {
|
||||
return getOrCreateWrappee().addArtifact(getRemoteId(localId), artifactFile);
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().addArtifact(getRemoteId(localId), artifactFile));
|
||||
}
|
||||
|
||||
public Set<MavenArtifactInfo> search(final int localId, final Query query, final int maxResult) throws MavenServerIndexerException {
|
||||
return perform(new IndexRetriable<Set<MavenArtifactInfo>>() {
|
||||
@Override
|
||||
public Set<MavenArtifactInfo> execute() throws RemoteException, MavenServerIndexerException {
|
||||
return getOrCreateWrappee().search(getRemoteId(localId), query, maxResult);
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().search(getRemoteId(localId), query, maxResult));
|
||||
}
|
||||
|
||||
private synchronized int getRemoteId(int localId) throws RemoteException, MavenServerIndexerException {
|
||||
@@ -172,12 +146,7 @@ public abstract class MavenIndexerWrapper extends RemoteObjectWrapper<MavenServe
|
||||
}
|
||||
|
||||
public Collection<MavenArchetype> getArchetypes() {
|
||||
return perform(new Retriable<Collection<MavenArchetype>>() {
|
||||
@Override
|
||||
public Collection<MavenArchetype> execute() throws RemoteException {
|
||||
return getOrCreateWrappee().getArchetypes();
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().getArchetypes());
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
|
||||
+3
-18
@@ -526,33 +526,18 @@ public class MavenServerManager extends RemoteObjectWrapper<MavenServer> impleme
|
||||
|
||||
@NotNull
|
||||
public MavenModel interpolateAndAlignModel(final MavenModel model, final File basedir) {
|
||||
return perform(new Retriable<MavenModel>() {
|
||||
@Override
|
||||
public MavenModel execute() throws RemoteException {
|
||||
return getOrCreateWrappee().interpolateAndAlignModel(model, basedir);
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().interpolateAndAlignModel(model, basedir));
|
||||
}
|
||||
|
||||
public MavenModel assembleInheritance(final MavenModel model, final MavenModel parentModel) {
|
||||
return perform(new Retriable<MavenModel>() {
|
||||
@Override
|
||||
public MavenModel execute() throws RemoteException {
|
||||
return getOrCreateWrappee().assembleInheritance(model, parentModel);
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().assembleInheritance(model, parentModel));
|
||||
}
|
||||
|
||||
public ProfileApplicationResult applyProfiles(final MavenModel model,
|
||||
final File basedir,
|
||||
final MavenExplicitProfiles explicitProfiles,
|
||||
final Collection<String> alwaysOnProfiles) {
|
||||
return perform(new Retriable<ProfileApplicationResult>() {
|
||||
@Override
|
||||
public ProfileApplicationResult execute() throws RemoteException {
|
||||
return getOrCreateWrappee().applyProfiles(model, basedir, explicitProfiles, alwaysOnProfiles);
|
||||
}
|
||||
});
|
||||
return perform(() -> getOrCreateWrappee().applyProfiles(model, basedir, explicitProfiles, alwaysOnProfiles));
|
||||
}
|
||||
|
||||
public void addDownloadListener(MavenServerDownloadListener listener) {
|
||||
|
||||
+9
-44
@@ -32,7 +32,7 @@ public abstract class RemoteObjectWrapper<T> {
|
||||
|
||||
@Nullable
|
||||
protected synchronized T getWrappee() {
|
||||
return myWrappee == null ? null : myWrappee;
|
||||
return myWrappee;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -69,7 +69,7 @@ public abstract class RemoteObjectWrapper<T> {
|
||||
myWrappee = null;
|
||||
}
|
||||
|
||||
protected <T> T perform(Retriable<T> r) {
|
||||
protected <R, E extends Exception> R perform(Retriable<R, E> r) throws E {
|
||||
RemoteException last = null;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
try {
|
||||
@@ -82,7 +82,7 @@ public abstract class RemoteObjectWrapper<T> {
|
||||
throw new RuntimeException("Cannot reconnect.", last);
|
||||
}
|
||||
|
||||
protected <T> T perform(RetriableCancelable<T> r) throws MavenProcessCanceledException {
|
||||
protected <R, E extends Exception> R performCancelable(RetriableCancelable<R, E> r) throws MavenProcessCanceledException, E {
|
||||
RemoteException last = null;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
try {
|
||||
@@ -98,48 +98,13 @@ public abstract class RemoteObjectWrapper<T> {
|
||||
throw new RuntimeException("Cannot reconnect.", last);
|
||||
}
|
||||
|
||||
protected <T> T perform(IndexRetriable<T> r) throws MavenServerIndexerException {
|
||||
RemoteException last = null;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
try {
|
||||
return r.execute();
|
||||
}
|
||||
catch (RemoteException e) {
|
||||
handleRemoteError(last = e);
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("Cannot reconnect.", last);
|
||||
@FunctionalInterface
|
||||
protected interface Retriable<T, E extends Exception> {
|
||||
T execute() throws RemoteException, E;
|
||||
}
|
||||
|
||||
protected <T> T perform(IndexRetriableCancelable<T> r) throws MavenServerIndexerException, MavenProcessCanceledException {
|
||||
RemoteException last = null;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
try {
|
||||
return r.execute();
|
||||
}
|
||||
catch (RemoteException e) {
|
||||
handleRemoteError(last = e);
|
||||
}
|
||||
catch (MavenServerProcessCanceledException e) {
|
||||
throw new MavenProcessCanceledException();
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("Cannot reconnect.", last);
|
||||
}
|
||||
|
||||
protected interface Retriable<T> {
|
||||
T execute() throws RemoteException;
|
||||
}
|
||||
|
||||
protected interface IndexRetriable<T> {
|
||||
T execute() throws RemoteException, MavenServerIndexerException;
|
||||
}
|
||||
|
||||
protected interface IndexRetriableCancelable<T> {
|
||||
T execute() throws RemoteException, MavenServerIndexerException, MavenServerProcessCanceledException;
|
||||
}
|
||||
|
||||
protected interface RetriableCancelable<T> {
|
||||
T execute() throws RemoteException, MavenServerProcessCanceledException;
|
||||
@FunctionalInterface
|
||||
protected interface RetriableCancelable<T, E extends Exception> {
|
||||
T execute() throws RemoteException, MavenServerProcessCanceledException, E;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user