use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceDwr method initDataSourceTypes.
/**
* Init Data Source Types
*
* @return
*/
@DwrPermission(user = true)
public ProcessResult initDataSourceTypes() {
ProcessResult response = new ProcessResult();
User user = Common.getUser();
if (user.isDataSourcePermission()) {
List<StringStringPair> translatedTypes = new ArrayList<>();
for (String type : ModuleRegistry.getDataSourceDefinitionTypes()) {
translatedTypes.add(new StringStringPair(type, translate(ModuleRegistry.getDataSourceDefinition(type).getDescriptionKey())));
}
StringStringPairComparator.sort(translatedTypes);
response.addData("types", translatedTypes);
}
return response;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class DataSourceDwr method getPollTimes.
/**
* Get the latest poll times and thier durations
* @param id
* @return
*/
@DwrPermission(user = true)
public ProcessResult getPollTimes(int id) {
ProcessResult result = new ProcessResult();
DataSourceRT ds = Common.runtimeManager.getRunningDataSource(id);
List<StringStringPair> polls = new ArrayList<StringStringPair>();
if ((ds != null) && (ds instanceof PollingDataSource)) {
List<LongLongPair> list = ((PollingDataSource) ds).getLatestPollTimes();
String pollTime;
for (LongLongPair poll : list) {
StringBuilder duration = new StringBuilder();
pollTime = Functions.getFullMilliSecondTime(poll.getKey());
if (poll.getValue() >= 0) {
// Format Duration Nicely
Period period = new Period(poll.getValue());
if (period.getHours() >= 1) {
duration.append(translate("common.duration.hours", period.getHours()));
duration.append(SPACE);
}
if (period.getMinutes() >= 1) {
duration.append(translate("common.duration.minutes", period.getMinutes()));
duration.append(SPACE);
}
if (period.getSeconds() >= 1) {
duration.append(translate("common.duration.seconds", period.getSeconds()));
duration.append(SPACE);
}
duration.append(translate("common.duration.millis", period.getMillis()));
} else {
duration.append(translate("event.ds.pollAborted"));
}
StringStringPair pair = new StringStringPair(pollTime, duration.toString());
polls.add(pair);
}
}
List<String> aborts = new ArrayList<String>();
if ((ds != null) && (ds instanceof PollingDataSource)) {
List<Long> list = ((PollingDataSource) ds).getLatestAbortedPollTimes();
String pollTime;
for (Long poll : list) {
pollTime = Functions.getFullMilliSecondTime(poll);
aborts.add(pollTime);
}
}
result.addData("polls", polls);
result.addData("aborts", aborts);
return result;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class ModulesDwr method scheduleShutdown.
@DwrPermission(admin = true)
public static ProcessResult scheduleShutdown() {
ProcessResult result = new ProcessResult();
synchronized (SHUTDOWN_TASK_LOCK) {
if (SHUTDOWN_TASK == null) {
long timeout = Common.getMillis(Common.TimePeriods.SECONDS, 10);
// Ensure our lifecycle state is set to PRE_SHUTDOWN
IMangoLifecycle lifecycle = Providers.get(IMangoLifecycle.class);
SHUTDOWN_TASK = lifecycle.scheduleShutdown(timeout, false, Common.getHttpUser());
// Get the redirect page
result.addData("shutdownUri", "/shutdown.htm");
} else {
result.addData("message", Common.translate("modules.shutdownAlreadyScheduled"));
}
}
return result;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class PublisherListDwr method togglePublisher.
@DwrPermission(admin = true)
public ProcessResult togglePublisher(int publisherId) {
ProcessResult response = new ProcessResult();
PublisherVO<? extends PublishedPointVO> publisher = Common.runtimeManager.getPublisher(publisherId);
publisher.setEnabled(!publisher.isEnabled());
publisher.validate(response);
if (!response.getHasMessages())
Common.runtimeManager.savePublisher(publisher);
else
publisher.setEnabled(!publisher.isEnabled());
response.addData("enabled", publisher.isEnabled());
response.addData("id", publisherId);
return response;
}
use of com.serotonin.m2m2.web.dwr.util.DwrPermission in project ma-core-public by infiniteautomation.
the class StartupDwr method getStartupProgress.
@DwrPermission(anonymous = true)
public ProcessResult getStartupProgress(long since) {
ProcessResult result = new ProcessResult();
IMangoLifecycle lifecycle = Providers.get(IMangoLifecycle.class);
float progress = lifecycle.getStartupProgress();
float shutdownProgress = lifecycle.getShutdownProgress();
List<String> messages = LoggingConsoleRT.instance.getMessagesSince(since);
StringBuilder builder = new StringBuilder();
for (String message : messages) {
builder.append(message);
builder.append("</br>");
}
result.addData("message", builder.toString());
result.addData("startupProgress", progress);
result.addData("shutdownProgress", shutdownProgress);
result.addData("state", getLifecycleStateMessage(lifecycle.getLifecycleState()));
if ((progress >= 100) && (shutdownProgress == 0)) {
WebContext ctx = WebContextFactory.get();
result.addData("startupUri", DefaultPagesDefinition.getLoginUri(ctx.getHttpServletRequest(), ctx.getHttpServletResponse()));
}
// Add the message to describe what process we are in
if ((progress < 100) && (shutdownProgress == 0)) {
result.addData("processMessage", this.translations.translate("startup.startingUp"));
} else if ((shutdownProgress > 0) && (lifecycle.isRestarting())) {
result.addData("processMessage", this.translations.translate("shutdown.restarting"));
} else if (shutdownProgress > 0) {
result.addData("processMessage", this.translations.translate("shutdown.shuttingDown"));
}
if ((progress == 100) && (shutdownProgress == 0)) {
result.addData("processMessage", this.translations.translate("startup.state.running"));
}
return result;
}
Aggregations