Reverted memory modifications in delegate context, placed the onus on the default context. Added null checking to everything.

This commit is contained in:
Christian 'ketura' McCarty
2022-08-17 23:16:00 -05:00
parent f8dfa55f8e
commit 092ac8454e
2 changed files with 26 additions and 12 deletions

View File

@@ -31,12 +31,17 @@ public class DefaultActionContext implements ActionContext {
@Override
public void setValueToMemory(String memory, String value) {
valueMemory.put(memory.toLowerCase(), value);
if(memory != null) {
memory = memory.toLowerCase();
}
valueMemory.put(memory, value);
}
@Override
public String getValueFromMemory(String memory) {
memory = memory.toLowerCase();
if(memory != null) {
memory = memory.toLowerCase();
}
final String result = valueMemory.get(memory);
if (result == null)
throw new IllegalArgumentException("Memory not found - " + memory);
@@ -45,7 +50,9 @@ public class DefaultActionContext implements ActionContext {
@Override
public void setCardMemory(String memory, PhysicalCard card) {
memory = memory.toLowerCase();
if(memory != null) {
memory = memory.toLowerCase();
}
cardMemory.removeAll(memory);
if (card != null)
cardMemory.put(memory, card);
@@ -53,19 +60,26 @@ public class DefaultActionContext implements ActionContext {
@Override
public void setCardMemory(String memory, Collection<? extends PhysicalCard> cards) {
memory = memory.toLowerCase();
if(memory != null) {
memory = memory.toLowerCase();
}
cardMemory.removeAll(memory);
cardMemory.putAll(memory, cards);
}
@Override
public Collection<? extends PhysicalCard> getCardsFromMemory(String memory) {
return cardMemory.get(memory.toLowerCase());
if(memory != null) {
memory = memory.toLowerCase();
}
return cardMemory.get(memory);
}
@Override
public PhysicalCard getCardFromMemory(String memory) {
memory = memory.toLowerCase();
if(memory != null) {
memory = memory.toLowerCase();
}
final Collection<PhysicalCard> physicalCards = cardMemory.get(memory);
if (physicalCards.size() == 0)
return null;

View File

@@ -27,32 +27,32 @@ public class DelegateActionContext implements ActionContext {
@Override
public void setValueToMemory(String memory, String value) {
delegate.setValueToMemory(memory.toLowerCase(), value);
delegate.setValueToMemory(memory, value);
}
@Override
public String getValueFromMemory(String memory) {
return delegate.getValueFromMemory(memory.toLowerCase());
return delegate.getValueFromMemory(memory);
}
@Override
public void setCardMemory(String memory, PhysicalCard card) {
delegate.setCardMemory(memory.toLowerCase(), card);
delegate.setCardMemory(memory, card);
}
@Override
public void setCardMemory(String memory, Collection<? extends PhysicalCard> cards) {
delegate.setCardMemory(memory.toLowerCase(), cards);
delegate.setCardMemory(memory, cards);
}
@Override
public Collection<? extends PhysicalCard> getCardsFromMemory(String memory) {
return delegate.getCardsFromMemory(memory.toLowerCase());
return delegate.getCardsFromMemory(memory);
}
@Override
public PhysicalCard getCardFromMemory(String memory) {
return delegate.getCardFromMemory(memory.toLowerCase());
return delegate.getCardFromMemory(memory);
}
@Override