21 changed files with 219 additions and 19 deletions
@ -0,0 +1,46 @@ |
|||||
|
package org.thingsboard.server.dao.sql.attributes; |
||||
|
|
||||
|
import com.datastax.driver.core.ResultSet; |
||||
|
import com.datastax.driver.core.ResultSetFuture; |
||||
|
import com.google.common.util.concurrent.ListenableFuture; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
import org.thingsboard.server.common.data.id.EntityId; |
||||
|
import org.thingsboard.server.common.data.kv.AttributeKvEntry; |
||||
|
import org.thingsboard.server.dao.attributes.AttributesDao; |
||||
|
|
||||
|
import java.util.Collection; |
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
|
||||
|
@Component |
||||
|
@Slf4j |
||||
|
@ConditionalOnProperty(prefix = "sql", value = "enabled", havingValue = "true") |
||||
|
public class JpaAttributesDao implements AttributesDao { |
||||
|
|
||||
|
@Override |
||||
|
public ListenableFuture<Optional<AttributeKvEntry>> find(EntityId entityId, String attributeType, String attributeKey) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ListenableFuture<List<AttributeKvEntry>> find(EntityId entityId, String attributeType, Collection<String> attributeKey) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ListenableFuture<List<AttributeKvEntry>> findAll(EntityId entityId, String attributeType) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture save(EntityId entityId, String attributeType, AttributeKvEntry attribute) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ListenableFuture<List<ResultSet>> removeAll(EntityId entityId, String scope, List<String> keys) { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,65 @@ |
|||||
|
package org.thingsboard.server.dao.sql.timeseries; |
||||
|
|
||||
|
import com.datastax.driver.core.ResultSetFuture; |
||||
|
import com.datastax.driver.core.Row; |
||||
|
import com.google.common.util.concurrent.ListenableFuture; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
import org.thingsboard.server.common.data.id.EntityId; |
||||
|
import org.thingsboard.server.common.data.kv.TsKvEntry; |
||||
|
import org.thingsboard.server.common.data.kv.TsKvQuery; |
||||
|
import org.thingsboard.server.dao.timeseries.TimeseriesDao; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Component |
||||
|
@Slf4j |
||||
|
@ConditionalOnProperty(prefix = "sql", value = "enabled", havingValue = "true") |
||||
|
public class JpaTimeseriesDao implements TimeseriesDao { |
||||
|
|
||||
|
@Override |
||||
|
public long toPartitionTs(long ts) { |
||||
|
return 0; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ListenableFuture<List<TsKvEntry>> findAllAsync(EntityId entityId, List<TsKvQuery> queries) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture findLatest(EntityId entityId, String key) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture findAllLatest(EntityId entityId) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture save(EntityId entityId, long partition, TsKvEntry tsKvEntry) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture savePartition(EntityId entityId, long partition, String key) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultSetFuture saveLatest(EntityId entityId, TsKvEntry tsKvEntry) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public TsKvEntry convertResultToTsKvEntry(Row row) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<TsKvEntry> convertResultToTsKvEntryList(List<Row> rows) { |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
@ -1,7 +1,12 @@ |
|||||
|
# cassandra environment variables |
||||
CASSANDRA_DATA_DIR=/home/docker/cassandra_volume |
CASSANDRA_DATA_DIR=/home/docker/cassandra_volume |
||||
|
|
||||
# cassandra schema container environment variables |
# cassandra schema environment variables |
||||
CREATE_SCHEMA=true |
CREATE_SCHEMA=true |
||||
ADD_SYSTEM_DATA=false |
ADD_SYSTEM_DATA=false |
||||
ADD_DEMO_DATA=false |
ADD_DEMO_DATA=false |
||||
CASSANDRA_URL=cassandra |
CASSANDRA_URL=cassandra |
||||
|
|
||||
|
# postgres environment variables |
||||
|
POSTGRES_DATA_DIR=/home/docker/postgres_volume |
||||
|
POSTGRES_PASSWORD=postgres |
||||
@ -0,0 +1,21 @@ |
|||||
|
# |
||||
|
# Copyright © 2016-2017 The Thingsboard Authors |
||||
|
# |
||||
|
# 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. |
||||
|
# |
||||
|
|
||||
|
FROM postgres:9.6 |
||||
|
|
||||
|
ADD init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh |
||||
|
|
||||
|
CMD ["postgres"] |
||||
@ -0,0 +1,10 @@ |
|||||
|
VERSION=1.2.4 |
||||
|
PROJECT=thingsboard |
||||
|
APP=postgres |
||||
|
|
||||
|
build: |
||||
|
docker build --pull -t ${PROJECT}/${APP}:${VERSION} -t ${PROJECT}/${APP}:latest . |
||||
|
|
||||
|
push: build |
||||
|
docker push ${PROJECT}/${APP}:${VERSION} |
||||
|
docker push ${PROJECT}/${APP}:latest |
||||
@ -0,0 +1,22 @@ |
|||||
|
#!/bin/bash |
||||
|
# |
||||
|
# Copyright © 2016-2017 The Thingsboard Authors |
||||
|
# |
||||
|
# 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. |
||||
|
# |
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL |
||||
|
CREATE DATABASE thingsboard; |
||||
|
EOSQL |
||||
Loading…
Reference in new issue