mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Some more WIP towards greendao. Note: does not compile atm.
This commit is contained in:
+27
-10
@@ -28,9 +28,11 @@ public class GBDaoGenerator {
|
||||
|
||||
public static final String VALID_FROM_UTC = "validFromUTC";
|
||||
public static final String VALID_TO_UTC = "validToUTC";
|
||||
private static final String MAIN_PACKAGE = "nodomain.freeyourgadget.gadgetbridge";
|
||||
private static final String MODEL_PACKAGE = MAIN_PACKAGE + ".model";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
Schema schema = new Schema(7, "nodomain.freeyourgadget.gadgetbridge.entities");
|
||||
Schema schema = new Schema(7, MAIN_PACKAGE + ".entities");
|
||||
|
||||
Entity userAttributes = addUserAttributes(schema);
|
||||
Entity user = addUserInfo(schema, userAttributes);
|
||||
@@ -45,7 +47,7 @@ public class GBDaoGenerator {
|
||||
}
|
||||
|
||||
private static Entity addUserInfo(Schema schema, Entity userAttributes) {
|
||||
Entity user = schema.addEntity("User");
|
||||
Entity user = addEntity(schema, "User");
|
||||
user.addIdProperty();
|
||||
user.addStringProperty("name").notNull();
|
||||
user.addDateProperty("birthday").notNull();
|
||||
@@ -59,7 +61,7 @@ public class GBDaoGenerator {
|
||||
private static Entity addUserAttributes(Schema schema) {
|
||||
// additional properties of a user, which may change during the lifetime of a user
|
||||
// this allows changing attributes while preserving user identity
|
||||
Entity userAttributes = schema.addEntity("UserAttributes");
|
||||
Entity userAttributes = addEntity(schema, "UserAttributes");
|
||||
userAttributes.addIdProperty();
|
||||
userAttributes.addIntProperty("heightCM").notNull();
|
||||
userAttributes.addIntProperty("weightKG").notNull();
|
||||
@@ -72,7 +74,7 @@ public class GBDaoGenerator {
|
||||
}
|
||||
|
||||
private static Entity addDevice(Schema schema, Entity deviceAttributes) {
|
||||
Entity device = schema.addEntity("Device");
|
||||
Entity device = addEntity(schema, "Device");
|
||||
device.addIdProperty();
|
||||
device.addStringProperty("name").notNull();
|
||||
device.addStringProperty("manufacturer").notNull();
|
||||
@@ -84,7 +86,7 @@ public class GBDaoGenerator {
|
||||
}
|
||||
|
||||
private static Entity addDeviceAttributes(Schema schema) {
|
||||
Entity deviceAttributes = schema.addEntity("DeviceAttributes");
|
||||
Entity deviceAttributes = addEntity(schema, "DeviceAttributes");
|
||||
deviceAttributes.addIdProperty();
|
||||
deviceAttributes.addStringProperty("firmwareVersion1").notNull();
|
||||
deviceAttributes.addStringProperty("firmwareVersion2");
|
||||
@@ -96,29 +98,44 @@ public class GBDaoGenerator {
|
||||
|
||||
private static Entity addMiBandActivitySample(Schema schema, Entity user, Entity device) {
|
||||
// public GBActivitySample(SampleProvider provider, int timestamp, int intensity, int steps, int type, int customValue) {
|
||||
Entity activitySample = schema.addEntity("MiBandActivitySample");
|
||||
Entity activitySample = addEntity(schema, "MiBandActivitySample");
|
||||
activitySample.addImport(MODEL_PACKAGE + ".HeartRateSample");
|
||||
activitySample.implementsInterface("HeartRateSample");
|
||||
addCommonAcivitySampleProperties(schema, activitySample, user, device);
|
||||
activitySample.addIntProperty("heartrate");
|
||||
activitySample.addIntProperty("heartRate");
|
||||
return activitySample;
|
||||
}
|
||||
|
||||
private static Entity addPebbleActivitySample(Schema schema, Entity user, Entity device) {
|
||||
// public GBActivitySample(SampleProvider provider, int timestamp, int intensity, int steps, int type, int customValue) {
|
||||
Entity activitySample = schema.addEntity("PebbleActivitySample");
|
||||
Entity activitySample = addEntity(schema, "PebbleActivitySample");
|
||||
addCommonAcivitySampleProperties(schema, activitySample, user, device);
|
||||
// activitySample.addIntProperty("heartrate").notNull();
|
||||
return activitySample;
|
||||
}
|
||||
|
||||
private static void addCommonAcivitySampleProperties(Schema schema, Entity activitySample, Entity user, Entity device) {
|
||||
activitySample.addImport(MODEL_PACKAGE + ".ActivitySample");
|
||||
activitySample.addImport(MAIN_PACKAGE + ".devices.SampleProvider");
|
||||
activitySample.implementsInterface("ActivitySample");
|
||||
activitySample.setJavaDoc(
|
||||
"This class represents a sample specific to the device. Values like activity kind or\n" +
|
||||
"intensity, are device specific. Normalized values can be retrieved through the\n" +
|
||||
"corresponding {@link SampleProvider}.");
|
||||
activitySample.addIdProperty();
|
||||
activitySample.addIntProperty("timestamp").notNull();
|
||||
activitySample.addIntProperty("intensity").notNull();
|
||||
activitySample.addIntProperty("rawIntensity").notNull();
|
||||
activitySample.addIntProperty("steps").notNull();
|
||||
activitySample.addIntProperty("type").notNull();
|
||||
activitySample.addIntProperty("rawKind").notNull();
|
||||
Property userId = activitySample.addLongProperty("userId").getProperty();
|
||||
activitySample.addToOne(user, userId);
|
||||
Property deviceId = activitySample.addLongProperty("deviceId").getProperty();
|
||||
activitySample.addToOne(device, deviceId);
|
||||
}
|
||||
|
||||
private static Entity addEntity(Schema schema, String className) {
|
||||
Entity entity = schema.addEntity(className);
|
||||
entity.addImport("de.greenrobot.dao.AbstractDao");
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user