Как установить двойник с аннотациями Java - PullRequest
0 голосов
/ 08 января 2019

Я пишу пользовательский модуль для использования с Tridiums Niagara Framework версии 4.3, и значение по умолчанию, которое я пытаюсь установить, выдает следующую ошибку:

ожидаемая ошибка 'class' или 'interface'.

Я пробовал несколько разных способов установить это, и ошибка остается. Я попытался начать с нуля и получить ту же ошибку.

package com.lgelectronics.lge;

import javax.baja.nre.annotations.Facet;
import javax.baja.nre.annotations.NiagaraProperty;
import javax.baja.nre.annotations.NiagaraType;
import javax.baja.sys.*;

@NiagaraType

@NiagaraProperty
    (
            name = "Schedule",
            type = "Baja:Boolean",
            flags = Flags.SUMMARY,
            defaultValue = "False"
    )
@NiagaraProperty
    (
            name = "OccupiedCoolingSetPoint",
            type = "Baja:Double",
            flags = Flags.SUMMARY,
            facets=
                    {
@Facet(name = "BFacets.UNITS", value = "BUnit.getUnit(\"fahrenheit\")"),
@Facet(name = "BFacets.PRECISION", value = "BInteger.make(1)"),
@Facet(name = "BFacets.MIN", value = "BDouble.make(0D)"),
@Facet(name = "BFacets.MAX", value = "BDouble.make(100D)")
                    },
          defaultValue = "BDouble.make(\"74.0\")"
    )
@NiagaraProperty
    (
            name = "UnOccupiedCoolingSetPoint",
            type = "Baja:Double",
            flags = Flags.SUMMARY,
            facets=
                    {
@Facet(name = "BFacets.UNITS", value = "BUnit.getUnit(\"fahrenheit\")"),
@Facet(name = "BFacets.PRECISION", value = "BInteger.make(1)"),
@Facet(name = "BFacets.MIN", value = "BDouble.make(0D)"),
@Facet(name = "BFacets.MAX", value = "BDouble.make(100D)")
                    },
      defaultValue = "BDouble.make(\"85.0\")"
    )
@NiagaraProperty
    (
            name = "OccupiedHeatingSetPoint",
            type = "Baja:Double",
            flags = Flags.SUMMARY,
            facets=
            {
@Facet(name = "BFacets.UNITS", value = "BUnit.getUnit(\"fahrenheit\")"),
@Facet(name = "BFacets.PRECISION", value = "BInteger.make(1)"),
@Facet(name = "BFacets.MIN", value = "BDouble.make(0D)"),
@Facet(name = "BFacets.MAX", value = "BDouble.make(100D)")
            },
            defaultValue = "BDouble.make(\"70.0\")"
    )
@NiagaraProperty
    (
            name = "UnOccupiedHeatingSetPoint",
            type = "Baja:Double",
            flags = Flags.SUMMARY,
            facets=
            {
@Facet(name = "BFacets.UNITS", value ="BUnit.getUnit(\"fahrenheit\")"),
@Facet(name = "BFacets.PRECISION", value = "BInteger.make(1)"),
@Facet(name = "BFacets.MIN", value = "BDouble.make(0D)"),
@Facet(name = "BFacets.MAX", value = "BDouble.make(100D)")
            },
            defaultValue = "BDouble.make(\"55.0\")"
    )
public class BSchedule extends BComponent {
}

Я ожидаю, что в строке defaultValue отсутствует ожидаемая ошибка 'class' или 'interface'.

1 Ответ

0 голосов
/ 04 апреля 2019

Ваш синтаксис является проблемой, вы должны использовать следующий синтаксис.

defaultValue = "BDouble.make(55.0)",

См. Полный пример,

@NiagaraProperty(
  name = "delayTime",
  type = "baja:Double",
  defaultValue = "BDouble.make(500)",
  facets = {
    @Facet(name = "BFacets.MIN", value = "BDouble.make(0)"),
    @Facet(name = "BFacets.MAX", value = "BDouble.make(2000)"),
    @Facet(name = "BFacets.UX_FIELD_EDITOR", value = "BString.make(\"midi:RangeSlider\")")
  }
)
...