From e8a758072e9368f6977880e1aa607351d7cf619a Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Thu, 27 Jul 2017 13:16:59 +0500 Subject: Implement BaseObjectResource generic and combine PUT/POST/DELETE functions --- src/org/traccar/Context.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/org/traccar/Context.java') diff --git a/src/org/traccar/Context.java b/src/org/traccar/Context.java index dfb8c5f47..75a7d179b 100644 --- a/src/org/traccar/Context.java +++ b/src/org/traccar/Context.java @@ -28,6 +28,7 @@ import org.eclipse.jetty.util.URIUtil; import org.traccar.database.AliasesManager; import org.traccar.database.CalendarManager; import org.traccar.database.AttributesManager; +import org.traccar.database.BaseObjectManager; import org.traccar.database.ConnectionManager; import org.traccar.database.DataManager; import org.traccar.database.DeviceManager; @@ -51,6 +52,14 @@ import org.traccar.geocoder.OpenCageGeocoder; import org.traccar.geocoder.Geocoder; import org.traccar.geolocation.UnwiredGeolocationProvider; import org.traccar.helper.Log; +import org.traccar.model.Attribute; +import org.traccar.model.BaseModel; +import org.traccar.model.Calendar; +import org.traccar.model.Device; +import org.traccar.model.Driver; +import org.traccar.model.Geofence; +import org.traccar.model.Group; +import org.traccar.model.User; import org.traccar.geolocation.GoogleGeolocationProvider; import org.traccar.geolocation.GeolocationProvider; import org.traccar.geolocation.MozillaGeolocationProvider; @@ -369,4 +378,23 @@ public final class Context { identityManager = testIdentityManager; } + public static BaseObjectManager getManager(Class clazz) { + if (clazz.equals(Device.class)) { + return (BaseObjectManager) deviceManager; + } else if (clazz.equals(Group.class)) { + return (BaseObjectManager) groupsManager; + } else if (clazz.equals(User.class)) { + return (BaseObjectManager) usersManager; + } else if (clazz.equals(Calendar.class)) { + return (BaseObjectManager) calendarManager; + } else if (clazz.equals(Attribute.class)) { + return (BaseObjectManager) attributesManager; + } else if (clazz.equals(Geofence.class)) { + return (BaseObjectManager) geofenceManager; + } else if (clazz.equals(Driver.class)) { + return (BaseObjectManager) driversManager; + } + return null; + } + } -- cgit v1.2.3