Java скрипты
Скрипты написаны полностью на языке Java, поэтому могут иметь доступ ко всем ресурсам сервера, на котором запущен AggreGate Server, включая:
Любые объекты в оперативной памяти
Файловую систему
Сетевой и последовательный интерфейсы ввода/вывода
Консоли, журналирование и даже графический интерфейс пользователя
Многопоточную обработку
![]() | Скрипты выполняются в среде JVM, и их права доступа никак не ограничены. Обратитесь к разделу безопасность скриптов для получения подробной информации. |
Интерфейс скрипта
Скрипты написаны на языке Java. Каждый скрипт - это отдельный Java класс, который должен реализовать интерфейс Script:
public interface FunctionImplementation
{
DataTable execute(Context con, FunctionDefinition def, CallerController caller, RequestController request, DataTable parameters) throws ContextException;
}Этот интерфейс объявляет единственный метод execute(), который вызывается AggreGate Server при выполнении скрипта.
Разработка скриптов
Изучите руководство по программированию, чтобы получить общую информацию о разработке скриптов AggreGate.
Шаблон скрипта
Когда создается новый скрипт, он содержит автоматически сгенерированную заглушку класса реализации интерфейса Скрипта с пустым методом execute(). Ниже представлен текст скрипта по умолчанию:
import com.tibbo.aggregate.common.context.*;
import com.tibbo.aggregate.common.datatable.*;
import com.tibbo.aggregate.common.server.*;
import com.tibbo.linkserver.*;
import com.tibbo.linkserver.context.*;
public class %ScriptClassNamePattern% implements FunctionImplementation
{
public DataTable execute(Context con, FunctionDefinition def, CallerController caller, RequestController request, DataTable parameters) throws ContextException
{
return null;
}
}![]() | Обратите внимание, что |
После того, как вы добавили необходимый код внутрь тела метода execute(), вы можете попробовать выполнить скрипт. Обратите внимание, что скрипт перекомпилируется при каждом выполнении. Система сообщает пользователю о любых ошибках компиляции. Используйте описание действия Выполнить для дополнительной информации.
Пример скрипта
Пример Java скрипта, который меняет IP адрес устройства:
import com.tibbo.aggregate.common.context.CallerController;
import com.tibbo.aggregate.common.context.Context;
import com.tibbo.aggregate.common.context.ContextException;
import com.tibbo.aggregate.common.context.FunctionDefinition;
import com.tibbo.aggregate.common.context.FunctionImplementation;
import com.tibbo.aggregate.common.context.RequestController;
import com.tibbo.aggregate.common.datatable.DataTable;
public class %ScriptClassNamePattern% implements FunctionImplementation
{
public DataTable execute(Context con, FunctionDefinition def, CallerController caller, RequestController request, DataTable parameters) throws ContextException
{
// Getting IP address
DataTable val = con.getVariable("IP_setting", caller);
// Changing IP address
val.rec().setValue("IP_setting", "192.168.1.235");
// Writing new value of variable
con.setVariable("IP_setting", caller, val);
// Rebooting Device Server
con.callFunction("reboot", caller);
return null;
}
}Was this page helpful?
