mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-06 20:33:54 +00:00
fix for bug 2471: accept null as boat class name and using default values for the boat class in this case
This commit is contained in:
1 parent
a1abcd704c
commit
e6e146a2d4
3 files changed
+29
-6
No files matched your search
+1
-3
@@ -89,12 +89,10 @@ public enum BoatClassMasterdata {
|
||||
|
||||
public static BoatClassMasterdata resolveBoatClass(String boatClassName) {
|
||||
String boatClassNameToResolve = unifyBoatClassName(boatClassName);
|
||||
|
||||
for (BoatClassMasterdata boatClass : values()) {
|
||||
if (unifyBoatClassName(boatClass.displayName).equals(boatClassNameToResolve)) {
|
||||
return boatClass;
|
||||
}
|
||||
if(boatClass.alternativeNames != null) {
|
||||
} else if (boatClass.alternativeNames != null) {
|
||||
for (String name : boatClass.alternativeNames) {
|
||||
if (unifyBoatClassName(name).equals(boatClassNameToResolve)) {
|
||||
return boatClass;
|
||||
|
||||
+3
-3
@@ -272,9 +272,9 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory {
|
||||
public BoatClass getOrCreateBoatClass(String name, boolean typicallyStartsUpwind) {
|
||||
synchronized (boatClassCache) {
|
||||
BoatClass result = boatClassCache.get(name);
|
||||
if(result == null) {
|
||||
if (result == null && name != null) {
|
||||
BoatClassMasterdata boatClassMasterdata = BoatClassMasterdata.resolveBoatClass(name);
|
||||
if(boatClassMasterdata != null) {
|
||||
if (boatClassMasterdata != null) {
|
||||
result = new BoatClassImpl(name, boatClassMasterdata);
|
||||
boatClassCache.put(name, result);
|
||||
}
|
||||
@@ -289,7 +289,7 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory {
|
||||
|
||||
@Override
|
||||
public BoatClass getOrCreateBoatClass(String name) {
|
||||
return getOrCreateBoatClass(name, /* typicallyStartsUpwind */!mayStartWithNoUpwindLeg.contains(name.toLowerCase()));
|
||||
return getOrCreateBoatClass(name, name == null || /* typicallyStartsUpwind */!mayStartWithNoUpwindLeg.contains(name.toLowerCase()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
package com.sap.sailing.domain.common;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.base.BoatClass;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
|
||||
public class BoatClassWithNullNameTest {
|
||||
/**
|
||||
* See bug 2471
|
||||
*/
|
||||
@Test
|
||||
public void testCreatingBoatClassWithNullName() {
|
||||
DomainFactory domainFactory = DomainFactory.INSTANCE;
|
||||
BoatClass boatClass = domainFactory.getOrCreateBoatClass(null);
|
||||
assertNotNull(boatClass);
|
||||
assertNull(boatClass.getName());
|
||||
BoatClass boatClass2 = domainFactory.getOrCreateBoatClass(null);
|
||||
assertSame(boatClass, boatClass2);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user