Thanks!tags/release-3.5.0
package org.pf4j; | package org.pf4j; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collections; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Objects; | import java.util.Objects; | ||||
} | } | ||||
protected PluginDescriptor setDependencies(String dependencies) { | protected PluginDescriptor setDependencies(String dependencies) { | ||||
this.dependencies = new ArrayList<>(); | |||||
if (dependencies != null) { | if (dependencies != null) { | ||||
dependencies = dependencies.trim(); | dependencies = dependencies.trim(); | ||||
if (dependencies.isEmpty()) { | |||||
this.dependencies = Collections.emptyList(); | |||||
} else { | |||||
this.dependencies = new ArrayList<>(); | |||||
if (!dependencies.isEmpty()) { | |||||
String[] tokens = dependencies.split(","); | String[] tokens = dependencies.split(","); | ||||
for (String dependency : tokens) { | for (String dependency : tokens) { | ||||
dependency = dependency.trim(); | dependency = dependency.trim(); | ||||
this.dependencies.add(new PluginDependency(dependency)); | this.dependencies.add(new PluginDependency(dependency)); | ||||
} | } | ||||
} | } | ||||
if (this.dependencies.isEmpty()) { | |||||
this.dependencies = Collections.emptyList(); | |||||
} | |||||
} | } | ||||
} else { | |||||
this.dependencies = Collections.emptyList(); | |||||
} | } | ||||
return this; | return this; |
/* | |||||
* Copyright (C) 2012-present the original author or authors. | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
package org.pf4j; | |||||
import org.junit.jupiter.api.Test; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import static org.junit.jupiter.api.Assertions.assertEquals; | |||||
class DefaultPluginDescriptorTest { | |||||
@Test | |||||
void addDependency() { | |||||
// Given a descriptor with empty dependencies | |||||
DefaultPluginDescriptor descriptor = new DefaultPluginDescriptor(); | |||||
descriptor.setDependencies(""); | |||||
PluginDependency newDependency = new PluginDependency("test"); | |||||
// When I add a dependency | |||||
descriptor.addDependency(newDependency); | |||||
// Then the dependency is added | |||||
List<PluginDependency> expected = new ArrayList<>(); | |||||
expected.add(newDependency); | |||||
assertEquals(expected, descriptor.getDependencies()); | |||||
} | |||||
} |