diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/model/Attributes.java b/magic-api/src/main/java/org/ssssssss/magicapi/model/Attributes.java new file mode 100644 index 00000000..9c1d87c4 --- /dev/null +++ b/magic-api/src/main/java/org/ssssssss/magicapi/model/Attributes.java @@ -0,0 +1,25 @@ +package org.ssssssss.magicapi.model; + +import java.util.HashMap; +import java.util.Map; + +public class Attributes { + + protected Map properties = new HashMap<>(); + + public void setAttribute(String key, T value) { + properties.put(key, value); + } + + public Object getAttribute(String key) { + return properties.get(key); + } + + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } +} diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/model/DataSourceInfo.java b/magic-api/src/main/java/org/ssssssss/magicapi/model/DataSourceInfo.java index c12f98e3..1d7151c3 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/model/DataSourceInfo.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/model/DataSourceInfo.java @@ -1,10 +1,72 @@ package org.ssssssss.magicapi.model; -import java.util.HashMap; +import java.util.Collection; +import java.util.Map; +import java.util.Set; -public class DataSourceInfo extends HashMap { +public class DataSourceInfo extends Attributes implements Map { public String getId() { return get("id"); } + + @Override + public int size() { + return properties.size(); + } + + @Override + public boolean isEmpty() { + return properties.isEmpty(); + } + + @Override + public boolean containsKey(Object key) { + return properties.containsKey(key); + } + + @Override + public boolean containsValue(Object value) { + return properties.containsValue(value); + } + + @Override + public String get(Object key) { + return properties.get(key); + } + + @Override + public String put(String key, String value) { + return properties.put(key, value); + } + + @Override + public String remove(Object key) { + return properties.remove(key); + } + + @Override + public void putAll(Map m) { + properties.putAll(m); + } + + @Override + public void clear() { + properties.clear(); + } + + @Override + public Set keySet() { + return properties.keySet(); + } + + @Override + public Collection values() { + return properties.values(); + } + + @Override + public Set> entrySet() { + return properties.entrySet(); + } } diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/model/Group.java b/magic-api/src/main/java/org/ssssssss/magicapi/model/Group.java index 887af61e..e0399093 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/model/Group.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/model/Group.java @@ -3,7 +3,7 @@ package org.ssssssss.magicapi.model; import java.util.Collections; import java.util.List; -public class Group { +public class Group extends Attributes { private String id; diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/model/MagicEntity.java b/magic-api/src/main/java/org/ssssssss/magicapi/model/MagicEntity.java index b1461c4d..5006c96a 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/model/MagicEntity.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/model/MagicEntity.java @@ -1,6 +1,6 @@ package org.ssssssss.magicapi.model; -public class MagicEntity implements Cloneable { +public class MagicEntity extends Attributes implements Cloneable { protected String id; diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/provider/ApiServiceProvider.java b/magic-api/src/main/java/org/ssssssss/magicapi/provider/ApiServiceProvider.java index ad804c6c..3fd6ee3a 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/provider/ApiServiceProvider.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/provider/ApiServiceProvider.java @@ -29,9 +29,4 @@ public abstract class ApiServiceProvider extends StoreServiceProvider { return infos.values().stream() .anyMatch(it -> !info.getId().equals(it.getId()) && info.getGroupId().equals(it.getGroupId()) && (info.getName().equals(it.getName()) || (info.getMethod().equals(it.getMethod()) && info.getPath().equals(it.getPath())))); } - - @Override - public byte[] serialize(ApiInfo info) { - return super.serialize(info); - } } diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/provider/FunctionServiceProvider.java b/magic-api/src/main/java/org/ssssssss/magicapi/provider/FunctionServiceProvider.java index cf17e53d..b6e813f1 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/provider/FunctionServiceProvider.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/provider/FunctionServiceProvider.java @@ -18,9 +18,4 @@ public abstract class FunctionServiceProvider extends StoreServiceProvider !info.getId().equals(it.getId()) && info.getGroupId().equals(it.getGroupId()) && (info.getName().equals(it.getName()) || info.getPath().equals(it.getPath()))); } - - @Override - public byte[] serialize(FunctionInfo info) { - return super.serialize(info); - } }