diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-09-06 09:42:02 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-06 09:42:02 +1200 |
commit | 3e5167131c758dd6e75e0f5d9b265a1514baac0c (patch) | |
tree | 2f2d8bce250fa80fb1a1d1bf3b6a652060a18f2c /src/org/traccar | |
parent | 36c62f0f2ca21ccd5040f8529f446b1b697dba69 (diff) | |
parent | ba892a34c4a78ddc4ec7b24cc72b62278f608322 (diff) | |
download | traccar-server-3e5167131c758dd6e75e0f5d9b265a1514baac0c.tar.gz traccar-server-3e5167131c758dd6e75e0f5d9b265a1514baac0c.tar.bz2 traccar-server-3e5167131c758dd6e75e0f5d9b265a1514baac0c.zip |
Merge pull request #3504 from Abyss777/remove_aliases
Remove Attribute Aliases
Diffstat (limited to 'src/org/traccar')
-rw-r--r-- | src/org/traccar/Context.java | 9 | ||||
-rw-r--r-- | src/org/traccar/api/BaseObjectResource.java | 4 | ||||
-rw-r--r-- | src/org/traccar/api/resource/AttributeAliasResource.java | 93 | ||||
-rw-r--r-- | src/org/traccar/database/AliasesManager.java | 113 | ||||
-rw-r--r-- | src/org/traccar/database/DataManager.java | 24 | ||||
-rw-r--r-- | src/org/traccar/model/AttributeAlias.java | 51 |
6 files changed, 0 insertions, 294 deletions
diff --git a/src/org/traccar/Context.java b/src/org/traccar/Context.java index 10fdd9f29..87d8257ee 100644 --- a/src/org/traccar/Context.java +++ b/src/org/traccar/Context.java @@ -25,7 +25,6 @@ import java.util.Properties; import org.apache.velocity.app.VelocityEngine; 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; @@ -202,12 +201,6 @@ public final class Context { return eventForwarder; } - private static AliasesManager aliasesManager; - - public static AliasesManager getAliasesManager() { - return aliasesManager; - } - private static AttributesManager attributesManager; public static AttributesManager getAttributesManager() { @@ -395,8 +388,6 @@ public final class Context { eventForwarder = new EventForwarder(); } - aliasesManager = new AliasesManager(dataManager); - attributesManager = new AttributesManager(dataManager); driversManager = new DriversManager(dataManager); diff --git a/src/org/traccar/api/BaseObjectResource.java b/src/org/traccar/api/BaseObjectResource.java index a1b90bc28..b13dc2e71 100644 --- a/src/org/traccar/api/BaseObjectResource.java +++ b/src/org/traccar/api/BaseObjectResource.java @@ -138,10 +138,6 @@ public abstract class BaseObjectResource<T extends BaseModel> extends BaseResour Context.getPermissionsManager().refreshAllExtendedPermissions(); } } - // Next should be removed with Attribute Aliases - if (baseClass.equals(Device.class)) { - Context.getAliasesManager().removeDevice(id); - } return Response.noContent().build(); } diff --git a/src/org/traccar/api/resource/AttributeAliasResource.java b/src/org/traccar/api/resource/AttributeAliasResource.java deleted file mode 100644 index b2636acf1..000000000 --- a/src/org/traccar/api/resource/AttributeAliasResource.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2016 Anton Tananaev (anton@traccar.org) - * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) - * - * 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.traccar.api.resource; - -import java.sql.SQLException; -import java.util.Collection; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import org.traccar.Context; -import org.traccar.api.BaseResource; -import org.traccar.model.AttributeAlias; - -@Path("attributes/aliases") -@Produces(MediaType.APPLICATION_JSON) -@Consumes(MediaType.APPLICATION_JSON) -public class AttributeAliasResource extends BaseResource { - - @GET - public Collection<AttributeAlias> get(@QueryParam("deviceId") long deviceId) throws SQLException { - if (deviceId != 0) { - if (!Context.getPermissionsManager().isAdmin(getUserId())) { - Context.getPermissionsManager().checkDevice(getUserId(), deviceId); - } - return Context.getAliasesManager().getAttributeAliases(deviceId); - } else { - return Context.getAliasesManager().getAllAttributeAliases(getUserId()); - } - } - - @POST - public Response add(AttributeAlias entity) throws SQLException { - Context.getPermissionsManager().checkReadonly(getUserId()); - Context.getPermissionsManager().checkDeviceReadonly(getUserId()); - if (!Context.getPermissionsManager().isAdmin(getUserId())) { - Context.getPermissionsManager().checkDevice(getUserId(), entity.getDeviceId()); - } - Context.getAliasesManager().addAttributeAlias(entity); - return Response.ok(entity).build(); - } - - @Path("{id}") - @PUT - public Response update(AttributeAlias entity) throws SQLException { - Context.getPermissionsManager().checkReadonly(getUserId()); - Context.getPermissionsManager().checkDeviceReadonly(getUserId()); - if (!Context.getPermissionsManager().isAdmin(getUserId())) { - AttributeAlias oldEntity = Context.getAliasesManager().getAttributeAlias(entity.getId()); - Context.getPermissionsManager().checkDevice(getUserId(), oldEntity.getDeviceId()); - Context.getPermissionsManager().checkDevice(getUserId(), entity.getDeviceId()); - } - Context.getAliasesManager().updateAttributeAlias(entity); - return Response.ok(entity).build(); - } - - @Path("{id}") - @DELETE - public Response remove(@PathParam("id") long id) throws SQLException { - Context.getPermissionsManager().checkReadonly(getUserId()); - Context.getPermissionsManager().checkDeviceReadonly(getUserId()); - if (!Context.getPermissionsManager().isAdmin(getUserId())) { - AttributeAlias entity = Context.getAliasesManager().getAttributeAlias(id); - Context.getPermissionsManager().checkDevice(getUserId(), entity.getDeviceId()); - } - Context.getAliasesManager().removeArrtibuteAlias(id); - return Response.noContent().build(); - } - -} diff --git a/src/org/traccar/database/AliasesManager.java b/src/org/traccar/database/AliasesManager.java deleted file mode 100644 index 4f4f09731..000000000 --- a/src/org/traccar/database/AliasesManager.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2016 Anton Tananaev (anton@traccar.org) - * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) - * - * 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.traccar.database; - -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import org.traccar.Context; -import org.traccar.helper.Log; -import org.traccar.model.AttributeAlias; - -public class AliasesManager { - - private final DataManager dataManager; - - private final Map<Long, Set<AttributeAlias>> deviceAliases = new ConcurrentHashMap<>(); - private final Map<Long, AttributeAlias> aliasesById = new ConcurrentHashMap<>(); - - public AliasesManager(DataManager dataManager) { - this.dataManager = dataManager; - if (dataManager != null) { - try { - for (AttributeAlias attributeAlias : dataManager.getAttributeAliases()) { - getAttributeAliases(attributeAlias.getDeviceId()) - .add(attributeAlias); - aliasesById.put(attributeAlias.getId(), attributeAlias); - } - } catch (SQLException error) { - Log.warning(error); - } - } - } - - public Set<AttributeAlias> getAttributeAliases(long deviceId) { - if (!deviceAliases.containsKey(deviceId)) { - deviceAliases.put(deviceId, new HashSet<AttributeAlias>()); - } - return deviceAliases.get(deviceId); - } - - public void removeDevice(long deviceId) { - for (AttributeAlias attributeAlias : getAttributeAliases(deviceId)) { - aliasesById.remove(attributeAlias.getId()); - } - deviceAliases.remove(deviceId); - } - - public void addAttributeAlias(AttributeAlias attributeAlias) throws SQLException { - dataManager.addAttributeAlias(attributeAlias); - aliasesById.put(attributeAlias.getId(), attributeAlias); - getAttributeAliases(attributeAlias.getDeviceId()).add(attributeAlias); - } - - public void updateAttributeAlias(AttributeAlias attributeAlias) throws SQLException { - dataManager.updateAttributeAlias(attributeAlias); - AttributeAlias cachedAlias = aliasesById.get(attributeAlias.getId()); - if (cachedAlias.getDeviceId() != attributeAlias.getDeviceId()) { - getAttributeAliases(cachedAlias.getDeviceId()).remove(cachedAlias); - cachedAlias.setDeviceId(attributeAlias.getDeviceId()); - getAttributeAliases(cachedAlias.getDeviceId()).add(cachedAlias); - } - cachedAlias.setAttribute(attributeAlias.getAttribute()); - cachedAlias.setAlias(attributeAlias.getAlias()); - } - - public void removeArrtibuteAlias(long attributeAliasId) throws SQLException { - dataManager.removeAttributeAlias(attributeAliasId); - AttributeAlias cachedAlias = aliasesById.get(attributeAliasId); - getAttributeAliases(cachedAlias.getDeviceId()).remove(cachedAlias); - aliasesById.remove(attributeAliasId); - } - - public AttributeAlias getAttributeAlias(long deviceId, String attribute) { - for (AttributeAlias alias : getAttributeAliases(deviceId)) { - if (alias.getAttribute().equals(attribute)) { - return alias; - } - } - return null; - } - - public Collection<AttributeAlias> getAllAttributeAliases(long userId) { - Collection<AttributeAlias> userDevicesAliases = new ArrayList<>(); - for (long deviceId : Context.getPermissionsManager().getDevicePermissions(userId)) { - userDevicesAliases.addAll(getAttributeAliases(deviceId)); - } - return userDevicesAliases; - } - - public AttributeAlias getAttributeAlias(long id) { - return aliasesById.get(id); - } - -} diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index 2e3e68bc9..4535a9c38 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -42,7 +42,6 @@ import liquibase.resource.ResourceAccessor; import org.traccar.Config; import org.traccar.helper.Log; import org.traccar.model.Attribute; -import org.traccar.model.AttributeAlias; import org.traccar.model.Device; import org.traccar.model.Driver; import org.traccar.model.Event; @@ -366,29 +365,6 @@ public class DataManager { .executeQuery(Event.class); } - public Collection<AttributeAlias> getAttributeAliases() throws SQLException { - return QueryBuilder.create(dataSource, getQuery("database.selectAttributeAliases")) - .executeQuery(AttributeAlias.class); - } - - public void addAttributeAlias(AttributeAlias attributeAlias) throws SQLException { - attributeAlias.setId(QueryBuilder.create(dataSource, getQuery("database.insertAttributeAlias"), true) - .setObject(attributeAlias) - .executeUpdate()); - } - - public void updateAttributeAlias(AttributeAlias attributeAlias) throws SQLException { - QueryBuilder.create(dataSource, getQuery("database.updateAttributeAlias")) - .setObject(attributeAlias) - .executeUpdate(); - } - - public void removeAttributeAlias(long attributeAliasId) throws SQLException { - QueryBuilder.create(dataSource, getQuery("database.deleteAttributeAlias")) - .setLong("id", attributeAliasId) - .executeUpdate(); - } - public Collection<Statistics> getStatistics(Date from, Date to) throws SQLException { return QueryBuilder.create(dataSource, getQuery("database.selectStatistics")) .setDate("from", from) diff --git a/src/org/traccar/model/AttributeAlias.java b/src/org/traccar/model/AttributeAlias.java deleted file mode 100644 index 1599ab939..000000000 --- a/src/org/traccar/model/AttributeAlias.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2016 Anton Tananaev (anton@traccar.org) - * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) - * - * 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.traccar.model; - -public class AttributeAlias extends BaseModel { - - private long deviceId; - - public long getDeviceId() { - return deviceId; - } - - public void setDeviceId(long deviceId) { - this.deviceId = deviceId; - } - - private String attribute; - - public String getAttribute() { - return attribute; - } - - public void setAttribute(String attribute) { - this.attribute = attribute; - } - - private String alias; - - public String getAlias() { - return alias; - } - - public void setAlias(String alias) { - this.alias = alias; - } - -} |