From ec5621d030a68101ec321f2d07ff3c267c600a78 Mon Sep 17 00:00:00 2001 From: Peter Golian Date: Fri, 10 Jul 2015 11:19:30 +0200 Subject: [PATCH 1/2] #384 implementation of links handling --- .../gui/components/SchedulePipeline.java | 31 +- .../odcs/frontend/gui/views/Scheduler.java | 265 ++- .../resources/frontend-messages.properties | 1523 +++++++++-------- .../resources/frontend-messages_sk.properties | 47 +- 4 files changed, 1066 insertions(+), 800 deletions(-) diff --git a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java index 6bfb0b0bc3..efec676829 100644 --- a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java +++ b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java @@ -46,7 +46,7 @@ /** * Dialog for the scheduling rule creation. Designed for setting the description * of when the pipeline should be executed. - * + * * @author Maria Kukhar */ public class SchedulePipeline extends Window { @@ -180,7 +180,7 @@ public void init() { /** * Is initialized. - * + * * @return If is initialized */ public boolean isInitialized() { @@ -189,7 +189,7 @@ public boolean isInitialized() { /** * Sets the corresponding value of Pipeline to the dialog. - * + * * @param selectedPipeline */ public void setSelectePipeline(Pipeline selectedPipeline) { @@ -221,7 +221,7 @@ public void setSelectePipeline(Pipeline selectedPipeline) { /** * Selects given schedule and displays it. - * + * * @param selectedSchedule */ public void setSelectedSchedule(Schedule selectedSchedule) { @@ -298,7 +298,7 @@ public void setSelectedSchedule(Schedule selectedSchedule) { } //AFTER_PIPELINE type else { - //setting after_pipeline list + //setting after_pipeline list Set after = selectedSchedule.getAfterPipelines(); List afterNames = new ArrayList<>(); for (Pipeline afteritem : after) { @@ -332,7 +332,7 @@ public void setSelectedSchedule(Schedule selectedSchedule) { /** * Builds main layout contains pipeline, the type of pipeline scheduling, * layouts with components for setting each of the type. - * + * * @return mainLayout GridLayout with all dialog components */ @AutoGenerated @@ -773,7 +773,7 @@ public void valueChange(ValueChangeEvent event) { /** * Building layout for the AFTER_PIPELINE scheduling type. Calls from {@link #buildMainLayout} in case of {@link #scheduleType} is setting as * {@link ScheduleType#AFTER_PIPELINE} - * + * * @return afterLayout GridLayout with components that designed for setting * schedule the pipeline to run after selected pipelines finish. */ @@ -819,7 +819,7 @@ public void textChange(final FieldEvents.TextChangeEvent event) { filter = new SimpleTreeFilter(event.getText(), true, false); f.addContainerFilter(filter); - // update filters + // update filters source.showAll(); source.filter(isInitialized, new InMemorySource.Filter() { @@ -855,7 +855,7 @@ public boolean filter(Pipeline object) { selectPipe.setItemCaptionPropertyId("name"); selectPipe.setLeftColumnCaption(Messages.getString("SchedulePipeline.pipelines.available")); selectPipe.setRightColumnCaption(Messages.getString("SchedulePipeline.pipelines.selected")); - //selectPipe is mandatory component + //selectPipe is mandatory component selectPipe.addValidator(new Validator() { private static final long serialVersionUID = 1L; @@ -881,7 +881,7 @@ public void validate(Object value) throws InvalidValueException { /** * Building layout for the PERIODICALLY scheduling type. Calls from {@link #buildMainLayout} in case of {@link #scheduleType} is setting as * {@link ScheduleType#PERIODICALLY} - * + * * @return autoLayout GridLayout with components that designed for setting * schedule the pipeline to run automatically in fixed interval. */ @@ -939,7 +939,7 @@ public void valueChange(ValueChangeEvent event) { dateIntervalLayout.addComponent(new Label(Messages.getString("SchedulePipeline.interval"))); - //OptionGroup with an interval + //OptionGroup with an interval inervalLayout = new VerticalLayout(); intervalOption = new OptionGroup(); intervalOption.setImmediate(true); @@ -1125,7 +1125,7 @@ public void validate(Object val) throws InvalidValueException { /** * Creating error message in case of wrong email format or duplicate emails * in Notification tab - * + * * @return String with error message */ private String emailValidation() { @@ -1259,4 +1259,11 @@ private String getScheduleAuthorDisplayName(Schedule schedule) { return ownerDisplayName; } } + + public void setPipeline(Long pipelineId) { + if (pipelineId != null) { + comboPipeline.setValue(pipelineId); + comboPipeline.setEnabled(false); + } + } } diff --git a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java index aff45be652..8025a945c8 100644 --- a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java +++ b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java @@ -1,22 +1,37 @@ package cz.cuni.mff.xrg.odcs.frontend.gui.views; +import java.text.DateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.tepi.filtertable.paged.PagedFilterTable; +import org.tepi.filtertable.paged.PagedTableChangeEvent; +import org.vaadin.dialogs.ConfirmDialog; + +import ru.xpoft.vaadin.VaadinView; + import com.github.wolfie.refresher.Refresher; import com.vaadin.data.Property; import com.vaadin.data.util.IndexedContainer; import com.vaadin.event.ItemClickEvent; import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; +import com.vaadin.server.Page; import com.vaadin.server.Resource; import com.vaadin.server.ThemeResource; -import com.vaadin.ui.Button; +import com.vaadin.ui.*; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; -import com.vaadin.ui.CustomTable; -import com.vaadin.ui.Embedded; -import com.vaadin.ui.HorizontalLayout; -import com.vaadin.ui.UI; -import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window.CloseEvent; import com.vaadin.ui.Window.CloseListener; + import cz.cuni.mff.xrg.odcs.commons.app.auth.EntityPermissions; import cz.cuni.mff.xrg.odcs.commons.app.auth.PermissionUtils; import cz.cuni.mff.xrg.odcs.commons.app.facade.PipelineFacade; @@ -36,30 +51,19 @@ import cz.cuni.mff.xrg.odcs.frontend.gui.tables.IntlibPagedTable; import cz.cuni.mff.xrg.odcs.frontend.i18n.Messages; import cz.cuni.mff.xrg.odcs.frontend.navigation.Address; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Scope; -import org.vaadin.dialogs.ConfirmDialog; -import ru.xpoft.vaadin.VaadinView; - -import java.text.DateFormat; -import java.util.Date; -import java.util.List; -import java.util.Set; +import cz.cuni.mff.xrg.odcs.frontend.navigation.ParametersHandler; /** * GUI for Scheduler page which opens from the main menu. Contains table with * scheduler rules and button for scheduler rule creation. - * + * * @author Maria Kukhar */ @org.springframework.stereotype.Component @Scope("session") @VaadinView(Scheduler.NAME) @Address(url = "Scheduler") -public class Scheduler extends ViewComponent implements PostLogoutCleaner { +public class Scheduler extends ViewComponent implements PostLogoutCleaner, Presenter { private static final org.slf4j.Logger log = LoggerFactory.getLogger( Scheduler.class); @@ -168,11 +172,12 @@ public void refresh(Refresher source) { } }); refreshManager.triggerRefresh(); + setParameters(ParametersHandler.getConfiguration(event.getParameters())); } /** * Builds main layout contains table with created scheduling pipeline rules. - * + * * @return mainLayout VerticalLayout with all components of Scheduler page. */ private VerticalLayout buildMainLayout() { @@ -201,7 +206,7 @@ private VerticalLayout buildMainLayout() { @Override public void buttonClick(ClickEvent event) { // open scheduler dialog - showSchedulePipeline(null); + showSchedulePipeline(null, null); } }); topLine.addComponent(addRuleButton); @@ -279,7 +284,8 @@ public void itemClick(ItemClickEvent event) { if (!schedulerTable.isSelected(event.getItemId())) { try { Long schId = Long.parseLong(event.getItem().getItemProperty("schid").getValue().toString()); - showSchedulePipeline(schId); + showSchedulePipeline(schId, null); + changeURI(schId); } catch (NumberFormatException e) { log.error(e.getLocalizedMessage()); // cannot cast String to Long probably @@ -288,13 +294,20 @@ public void itemClick(ItemClickEvent event) { } } }); + schedulerTable.addListener(new PagedFilterTable.PageChangeListener() { + @Override + public void pageChanged(PagedTableChangeEvent event) { + int newPageNumber = event.getCurrentPage(); + pageChangedHandler(newPageNumber); + } + }); return mainLayout; } /** * Container with data for table {@link #schedulerTable}. - * + * * @param data * List of {@link Schedule}. * @return result IndexedContainer with data for {@link #schedulerTable}. @@ -356,8 +369,8 @@ public IndexedContainer getTableData(List data) { + Messages.getString("Scheduler.and.repeat") + " " + Messages.getString("Scheduler." + item.getPeriodUnit().toString() - .toLowerCase() + ".one")); - } else if(item.getPeriod() <= 4) { + .toLowerCase() + ".one")); + } else if (item.getPeriod() <= 4) { result.getContainerProperty(id, "rule").setValue( Messages.getString("Scheduler.run.on", df.format(item.getFirstExecution())) + Messages.getString("Scheduler.and.repeat") @@ -365,8 +378,8 @@ public IndexedContainer getTableData(List data) { + item.getPeriod().toString() + " " + Messages.getString("Scheduler." + item.getPeriodUnit().toString() - .toLowerCase() + ".lte.four")); - }else { + .toLowerCase() + ".lte.four")); + } else { result.getContainerProperty(id, "rule").setValue( Messages.getString("Scheduler.run.on", df.format(item.getFirstExecution())) + Messages.getString("Scheduler.and.repeat") @@ -374,7 +387,7 @@ public IndexedContainer getTableData(List data) { + item.getPeriod().toString() + " " + Messages.getString("Scheduler." + item.getPeriodUnit().toString() - .toLowerCase() + ".more")); + .toLowerCase() + ".more")); } } } else { @@ -443,11 +456,11 @@ private void refreshData() { /** * Shows dialog for scheduling pipeline with given scheduling rule. - * + * * @param id * Id of schedule to show. */ - private void showSchedulePipeline(Long id) { + private void showSchedulePipeline(Long id, Long pipelineId) { // open scheduler dialog if (!schedulePipeline.isInitialized()) { @@ -465,15 +478,23 @@ public void windowClose(CloseEvent e) { schedule = scheduleFacade.getSchedule(id); } schedulePipeline.setSelectedSchedule(schedule); + if (pipelineId != null) { + schedulePipeline.setPipeline(pipelineId); + } if (!UI.getCurrent().getWindows().contains(schedulePipeline)) { + if (schedulePipeline.isAttached()) { + schedulePipeline.detach(); + schedulePipeline.close(); + } + refreshManager.removeListener(RefreshManager.SCHEDULER); UI.getCurrent().addWindow(schedulePipeline); } } /** * Generate column "commands" in the table {@link #schedulerTable}. - * + * * @author Maria Kukhar */ class actionColumnGenerator implements CustomTable.ColumnGenerator { @@ -502,8 +523,9 @@ public void buttonClick(ClickEvent event) { refreshData(); } }); - if (canEdit(schedule)) + if (canEdit(schedule)) { layout.addComponent(enableButton); + } } //If item in the scheduler table has Enabled status, then for that item will be shown //Disable button @@ -519,8 +541,9 @@ public void buttonClick(ClickEvent event) { refreshData(); } }); - if (canEdit(schedule)) + if (canEdit(schedule)) { layout.addComponent(disableButton); + } } } @@ -532,11 +555,12 @@ public void buttonClick(ClickEvent event) { editButton.addClickListener(new com.vaadin.ui.Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { - showSchedulePipeline(schId); + showSchedulePipeline(schId, null); } }); - if (canEdit(schedule)) + if (canEdit(schedule)) { layout.addComponent(editButton); + } //Delete button. Delete scheduling rule from the table. Button deleteButton = new Button(); @@ -564,8 +588,9 @@ public void onClose(ConfirmDialog cd) { }); } }); - if (canDelete(schedule)) + if (canDelete(schedule)) { layout.addComponent(deleteButton); + } return layout; } @@ -611,4 +636,170 @@ public String getBooleanFilterDisplayName(Object propertyId, boolean value) { public void doAfterLogout() { isMainLayoutInitialized = false; } + + private void changeURI(Long scheduleId) { + String uriFragment = Page.getCurrent().getUriFragment(); + ParametersHandler handler = new ParametersHandler(uriFragment); + handler.addParameter("schedule", "" + scheduleId); + ((AppEntry) UI.getCurrent()).setUriFragment(handler.getUriFragment(), false); + } + + @Override + public Object enter() { + if (!isMainLayoutInitialized) { + buildMainLayout(); + isMainLayoutInitialized = true; + } + setCompositionRoot(mainLayout); + + refreshManager = ((AppEntry) UI.getCurrent()).getRefreshManager(); + refreshManager.addListener(RefreshManager.SCHEDULER, new Refresher.RefreshListener() { + private long lastRefreshFinished = 0; + + @Override + public void refresh(Refresher source) { + if (new Date().getTime() - lastRefreshFinished > RefreshManager.MIN_REFRESH_INTERVAL) { + boolean hasModifiedExecutions = pipelineFacade.hasModifiedExecutions(lastLoad); + if (hasModifiedExecutions) { + lastLoad = new Date(); + refreshData(); + } + LOG.debug("Scheduler refreshed."); + lastRefreshFinished = new Date().getTime(); + } + } + }); + refreshManager.triggerRefresh(); + +// if (isMainLayoutInitialized) { +// navigator = ((AppEntry) UI.getCurrent()).getNavigation(); +// addRefreshManager(); +// return view.enter(this); +// } +// +// navigator = ((AppEntry) UI.getCurrent()).getNavigation(); +// // prepare data object +//// cachedSource = new DbCachedSource<>(dbExecution, new ExecutionAccessor(), utils.getPageLength()); +// +// cachedSource = new DbCachedSource<>(dbExecutionView, new ExecutionViewAccessor(), utils.getPageLength()); +// +// ReadOnlyContainer c = new ReadOnlyContainer<>(cachedSource); +// c.sort(new Object[] { "id" }, new boolean[] { false }); +// dataObject = new ExecutionListData(c); +// // prepare view +// Object viewObject = view.enter(this); +// addRefreshManager(); +// +// // set data object +// view.setDisplay(dataObject); +// +// isMainLayoutInitialized = true; + + // return main component + return this; + } + + @Override + public void setParameters(Object configuration) { + if (configuration != null && Map.class.isAssignableFrom(configuration.getClass())) { + schedulerTable.resetFilters(); + int pageNumber = 0; + Long pipelineId = null; + Map config = (Map) configuration; + Long scheduleId = null; + boolean showNewScheduleForm = false; + for (Map.Entry entry : config.entrySet()) { + if (entry.getKey().contains("New/")) { + showNewScheduleForm = true; + } + switch (entry.getKey()) { + case "schedule": + case "New/schedule": + scheduleId = Long.parseLong(entry.getValue()); + schedulerTable.select(scheduleId); + changeURI(scheduleId); + showDebugEventHandler(scheduleId); + break; + case "page": + case "New/page": + pageNumber = Integer.parseInt(entry.getValue()); + break; + case "pipeline": + case "New/pipeline": + pipelineId = Long.parseLong(entry.getValue()); + Pipeline pipeline = pipelineFacade.getPipeline(pipelineId); + List pipelineSchedules = scheduleFacade.getSchedulesFor(pipeline); + schedulerTable.removeAllItems(); + tableData = getTableData(pipelineSchedules); + schedulerTable.setContainerDataSource(tableData); + schedulerTable.setCurrentPage(pageNumber); + schedulerTable.setVisibleColumns((Object[]) visibleCols); + schedulerTable.setFilterFieldVisible("commands", false); + schedulerTable.setFilterFieldVisible("duration", false); + LOG.debug("Scheduler refreshed."); + refreshManager.triggerRefresh(); + break; +// case "id": +// view.setFilter(entry.getKey(), ParametersHandler.getInterval(entry.getValue())); +// break; +// case "status": +// view.setFilter(entry.getKey(), PipelineExecutionStatus.valueOf(entry.getValue())); +// break; +// case "isDebugging": +// case "schedule": +// view.setFilter(entry.getKey(), Boolean.parseBoolean(entry.getValue())); +// break; +// case "start": +// view.setFilter(entry.getKey(), ParametersHandler.getDateInterval(entry.getValue())); +// break; + default: + schedulerTable.setFilterFieldValue(entry.getKey(), entry.getValue()); + break; + } + } + if (showNewScheduleForm) { + showSchedulePipeline(null, pipelineId); + showNewScheduleForm = false; + } + pageNumber = scheduleId == null ? pageNumber : getExecPage(scheduleId); + if (pageNumber != 0) { + //Page number is set as last, because filtering automatically moves table to first page. + schedulerTable.setCurrentPage(pageNumber); + } + } + } + + public int getExecPage(Long scheduleId) { + Iterator it = schedulerTable.getItemIds().iterator(); + int index = 0; + while (it.hasNext()) { + Long id = ((Integer) it.next()).longValue(); + if (id.equals(scheduleId)) { + return (index / schedulerTable.getPageLength()) + 1; // pages are from 1 + } + index++; + } + return 0; + } + + public void showDebugEventHandler(long scheduleId) { + if (!schedulerTable.getItemIds().contains((new Long(scheduleId)).intValue())) { + return; + } + Schedule schedule = scheduleFacade.getSchedule(scheduleId); + if (schedule == null) { + Notification.show(Messages.getString("Scheduler.0", scheduleId), Notification.Type.ERROR_MESSAGE); + return; + } +// view.showExecutionDetail(exec, new ExecutionDetailData(getMessageDataSource())); + showSchedulePipeline(scheduleId, null); + } + + public void pageChangedHandler(Integer newPageNumber) { + String uriFragment = Page.getCurrent().getUriFragment(); + ParametersHandler handler = new ParametersHandler(uriFragment); + handler.addParameter("page", newPageNumber.toString()); + ((AppEntry) UI.getCurrent()).setUriFragment(handler.getUriFragment(), false); + } + } diff --git a/frontend/src/main/resources/frontend-messages.properties b/frontend/src/main/resources/frontend-messages.properties index 3079b07efc..9c363e39d2 100644 --- a/frontend/src/main/resources/frontend-messages.properties +++ b/frontend/src/main/resources/frontend-messages.properties @@ -1,730 +1,799 @@ +#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) # Example of English language bundle. Used as default. -# Enumeration -PRIVATE=Private -PUBLIC_RO=Public (ReadOnly) -PUBLIC_RW=Public -# Other -MenuLayout.backend.online=Backend is online\! -MenuLayout.backend.offline=Backend is offline\! -MenuLayout.pipelines=Pipelines -MenuLayout.dpuTemplates=DPU Templates -MenuLayout.executionMonitor=Execution Monitor -MenuLayout.home=Home -MenuLayout.icon.logout=Log out -MenuLayout.logout=Logout -MenuLayout.scheduler=Scheduler -MenuLayout.settings=Settings -AppEntry.confirmDialog.discard=Discard changes -AppEntry.confirmDialog.name=Unsaved changes -AppEntry.confirmDialog.save=Save -AppEntry.confirmDialog.text=There are unsaved changes.\nDo you wish to save them or discard? -AppEntry.database.error=Cannot connect to database\! -AppEntry.database.error.description=Please make sure that the database is running and properly configured. -AppEntry.unexpected.error=Unexpected error occured. -AppEntry.unexpected.error.description=Please reload the application. -AppEntry.permission.denied = Permission denied +AppEntry.confirmDialog.discard = Discard changes +AppEntry.confirmDialog.name = Unsaved changes +AppEntry.confirmDialog.save = Save +AppEntry.confirmDialog.text = There are unsaved changes.\nDo you wish to save them or discard? +AppEntry.database.error = Cannot connect to database! +AppEntry.database.error.description = Please make sure that the database is running and properly configured. +AppEntry.permission.denied = Permission denied AppEntry.permission.denied.description = You don't have sufficient permissions to execute this operation -AuthenticationService.user.not.found=User ''{0}'' could not be found when trying remember-me authentication. -AuthenticationService.token.expired=Remember-me token has expired. -AuthenticationService.token.hash.invalid=Invalid authentication token hash. -AuthenticationService.token.invalid=Invalid token provided\! -AuthenticationService.validation.error=Could not validate hash for given remember-me token. -DataBrowser.browser=

DataBrowser -DataUnitNamesValidator.same.dataunit=DPU contains two data units with same name (''{0}'')\! -DataUnitSelector.browse=Browse -DataUnitSelector.dataUnit=Select Data Unit: -DataUnitSelector.dpu=Select DPU: -DataUnitSelector.input=Input -DataUnitSelector.output=Output -DebuggingView.browse=Browse/Query -DebuggingView.case.browse=Browse -DebuggingView.download=Download all logs -DebuggingView.events=Events -DebuggingView.log=Log -DebuggingView.options=Options -DebuggingView.refresh=Refresh automatically -DebuggingView.status=Pipeline status: -DecorationHelper.shceduled=Scheduled -DecorationHelper.manual=Manual -MaxLengthValidator.exception=Max length is {0} characters! Current length is {1} characters! -PipelineHelper.backend.offline.dialog.cancel=Cancel -PipelineHelper.backend.offline.dialog.message=Backend is offline. Should the pipeline be scheduled to be launched when backend is online or do you want to cancel the execution? -PipelineHelper.backend.offline.dialog.name=Pipeline execution -PipelineHelper.backend.offline.dialog.schedule=Schedule -PipelineHelper.execution.started=Pipeline execution started .. -PipelineHelper.execution.state.description=Execution state changed in the meantime. Check and try again. -PipelineHelper.execution.state.title=Execution not sheduled / canceled -PipelineHelper.start.failed=Failed to start execution. -PipelineHelper.start.failed.description=Pipeline execution already queued or running. -EdgeDetail.available.mappings=Available mappings: -EdgeDetail.cancel=Cancel -EdgeDetail.clear=Clear selection -EdgeDetail.detele=Delete mapping -EdgeDetail.edge.detail=Edge detail -EdgeDetail.incompatible.type=Input and output data unit have incompatible type, mapping could not be created\! -EdgeDetail.input.dataUnits=Input data units of the target DPU: -EdgeDetail.map=Map -EdgeDetail.mapping.exists=Selected mapping already exists\! -EdgeDetail.minimum.selected=At least one output and exactly one input must be selected\! -EdgeDetail.output.dataUnits=Output data units of the source DPU: -EdgeDetail.run.after=Is "run after" edge -EdgeDetail.save=Save -EmailComponent.email.duplicate=duplicate e-mail -EmailComponent.email.not.filled=e-mail must be filled -EmailComponent.email.prompt=user@email.com -EmailComponent.email.wrong=wrong e-mail format -EmailNotifications.bulk.report=Daily bulk report -EmailNotifications.bulk.report.default=Daily bulk report (default) -EmailNotifications.error=Error in execution: -EmailNotifications.instant=Instant -EmailNotifications.instant.default=Instant (default) -EmailNotifications.no.report=No report -EmailNotifications.no.report.default=No report (default) -EmailNotifications.successful=Successful execution: -EmailNotifications.started=Execution started -EmailNotifications.manual = Send reports also for non-scheduled executions -ExecutionAccessor.id=Id -ExecutionAccessor.started=Started -ExecutionAccessor.pipeline=Pipeline -ExecutionAccessor.duration=Duration -ExecutionAccessor.owner=Executed by -ExecutionAccessor.status=Status -ExecutionAccessor.isDebugging=Debug -ExecutionAccessor.lastChange=Last modification -ExecutionAccessor.schedule=Sch. -ExecutionListPresenterImpl.error=Execution with ID={0} does not exist\! -ExecutionListViewImpl.back.to.exexution=Back to Execution Monitor -ExecutionListViewImpl.cancel=Cancel -ExecutionListViewImpl.clear.filters=Clear Filters -ExecutionListViewImpl.clear.sort=Clear Sort -ExecutionListViewImpl.debug=Debug -ExecutionListViewImpl.debug.data=Debug data -ExecutionListViewImpl.debug.pipeline=Debug pipeline -ExecutionListViewImpl.detail=Detail -ExecutionListViewImpl.FALSE=FALSE -ExecutionListViewImpl.inDebug.false=False -ExecutionListViewImpl.inDebug.true=True -ExecutionListViewImpl.manual=Manual -ExecutionListViewImpl.refresh=Refresh -ExecutionListViewImpl.run=Run -ExecutionListViewImpl.run.pipeline=Run pipeline -ExecutionListViewImpl.scheduled=Scheduled -ExecutionListViewImpl.show.log=Show log -ExecutionListViewImpl.actions=Actions -ExecutionListViewImpl.TRUE=TRUE -ExecutionViewAccessor.id=Id -ExecutionViewAccessor.started=Started -ExecutionViewAccessor.pipeline=Pipeline -ExecutionViewAccessor.duration=Duration -ExecutionViewAccessor.owner=Executed by -ExecutionViewAccessor.status=Status -ExecutionViewAccessor.isDebugging=Debug -ExecutionViewAccessor.lastChange=Last modification -ExecutionViewAccessor.schedule=Sch. -MessageRecordAccessor.dpu=DPU Instance -MessageRecordAccessor.short=Short message -MessageRecordAccessor.timestamp=Timestamp -MessageRecordAccessor.type=type -NamespacePrefixes.actions=Actions -NamespacePrefixes.delete=Delete -NamespacePrefixes.dialog.cancel=Cancel -NamespacePrefixes.dialog.delete=Delete -NamespacePrefixes.dialog.delete.prefix=Confirmation of deleting prefix -NamespacePrefixes.dialog.description=Delete the {0} prefix? -NamespacePrefixes.edit=Edit -NamespacePrefixes.filters.clear=Clear Filters -NamespacePrefixes.id=ID -NamespacePrefixes.prefix.name=Prefix name -NamespacePrefixes.prefix.new=Create new prefix -NamespacePrefixes.prefix.URI=Prefix URI -NewLogAccessor.dpu=DPU Instance -NewLogAccessor.message=Message -NewLogAccessor.timestamp=Timestamp -NewLogAccessor.type=Type -PipelineAccessor.id=Id -PipelineAccessor.lastExecution=Last execution time -PipelineAccessor.lastRun=Last run time -PipelineAccessor.lastStatus=Last status -PipelineAccessor.name=Name -PipelineConflicts.cancel=Cancel -PipelineConflicts.clear.conflicts=Clear Conflicts -PipelineConflicts.conflicting.pipelines=Conflict pipelines -PipelineConflicts.ok=OK -PipelineConflicts.pipeline.conflicts=Pipeline Conflicts -PipelineConflicts.pipeline.list=Pipeline list -PipelineStatus.last.run=Last run: -PipelineStatus.run.numbers=Number of runs: -PipelineStatus.status=Pipeline status -PipelineViewAccessor.id=Id -PipelineViewAccessor.lastExecution=Last execution time -PipelineViewAccessor.lastRun=Last run time -PipelineViewAccessor.lastStatus=Last status -PipelineViewAccessor.name=Name -PrefixCreate.cancel=Cancel -PrefixCreate.prefix.details=Prefix details -PrefixCreate.prefix.empty=Prefix Name field must be filled -PrefixCreate.prefix.exists=prefix with this name is already exist -PrefixCreate.prefix.name=Prefix Name: -PrefixCreate.save=Save -PrefixCreate.save.failed=Failed to save settings. Reason: -PrefixCreate.uri.empty=Prefix URI field must be filled -PrefixCreate.uri.prefix=Prefix URI: -PrefixCreate.uri.wrong=wrong Uri format -PresenterViewDisplay_no.component=Presenter do not return a component: -PresenterViewDisplay_view.not.component=View is not a component: -BindingSetItem.add.exception=Not supported for BindingSetItem. -BindingSetItem.remove.exception=Not supported for BindingSetItem. -ClassNavigatorImpl.no.address=There is no address for presenter: -ConfigurationDialogValidator.exception=Failed to load dialog for exception: -RDFQuery.constructItem.unsupported=RDFLazyQueryContainer is read-only. -RDFQuery.constructSize.invalidQuery=This query is probably not valid. -RDFQuery.constructSize.malformedQuery=This query is probably not valid as construct query. -RDFQuery.deleteAllItems.unsupported=RDFLazyQueryContainer is read-only. -RDFQuery.loadItems.dataUnit.description=Error: -RDFQuery.loadItems.dataUnit.name=DataUnit problem -RDFQuery.loadItems.exception=Unable to load RDFDataUnit. -RDFQuery.loadItems.invalidQuery.description=Query is not valid: -RDFQuery.loadItems.invalidQuery.name=Query Validator -RDFQuery.loadItems.queryEvaluation.description=Error in query evaluation: -RDFQuery.loadItems.queryEvaluation.name=Query Evaluation -RDFQuery.queryType.invalidQuery=Invalid query: -RDFQuery.resultSize.invalidQuery=Given query: {0} have to be SELECT or CONSTRUCT type. -RDFQuery.saveItems.unsupported=RDFLazyQueryContainer is read-only. -RDFQuery.selectSize.invalidQuery=Query: {0} has no bindings for information about its size. -RDFQuery.selectSize.malformedQuery=This query is probably not valid. -RDFQuery.selectSize.notValid=This query is probably not valid. -RDFQuery.size.exception=Unable to load RDFDataUnit. -RDFQuery.size.invalidQuery.description=Query is not valid: -RDFQuery.size.invalidQuery.name=Query Validator -RDFQueryFactory.exception=Unsupported QueryDefinition class. -RDFQueryView.closing.problem=Problem closing connection -RDFQueryView.consctuct.not.supported=Not suported format for CONSTRUCT query \! -RDFQueryView.consctuct.not.supported.description=This format can be used only for SELECT queries \! -RDFQueryView.dataunit.problem=Problem with DataUnit -RDFQueryView.download=Download -RDFQueryView.download.error=There was error in creating donwload file\! -RDFQueryView.download.query.not.valid=Query is not valid: -RDFQueryView.download.validator=Query Validator -RDFQueryView.format.empty=Format not selected\! -RDFQueryView.format.empty.description=Format must be selected for download\! -RDFQueryView.format.not.supported.construct=This format can be used only for CONSTRUCT queries \! -RDFQueryView.query=SPARQL Query: -RDFQueryView.query.empty=No query was specified. Please specify query before running it. -RDFQueryView.query.invalid=Invalid query: -RDFQueryView.query.not.valid=Query is not valid: -RDFQueryView.run=Run Query -RDFQueryView.run.and.download=Run Query and Download -RDFQueryView.run.query.not.valid=Query is not valid: -RDFQueryView.run.validator=Query Validator -RDFQueryView.select.not.supported=Not suported format for SELECT query \! -RDFQueryView.validator=Query Validator -RecordDetail.close=Close -RecordDetail.excecution=Pipeline execution: -RecordDetail.message=Message: -RecordDetail.record.detail=Record detail -RecordDetail.short.message=Short message: -RecordDetail.time=Time: -RecordDetail.type=Type: -RepositoryFrontendHelper.construct.evaluation=This query is probably not valid. -RepositoryFrontendHelper.construct.failed=Getting GraphQueryResult using SPARQL construct query failed. -RepositoryFrontendHelper.construct.malformed=This query is probably not valid. -RepositoryFrontendHelper.construct2.evaluation=This query is probably not valid. -RepositoryFrontendHelper.construct2.failed=Creating File with RDF data fault. -RepositoryFrontendHelper.describe.resource=Resource {0} is not URI type. -RepositoryFrontendHelper.evaluationException=This query is probably not valid. -RepositoryFrontendHelper.select.dataFault=Creating File with RDF data fault. -RepositoryFrontendHelper.select.invalidQuery=This query is probably not valid. -RepositoryFrontendHelper.selectAsTuples.evaluation=This query is probably not valid. -RepositoryFrontendHelper.selectAsTuples.failed=Getting TupleQueryResult using SPARQL select query failed. -RepositoryFrontendHelper.selectAsTuples.malformed=This query is probably not valid. -RepositoryFrontendHelper.update.exception=Connection to repository is not available. -RepositoryFrontendHelper.update.not.executed=SPARQL query was not executed! -FileQueryView.browser.not.available= Browser is not available. -FileUploadReceiver.file.open=Could not open file
-FrontendDataUnitManager.dataUnit.create=Can not create DataUnit. -FrontendDataUnitManager.dataUnit.load=Can not load DataUnit. -FrontendDataUnitManager.resource=Missing resource. -DbCachedSource.data.failed=Failed to load data. -DbCachedSource.index.fail=Can not determine the index of non cached data. -DPUConfigHolder.configuration=This DPU does not provide configuration component. -DPUCreate.cancel=Cancel -DPUCreate.close=Close -DPUCreate.create=DPU Template Creation -DPUCreate.create.description=It creates DPU templates from DPUs inside ZIP -DPUCreate.create.description2=\ file using DPU template name from DPU defined by DPU developer. -DPUCreate.create.description3=\ DPU template name can be later changed. -DPUCreate.create.failed=Failed to create DPU -DPUCreate.description=Description -DPUCreate.file.choose=Choose file -DPUCreate.jars.empty=There is no jars in file: -DPUCreate.load.failed=Problem with loading file: -DPUCreate.load.failed.list=Problem with loading dpu template list file -DPUCreate.name=Name -DPUCreate.name.filled=Name must be filled\! -DPUCreate.prompt= -DPUCreate.result.log=Result log -DPUCreate.save=Save -DPUCreate.save.failed=Failed to save DPURecord -DPUCreate.save.failed.description=Mandatory fields should be filled -DPUCreate.save.jar=Save -DPUCreate.select.jar=Select .jar file -DPUCreate.select.zip=Select .zip file -DPUCreate.selected.file=Selected file is not .{0} file -DPUCreate.upload=Upload file must be filled\! -DPUCreate.visibility=Visibility -DPUDetail.cancel=Cancel -DPUDetail.configuration.loadFail.dialog=Failed to load configuration dialog. -DPUDetail.configuration.problem=Configuration problem -DPUDetail.configuration.store.fail=Method for storing configuration threw exception: -DPUDetail.copy=Copy from template -DPUDetail.detail={0} detail{1} -DPUDetail.dpu.loadFail.dialog=Failed to load DPU, -DPUDetail.exception.message=Exception: {0}, Message: {1} -DPUDetail.missing.jar=Missing DPU jar file. -DPUDetail.query.validator=Query Validator -DPUDetail.query.validator.description=Validation of {0}. query failed: {1} -DPUDetail.read-only.mode=\ - Read only mode -DPUDetail.save=Save -DPUDetail.save.fail.dialog=Failed to save configuration. Reason: -DPUDetail.saveAs=Save as DPU template -DPUDetail.saveAs.dialog=Save as new DPU template? -DPUGeneralDetail.custom.description=Use custom description -DPUGeneralDetail.description=Description -DPUGeneralDetail.dpu.filled=DPU name must be filled\! -DPUGeneralDetail.dpu.saving.error=Error saving DPU configuration. Reason: -DPUGeneralDetail.name=Name -DPUGeneralDetail.parent=Parent -DPUGeneralDetail.parent.not.set=no parent is set\! -DPUGeneralDetail.template.configuration=Use template configuration -DPUPresenterImpl.cannot.remove.dpu=DPURecord can not be removed because it has child elements -DPUPresenterImpl.configuration.save.failed=The configuration have not been saved. -DPUPresenterImpl.copy.of=Copy of -DPUPresenterImpl.delete.dialog=Would you really like to delete the "{0}" pipeline and all associated records (DPU instances e.g.)? -DPUPresenterImpl.delete.dialog.confirmation=Confirmation of deleting pipeline -DPUPresenterImpl.delete.dialog.confirmation.cancel=Cancel -DPUPresenterImpl.delete.dialog.confirmation.delete=Delete pipeline -DPUPresenterImpl.dpu.not.removed=DPURecord can not be removed because it has been used in Pipeline: -DPUPresenterImpl.dpu.removed=DPURecord was removed -DPUPresenterImpl.dpu.used=DPURecord can not be removed because it is being used in pipelines: -DPUPresenterImpl.dpurecord.saved=DPURecord was saved -DPUPresenterImpl.not.supported=Not supported yet. -DPUPresenterImpl.pipeline.running=Pipeline {0} has current(QUEUED or RUNNING) execution(s) and cannot be deleted now\! -DPUPresenterImpl.replace.failed=Failed to replace DPU -DPUPresenterImpl.replace.finished=Replace finished -DPUPresenterImpl.unExpected.error=Unexpected error. The configuration may have not been saved. -DPUPresenterImpl.unsaved.changes=Unsaved changes -DPUPresenterImpl.unsaved.changes.dialog=There are unsaved changes.\nDo you wish to save them or discard? -DPUPresenterImpl.unsaved.changes.discard=Discard changes -DPUPresenterImpl.unsaved.changes.save=Save -DPURecordWrap.configure=Failed to configure dpu's dialog. -DPURecordWrap.exception=Configuration dialog throws an exception. -DPURecordWrap.load=Failed to load dialog. -DPURecordWrap.save=Failed to save configuration. -DPUTemplateDetail.description.jar=Description of JAR: -DPUTemplateDetail.jar.error=Selected file is not .jar file -DPUTemplateDetail.path.jar=JAR path: -DPUTemplateDetail.replace=Replace -DPUTemplateDetail.uploading.failed=Uploading {0} failed. -DPUTemplateDetail.visibility=Visibility: -DPUTemplatesExport.cancel=Cancel -DPUTemplatesExport.checkAll=Check All -DPUTemplatesExport.dpu.templates=DPU templates -DPUTemplatesExport.export=Export -DPUTemplatesExport.export.fail=Failed to export templates. -DPUTemplatesExport.export.fail.fileNotFound=Failed to export templates. -DPUTemplatesExport.template=Template name -DPUTemplatesExport.type=Type -DPUTemplatesExport.uncheckAll=Uncheck All -DPUTree.create.dpu=Create DPU template -DPUTree.expand.tree=Expand DPU tree -DPUTree.export.dpu=Export DPU templates -DPUTree.extractors=Extractors -DPUTree.filter.tree=Type to filter tree -DPUTree.loaders=Loaders -DPUTree.minimize.tree=Minimize DPU tree -DPUTree.private.only=Only private DPU templates -DPUTree.quality=Quality -DPUTree.template.tree=DPU Templates Tree -DPUTree.transformers=Transformers -DPUTree.unknown=Unknown type: -DPUViewImpl.actionColumn.delete=Delete -DPUViewImpl.actionColumn.detail=Detail -DPUViewImpl.actionColumn.status=Status -DPUViewImpl.configuration.problem=Configuration problem -DPUViewImpl.copy=Copy -DPUViewImpl.create.template=Create DPU template -DPUViewImpl.delete=Delete -DPUViewImpl.delete.confirmation=Confirmation of deleting DPU template -DPUViewImpl.delete.confirmation.cancelButton=Cancel -DPUViewImpl.delete.confirmation.deleteButton=Delete -DPUViewImpl.delete.confirmation.description=Delete {0} DPU template? -DPUViewImpl.description=Description: -DPUViewImpl.dpu.configuration.changes=DPU's configuration dialog throws when asked for changes. It is assumed to be changed. -DPUViewImpl.dpu.instances=DPU instances -DPUViewImpl.exception.configuration.fail=Failed to load configuration dialog -DPUViewImpl.export=Export -DPUViewImpl.export.all=Export All -DPUViewImpl.file.not.jar=Selected file is not .jar file -DPUViewImpl.fileNotFound=File not found -DPUViewImpl.fileNotFound.configuration.load.fail=Failed to load configuration dialog -DPUViewImpl.general=General -DPUViewImpl.import.template=Import DPU template -DPUViewImpl.jar.description=Description of JAR: -DPUViewImpl.jar.path=JAR path: -DPUViewImpl.name=Name: -DPUViewImpl.name.empty=Name must be filled\! -DPUViewImpl.pipelines=Pipelines: -DPUViewImpl.replace=Replace -DPUViewImpl.save=Save -DPUViewImpl.select.dpu.info=Select DPU template from the DPU template tree for displaying it is details. -DPUViewImpl.template.configuration=Template Configuration -DPUViewImpl.unexpected.error=Unexpected error. The configuration dialog may not be loaded correctly. -DPUViewImpl.uploding.failed=Uploading {0} failed. -DPUViewImpl.validation.error=Error validating DPU -DPUViewImpl.visibility=Visibility: -IntlibFilterDecorator.clear=Clear -IntlibFilterDecorator.false=False -IntlibFilterDecorator.from=From -IntlibFilterDecorator.set=Set -IntlibFilterDecorator.to=To -IntlibFilterDecorator.true=True -IntlibPagedTable.page=Page:  -Login.admin.contact=For account creation, please contact admin at: {0}. -Login.database.error=Database error, check connection and configuration. -Login.invalid.credentials=Invalid credentials for username {0}. -Login.login=

Login

-Login.login.button=Login -Login.password=Password: -Login.rememberMe=Remember me -Login.user=User: -LogMessageDetail.close=Close -LogMessageDetail.level=Level: -LogMessageDetail.log.message=Log message detail -LogMessageDetail.message=Message: -LogMessageDetail.source=Source: -LogMessageDetail.time=Time: -SchedulePipeline.are.introduced=, are introduced more times, please correct. -SchedulePipeline.cancel=Cancel -SchedulePipeline.core=Core -SchedulePipeline.create.rule.failed=Failed to create scheduler rule. -SchedulePipeline.create.rule.failed.description=\ Please correct that before saving. -SchedulePipeline.date.and.time.execution=Date and time of first execution: -SchedulePipeline.days=Days -SchedulePipeline.description=Description -SchedulePipeline.email=Email -SchedulePipeline.email.at.least.once=At least one mail has to be filled, so that the notification can be send. -SchedulePipeline.email2=Email -SchedulePipeline.emails=Emails -SchedulePipeline.emails.format.wrong=, have wrong format. -SchedulePipeline.emails2=Emails -SchedulePipeline.every=every -SchedulePipeline.every.day=every day -SchedulePipeline.every.month=every month -SchedulePipeline.every.week=every week -SchedulePipeline.format.wrong=\ has wrong format. -SchedulePipeline.hours=Hours -SchedulePipeline.id=ID -SchedulePipeline.immediate.start=\ - immediate start -SchedulePipeline.interval=Interval: -SchedulePipeline.interval.positive=; Interval value must be a positive integer number, you entered " -SchedulePipeline.interval.positive2=Interval value must be a positive integer number, you entered " -SchedulePipeline.is.introduced=\ is introduced more times, please correct. -SchedulePipeline.minutes=Minutes -SchedulePipeline.months=Months -SchedulePipeline.new=New -SchedulePipeline.notifications=Notifications -SchedulePipeline.once=Just once -SchedulePipeline.pipeline=Pipeline -SchedulePipeline.pipeline.empty=Pipeline must be filled -SchedulePipeline.pipeline.filter=type to filter pipelines -SchedulePipeline.pipeline.select=Select pipeline: -SchedulePipeline.pipelines.available=Available pipelines -SchedulePipeline.pipelines.selected=Selected pipelines -SchedulePipeline.pipelines.selected.empty=Selected pipeline must be filled -SchedulePipeline.positive.value=Value must be positive -SchedulePipeline.priority=Priority -SchedulePipeline.save=Save -SchedulePipeline.save.success=Pipeline {0} scheduled successfuly\! -SchedulePipeline.schedule=Schedule a pipeline -SchedulePipeline.schedule.after=Schedule the pipeline to run after selected pipelines finish. -SchedulePipeline.schedule.periodically=Schedule the pipeline to run automatically in fixed interval. -SchedulePipeline.scheduled.by=Schedulled by -SchedulePipeline.settings.save.failed=Failed to save settings, reason: -SchedulePipeline.timed.strictly=Strictly Timed -SchedulePipeline.tolerance=Tolerance: -SchedulePipeline.tolerance.positive=; Tolerance value must be a positive integer number, you entered " -SchedulePipeline.tolerance.positive2=Tolerance value must be a positive integer number, you entered " -SchedulePipeline.use.default=Use default notification settings -SchedulePipeline.value.minutes=minutes -SchedulePipeline.value.positive=Value must be positive -Scheduler.actions=Actions -Scheduler.add.rule=Add new scheduling rule -Scheduler.and.repeat=\ and then repeat every -Scheduler.button.disable=Disable -Scheduler.button.enable=Enable -Scheduler.clear.filters=Clear Filters -Scheduler.delete=Delete -Scheduler.delete.scheduling=Confirmation of deleting scheduling rule -Scheduler.delete.scheduling.calcelButton=Cancel -Scheduler.delete.scheduling.deleteButton=Delete -Scheduler.delete.scheduling.description=Delete "{0}" pipeline scheduling rule? -Scheduler.disabled=Disabled -Scheduler.edit=Edit -Scheduler.enabled=Enabled -Scheduler.image.disabled=Disabled -Scheduler.image.enabled=Enabled -Scheduler.last=Last -Scheduler.last.runTime=Last run time -Scheduler.next=Next -Scheduler.pipeline=Pipeline -Scheduler.rule=Rule -Scheduler.scheduled.by = Scheduled by -Scheduler.run.after.pipeline=Run after pipeline: -Scheduler.run.after.pipelines=Run after pipelines: -Scheduler.run.on=Run on -Scheduler.status=Status -Scheduler.minute.one=minute -Scheduler.hour.one=hour -Scheduler.day.one=day -Scheduler.week.one=week -Scheduler.month.one=month -Scheduler.year.one=year -Scheduler.minute.lte.four=minutes -Scheduler.hour.lte.four==hours -Scheduler.day.lte.four==days -Scheduler.week.lte.four==weeks -Scheduler.month.lte.four==months -Scheduler.year.lte.four==years -Scheduler.minute.more=minutes -Scheduler.hour.more=hours -Scheduler.day.more=days -Scheduler.week.more=weeks -Scheduler.month.more=months -Scheduler.year.more=years -Settings.default.form=Default form of report about scheduled pipeline execution -Settings.default.form.detail=(may be overriden in the particular schedulled event) : -Settings.email.notifications=Email Notifications to: -Settings.failed.to.save=Failed to save settings, reason: -Settings.failed.to.save.description="Number of rows in tables" must be a number between 5 and 100. You entered "{0}". Please correct that before saving. -Settings.failed.to.save.reason=Failed to save settings, reason: -Settings.manage.users=Manage users -Settings.my.account=My account -Settings.myAccount.save=Save -Settings.myAccout.successfull=My account settings were successfully saved -Settings.name.required=Name is Required -Settings.notifications.save=Save -Settings.notifications.unsaved=Unsaved changes -Settings.notifications.unsaved.dialog=There are unsaved changes.\nDo you wish to save them or discard? -Settings.notifications.unsaved.discard=Discard changes -Settings.notifications.unsaved.save=Save -Settings.prompt.name=name -Settings.prompt.value=value -Settings.range.validation=Please enter value between 5 and 100. -Settings.runtime.properties=Runtime properties -Settings.runtime.properties.invalid.value=Save failed. -Settings.runtime.properties.save=Save -Settings.runtime.properties.save.failed=Save failed. -Settings.runtime.properties.save.failed.description=There are two or more properties with the same name: -Settings.runtime.properties.save.successfull=Save succesfull. -Settings.runtime.properties.save.successfull.description=Runtime properties were saved succesfully. -Settings.schedule.fail=Failed to save settings, reason: -Settings.schedule.fail.description=; "Number of rows in tables" must be a number between 5 and 100. You entered "{0}". Please correct that before saving. -Settings.scheduler.notifications=Scheduler notifications -Settings.table.row.count=Number of rows in tables: -Settings.unsaved.changes=Unsaved changes -Settings.unsaved.changes.dialog=There are unsaved changes.\nDo you wish to save them or discard? -Settings.unsaved.changes.discard=Discard changes -Settings.unsaved.changes.save=Save -Settings.validation.email=Email -Settings.validation.email.minimum=At least one mail has to be filled, so that the notification can be send. -Settings.validation.emails=Emails -Settings.validation.emails.wrong.format=, have wrong format. -Settings.validation.wrong.format=\ has wrong format. -UploadInfoWindow.cancel=Cancel -UploadInfoWindow.current.state=Current state -UploadInfoWindow.file.name=File name -UploadInfoWindow.idle=Idle -UploadInfoWindow.processed=Processed {0} k bytes of {1} k. -UploadInfoWindow.progress=Progress -UploadInfoWindow.status=Status -UploadInfoWindow.upload.idle=Idle -UploadInfoWindow.uploading=Uploading -UserCreate.cancel=Cancel -UserCreate.email=E-mail: -UserCreate.email.empty=e-mail field must be filled -UserCreate.full.user.name=Full user name: -UserCreate.password=Password: -UserCreate.password.confirmation=Password
confirmation: -UserCreate.password.different=The typed pasword is different than the retyped password -UserCreate.password.different2=The typed pasword is different than the retyped password -UserCreate.password.empty=The pasword can not be empty -UserCreate.password.empty2=The pasword can not be empty -UserCreate.roles.atLeastOne=at least one role must be set -UserCreate.roles.defined=Defined Roles: -UserCreate.roles.set=Set Roles: -UserCreate.save=Save -UserCreate.save.failed=Failed to save settings. Reason: -UserCreate.user.details=User's details -UserCreate.user.exists=user with this user name is already exist -UserCreate.user.filled=user name field must be filled -UserCreate.user.name=User name: -UserCreate.wrong.confirmation=Password confirmation is wrong -UserCreate.wrong.confirmation2=Password confirmation is wrong -UserCreate.wrong.confirmation3=Password confirmation is wrong -UserCreate.wrong.confirmation4=Password confirmation is wrong -UserCreate.wrong.email=wrong e-mail format -UserCreate.full.empty = Full user name must be filled -UsersList.actions=Actions -UsersList.cancel.option=Cancel -UsersList.delete=Delete -UsersList.delete.confirmation=Confirmation of deleting user -UsersList.delete.option=Delete -UsersList.detele.message=Delete the {0} user? -UsersList.edit=Edit -UsersList.filter.clear=Clear Filters -UsersList.full.username=Full User Name -UsersList.id=Id -UsersList.roles=Role(s) -UsersList.user.create=Create new user -UsersList.username=User Name -PipelineCanvas.edge.failed=Adding edge failed -PipelineCanvas.edge.from=Edge from {0} to {1}: {2}.\n -PipelineCanvas.invalid.mappings=Invalid mappings found\! -PipelineCanvas.mandatory.missing=Mandatory input/output(s) missing\! -PipelineCanvas.pipeline.invalid=Pipeline contained invalid mapping(s). They were removed. List of removed mappings:\n -PipelineCanvas.pipeline.valid=Pipeline is valid\! -PipelineEdit.align.bottom=Align bottom -PipelineEdit.align.left=Align left -PipelineEdit.align.right=Align right -PipelineEdit.align.top=Align top -PipelineEdit.close=Close -PipelineEdit.conflict.another.user=Another user made changes to the version you are editing, please refresh the pipeline detail\! -PipelineEdit.conflicts=Conflicts -PipelineEdit.copy=Copy -PipelineEdit.copy.and.close=Copy & Close -PipelineEdit.copy.notActual=Copying not actual version -PipelineEdit.copy.notActual.cancel=Cancel -PipelineEdit.copy.notActual.copyAnyway=Copy anyway -PipelineEdit.copy.notActual.description=You are copying version, which is not actual. If saved, you will not see changes made by other user. -PipelineEdit.copyClose.notActual=Copying not actual version -PipelineEdit.copyClose.notActual.cancel=Cancel -PipelineEdit.copyClose.notActual.copyAnyway=Copy anyway -PipelineEdit.copyClose.notActual.description=You are copying version, which is not actual. If saved, you will not see changes made by other user. -PipelineEdit.created.by=Created by -PipelineEdit.debug.window=Debug window -PipelineEdit.description=Description -PipelineEdit.developMode.caption.develop=Develop -PipelineEdit.developMode.caption.standard=Standard -PipelineEdit.distribute.horizontally=Distribute horizontally -PipelineEdit.distribute.vertically=Distribute vertically -PipelineEdit.exapand=Expand pipeline detail -PipelineEdit.export=Export -PipelineEdit.icon.align.bottom=Align bottom -PipelineEdit.icon.align.left=Align left -PipelineEdit.icon.align.right=Align right -PipelineEdit.icon.align.top=Align top -PipelineEdit.icon.distribute.horizontally=Distribute horizontally -PipelineEdit.icon.distribute.vertically=Distribute vertically -PipelineEdit.icon.undo=Undo -PipelineEdit.icon.zoomIn=Zoom in -PipelineEdit.icon.zoomOut=Zoom out -PipelineEdit.idLabel.id=ID -PipelineEdit.idValue.id=ID -PipelineEdit.minimize=Minimize pipeline detail -PipelineEdit.name=Name -PipelineEdit.name.empty=Name must be filled\! -PipelineEdit.opening.error=Error opening pipeline detail. -PipelineEdit.opening.error.description=You do not have permission to view this pipeline -PipelineEdit.opening.error.notExisting=Error opening pipeline detail. -PipelineEdit.opening.error.notExisting.description=Pipeline does not exist. -PipelineEdit.pipeline.detail=

Pipeline detail for: '' -PipelineEdit.pipeline.duplicate=Pipeline with same name already exists in the system. -PipelineEdit.pipeline.error.saving=Error saving pipeline -PipelineEdit.pipeline.insert=Insert pipeline name -PipelineEdit.pipeline.insert.description=Insert pipeline description -PipelineEdit.pipeline.overwrite=Overwriting pipeline -PipelineEdit.pipeline.overwrite.cancel=Cancel -PipelineEdit.pipeline.overwrite.description=You are editing version, which is not actual. If saved, changes made by other user will be overwritten. -PipelineEdit.pipeline.overwrite.saveAnyway=Save anyway -PipelineEdit.pipeline.save.public=Saving public pipeline -PipelineEdit.pipeline.save.public.cancel=Cancel -PipelineEdit.pipeline.save.public.description=Saving pipeline as public will cause all DPU templates, the pipeline is using, to become public. When they become public, they cannot be reverted to private. -PipelineEdit.pipeline.save.public.save=Save -PipelineEdit.read-only.mode=Pipeline is open in read-only mode -PipelineEdit.refresh=Refresh -PipelineEdit.rerun=Rerun -PipelineEdit.revert=Revert to last commit -PipelineEdit.save=Save -PipelineEdit.save.and.close=Save & Close -PipelineEdit.save.and.commit=Save & Commit -PipelineEdit.save.close.debug=Save & Close & Debug -PipelineEdit.save.successfull=Pipeline saved successfully\! -PipelineEdit.setMode.isDevelop.develop=Develop -PipelineEdit.setMode.isDevelop.standard=Standard -PipelineEdit.setMode.isStandard.develop=Develop -PipelineEdit.setMode.isStandard.standard=Standard -PipelineEdit.standardMode.caption.develop=Develop -PipelineEdit.standardMode.caption.standard=Standard -PipelineEdit.tab.develop=Develop -PipelineEdit.tab.standard=Standard -PipelineEdit.under.construction=Under construction -PipelineEdit.undo=Undo -PipelineEdit.user.browsing=User {0} is also browsing this pipeline. -PipelineEdit.users.browsing=Users {0} are also browsing this pipeline. -PipelineEdit.validate=Validate -PipelineEdit.visibility=Visibility -PipelineEdit.zoomIn=Zoom In -PipelineEdit.zoomOut=Zoom out -PipelineExport.close=close -PipelineExport.dpu.export=Export DPU data -PipelineExport.dpu.jarName=DPU jar's name -PipelineExport.dpu.template=DPU template -PipelineExport.dpu.version=Version -PipelineExport.dpus.used=Used dpus: -PipelineExport.export=export -PipelineExport.export.fail=Failed to export pipeline. -PipelineExport.export.fail2=Failed to export pipeline. -PipelineExport.jar.export=Export DPUs JARs -PipelineExport.pipeline.export=Pipeline export -PipelineExport.schedule.export=Export pipeline's schedule -PipelineImport.archive.notSelected=No archive selected. -PipelineImport.cancel=Cancel -PipelineImport.dpu.jarName=DPU jar's name -PipelineImport.dpu.template=DPU template -PipelineImport.dpu.used=The DPUs which are used in imported pipeline: -PipelineImport.dpu.version=Version -PipelineImport.import=Import -PipelineImport.import.fail=Import failed. -PipelineImport.import.schedule=Import pipeline's schedule -PipelineImport.import.usersData=Import user's data -PipelineImport.install.dpu=Please install DPUs from table and then run import again -PipelineImport.missing.dpu.fail=It is not possible to import pipeline due to missing DPUs.\n -PipelineImport.missing.dpu.template=DPU template -PipelineImport.missing.dpus=The DPUs which are missing in system. Install them before import: -PipelineImport.missing.jarName=DPU jar's name -PipelineImport.missing.version=version -PipelineImport.not.zip.file=Selected file is not zip file -PipelineImport.pipeline.import=Pipeline import -PipelineImport.read.file.fail=It is not possible to read the file [used_dpu.xml]\nwhere used dpus are. -PipelineImport.upload.file=Upload file -PipelineImport.zip.archive=Zip archive: -PipelineListPresenterImpl.copy.successfull=Pipeline {0} was successfully copied. -PipelineListPresenterImpl.delete.confirmation=Confirmation of deleting pipeline -PipelineListPresenterImpl.delete.confirmation.cancelButton=Cancel -PipelineListPresenterImpl.delete.confirmation.deleteButton=Delete pipeline -PipelineListPresenterImpl.delete.dialog=Would you really like to delete the "{0}" pipeline and all associated records (DPU instances e.g.)? -PipelineListPresenterImpl.pipeline.running=Pipeline {0} has current(QUEUED or RUNNING) execution(s) and cannot be deleted now\! -PipelineListPresenterImpl.pipeline.scheduled=\ This pipeline is schedulled by user(s) {0}. Delete anyway? -PipelineListViewImpl.clear.filters=Clear Filters -PipelineListViewImpl.clear.sort=Clear Sort -PipelineListViewImpl.copy=Copy -PipelineListViewImpl.create.pipeline=Create pipeline -PipelineListViewImpl.debug=Debug -PipelineListViewImpl.delete=Delete -PipelineListViewImpl.edit=Edit -PipelineListViewImpl.import.pipeline=Import pipeline -PipelineListViewImpl.run=Run -PipelineListViewImpl.schedule=Schedule -PipelineViewAccessor.createdBy=Created by -PipelineListViewImpl.actions=Actions +AppEntry.unexpected.error = Unexpected error occured. +AppEntry.unexpected.error.description = Please reload the application. + +AuthenticationService.token.expired = Remember-me token has expired. +AuthenticationService.token.hash.invalid = Invalid authentication token hash. +AuthenticationService.token.invalid = Invalid token provided! +AuthenticationService.user.not.found = User ''{0}'' could not be found when trying remember-me authentication. +AuthenticationService.validation.error = Could not validate hash for given remember-me token. + +BindingSetItem.add.exception = Not supported for BindingSetItem. +BindingSetItem.remove.exception = Not supported for BindingSetItem. + +ClassNavigatorImpl.no.address = There is no address for presenter: + +ConfigurationDialogValidator.exception = Failed to load dialog for exception: + +DPUConfigHolder.configuration = This DPU does not provide configuration component. + +DPUCreate.cancel = Cancel +DPUCreate.close = Close +DPUCreate.create = DPU Template Creation +DPUCreate.create.description = It creates DPU templates from DPUs inside ZIP +DPUCreate.create.description2 = \ file using DPU template name from DPU defined by DPU developer. +DPUCreate.create.description3 = \ DPU template name can be later changed. +DPUCreate.create.failed = Failed to create DPU +DPUCreate.description = Description +DPUCreate.file.choose = Choose file +DPUCreate.jars.empty = There is no jars in file: +DPUCreate.load.failed = Problem with loading file: +DPUCreate.load.failed.list = Problem with loading dpu template list file +DPUCreate.name = Name +DPUCreate.name.filled = Name must be filled! +DPUCreate.prompt = +DPUCreate.result.log = Result log +DPUCreate.save = Save +DPUCreate.save.failed = Failed to save DPURecord +DPUCreate.save.failed.description = Mandatory fields should be filled +DPUCreate.save.jar = Save +DPUCreate.select.jar = Select .jar file +DPUCreate.select.zip = Select .zip file +DPUCreate.selected.file = Selected file is not .{0} file +DPUCreate.upload = Upload file must be filled! +DPUCreate.visibility = Visibility + +DPUDetail.cancel = Cancel +DPUDetail.configuration.loadFail.dialog = Failed to load configuration dialog. +DPUDetail.configuration.problem = Configuration problem +DPUDetail.configuration.store.fail = Method for storing configuration threw exception: +DPUDetail.copy = Copy from template +DPUDetail.detail = {0} detail{1} +DPUDetail.dpu.loadFail.dialog = Failed to load DPU, +DPUDetail.exception.message = Exception: {0}, Message: {1} +DPUDetail.missing.jar = Missing DPU jar file. +DPUDetail.query.validator = Query Validator +DPUDetail.query.validator.description = Validation of {0}. query failed: {1} +DPUDetail.read-only.mode = \ - Read only mode +DPUDetail.save = Save +DPUDetail.save.fail.dialog = Failed to save configuration. Reason: +DPUDetail.saveAs = Save as DPU template +DPUDetail.saveAs.dialog = Save as new DPU template? + +DPUGeneralDetail.custom.description = Use custom description +DPUGeneralDetail.description = Description +DPUGeneralDetail.dpu.filled = DPU name must be filled! +DPUGeneralDetail.dpu.saving.error = Error saving DPU configuration. Reason: +DPUGeneralDetail.name = Name +DPUGeneralDetail.parent = Parent +DPUGeneralDetail.parent.not.set = no parent is set! +DPUGeneralDetail.template.configuration = Use template configuration + +DPUPresenterImpl.cannot.remove.dpu = DPURecord can not be removed because it has child elements +DPUPresenterImpl.configuration.save.failed = The configuration have not been saved. +DPUPresenterImpl.copy.of = Copy of +DPUPresenterImpl.delete.dialog = Would you really like to delete the "{0}" pipeline and all associated records (DPU instances e.g.)? +DPUPresenterImpl.delete.dialog.confirmation = Confirmation of deleting pipeline +DPUPresenterImpl.delete.dialog.confirmation.cancel = Cancel +DPUPresenterImpl.delete.dialog.confirmation.delete = Delete pipeline +DPUPresenterImpl.dpu.not.removed = DPURecord can not be removed because it has been used in Pipeline: +DPUPresenterImpl.dpu.removed = DPURecord was removed +DPUPresenterImpl.dpu.used = DPURecord can not be removed because it is being used in pipelines: +DPUPresenterImpl.dpurecord.saved = DPURecord was saved +DPUPresenterImpl.not.supported = Not supported yet. +DPUPresenterImpl.pipeline.running = Pipeline {0} has current(QUEUED or RUNNING) execution(s) and cannot be deleted now! +DPUPresenterImpl.replace.failed = Failed to replace DPU +DPUPresenterImpl.replace.finished = Replace finished +DPUPresenterImpl.unExpected.error = Unexpected error. The configuration may have not been saved. +DPUPresenterImpl.unsaved.changes = Unsaved changes +DPUPresenterImpl.unsaved.changes.dialog = There are unsaved changes.\nDo you wish to save them or discard? +DPUPresenterImpl.unsaved.changes.discard = Discard changes +DPUPresenterImpl.unsaved.changes.save = Save + +DPURecordWrap.configure = Failed to configure dpu's dialog. +DPURecordWrap.exception = Configuration dialog throws an exception. +DPURecordWrap.load = Failed to load dialog. +DPURecordWrap.save = Failed to save configuration. + +DPUTemplateDetail.description.jar = Description of JAR: +DPUTemplateDetail.jar.error = Selected file is not .jar file +DPUTemplateDetail.path.jar = JAR path: +DPUTemplateDetail.replace = Replace +DPUTemplateDetail.uploading.failed = Uploading {0} failed. +DPUTemplateDetail.visibility = Visibility: + +DPUTemplatesExport.cancel = Cancel +DPUTemplatesExport.checkAll = Check All +DPUTemplatesExport.dpu.templates = DPU templates +DPUTemplatesExport.export = Export +DPUTemplatesExport.export.fail = Failed to export templates. +DPUTemplatesExport.export.fail.fileNotFound = Failed to export templates. +DPUTemplatesExport.template = Template name +DPUTemplatesExport.type = Type +DPUTemplatesExport.uncheckAll = Uncheck All + +DPUTree.create.dpu = Create DPU template +DPUTree.expand.tree = Expand DPU tree +DPUTree.export.dpu = Export DPU templates +DPUTree.extractors = Extractors +DPUTree.filter.tree = Type to filter tree +DPUTree.loaders = Loaders +DPUTree.minimize.tree = Minimize DPU tree +DPUTree.private.only = Only private DPU templates +DPUTree.quality = Quality +DPUTree.template.tree = DPU Templates Tree +DPUTree.transformers = Transformers +DPUTree.unknown = Unknown type: + +DPUViewImpl.actionColumn.delete = Delete +DPUViewImpl.actionColumn.detail = Detail +DPUViewImpl.actionColumn.status = Status +DPUViewImpl.configuration.problem = Configuration problem +DPUViewImpl.copy = Copy +DPUViewImpl.create.template = Create DPU template +DPUViewImpl.delete = Delete +DPUViewImpl.delete.confirmation = Confirmation of deleting DPU template +DPUViewImpl.delete.confirmation.cancelButton = Cancel +DPUViewImpl.delete.confirmation.deleteButton = Delete +DPUViewImpl.delete.confirmation.description = Delete {0} DPU template? +DPUViewImpl.description = Description: +DPUViewImpl.dpu.configuration.changes = DPU's configuration dialog throws when asked for changes. It is assumed to be changed. +DPUViewImpl.dpu.instances = DPU instances +DPUViewImpl.exception.configuration.fail = Failed to load configuration dialog +DPUViewImpl.export = Export +DPUViewImpl.export.all = Export All +DPUViewImpl.file.not.jar = Selected file is not .jar file +DPUViewImpl.fileNotFound = File not found +DPUViewImpl.fileNotFound.configuration.load.fail = Failed to load configuration dialog +DPUViewImpl.general = General +DPUViewImpl.import.template = Import DPU template +DPUViewImpl.jar.description = Description of JAR: +DPUViewImpl.jar.path = JAR path: +DPUViewImpl.name = Name: +DPUViewImpl.name.empty = Name must be filled! +DPUViewImpl.pipelines = Pipelines: +DPUViewImpl.replace = Replace +DPUViewImpl.save = Save +DPUViewImpl.select.dpu.info = Select DPU template from the DPU template tree for displaying it is details. +DPUViewImpl.template.configuration = Template Configuration +DPUViewImpl.unexpected.error = Unexpected error. The configuration dialog may not be loaded correctly. +DPUViewImpl.uploding.failed = Uploading {0} failed. +DPUViewImpl.validation.error = Error validating DPU +DPUViewImpl.visibility = Visibility: + +DataBrowser.browser =

DataBrowser + +DataUnitNamesValidator.same.dataunit = DPU contains two data units with same name (''{0}'')! + +DataUnitSelector.browse = Browse +DataUnitSelector.dataUnit = Select Data Unit: +DataUnitSelector.dpu = Select DPU: +DataUnitSelector.input = Input +DataUnitSelector.output = Output + +DbCachedSource.data.failed = Failed to load data. +DbCachedSource.index.fail = Can not determine the index of non cached data. + +DebuggingView.browse = Browse/Query +DebuggingView.case.browse = Browse +DebuggingView.download = Download all logs +DebuggingView.events = Events +DebuggingView.log = Log +DebuggingView.options = Options +DebuggingView.refresh = Refresh automatically +DebuggingView.status = Pipeline status: + +DecorationHelper.manual = Manual +DecorationHelper.shceduled = Scheduled + +EdgeDetail.available.mappings = Available mappings: +EdgeDetail.cancel = Cancel +EdgeDetail.clear = Clear selection +EdgeDetail.detele = Delete mapping +EdgeDetail.edge.detail = Edge detail +EdgeDetail.incompatible.type = Input and output data unit have incompatible type, mapping could not be created! +EdgeDetail.input.dataUnits = Input data units of the target DPU: +EdgeDetail.map = Map +EdgeDetail.mapping.exists = Selected mapping already exists! +EdgeDetail.minimum.selected = At least one output and exactly one input must be selected! +EdgeDetail.output.dataUnits = Output data units of the source DPU: +EdgeDetail.run.after = Is "run after" edge +EdgeDetail.save = Save + +EmailComponent.email.duplicate = duplicate e-mail +EmailComponent.email.not.filled = e-mail must be filled +EmailComponent.email.prompt = user@email.com +EmailComponent.email.wrong = wrong e-mail format + +EmailNotifications.bulk.report = Daily bulk report +EmailNotifications.bulk.report.default = Daily bulk report (default) +EmailNotifications.error = Error in execution: +EmailNotifications.instant = Instant +EmailNotifications.instant.default = Instant (default) +EmailNotifications.manual = Send reports also for non-scheduled executions +EmailNotifications.no.report = No report +EmailNotifications.no.report.default = No report (default) +EmailNotifications.started = Execution started +EmailNotifications.successful = Successful execution: + +ExecutionAccessor.duration = Duration +ExecutionAccessor.id = Id +ExecutionAccessor.isDebugging = Debug +ExecutionAccessor.lastChange = Last modification +ExecutionAccessor.owner = Executed by +ExecutionAccessor.pipeline = Pipeline +ExecutionAccessor.schedule = Sch. +ExecutionAccessor.started = Started +ExecutionAccessor.status = Status + +ExecutionListPresenterImpl.error = Execution with ID={0} does not exist! + +ExecutionListViewImpl.FALSE = FALSE +ExecutionListViewImpl.TRUE = TRUE +ExecutionListViewImpl.actions = Actions +ExecutionListViewImpl.back.to.exexution = Back to Execution Monitor +ExecutionListViewImpl.cancel = Cancel +ExecutionListViewImpl.clear.filters = Clear Filters +ExecutionListViewImpl.clear.sort = Clear Sort +ExecutionListViewImpl.debug = Debug +ExecutionListViewImpl.debug.data = Debug data +ExecutionListViewImpl.debug.pipeline = Debug pipeline +ExecutionListViewImpl.detail = Detail +ExecutionListViewImpl.inDebug.false = False +ExecutionListViewImpl.inDebug.true = True +ExecutionListViewImpl.manual = Manual +ExecutionListViewImpl.refresh = Refresh +ExecutionListViewImpl.run = Run +ExecutionListViewImpl.run.pipeline = Run pipeline +ExecutionListViewImpl.scheduled = Scheduled +ExecutionListViewImpl.show.log = Show log + +ExecutionViewAccessor.duration = Duration +ExecutionViewAccessor.id = Id +ExecutionViewAccessor.isDebugging = Debug +ExecutionViewAccessor.lastChange = Last modification +ExecutionViewAccessor.owner = Executed by +ExecutionViewAccessor.pipeline = Pipeline +ExecutionViewAccessor.schedule = Sch. +ExecutionViewAccessor.started = Started +ExecutionViewAccessor.status = Status + +FileQueryView.browser.not.available =  Browser is not available. + +FileUploadReceiver.file.open = Could not open file
+ +FrontendDataUnitManager.dataUnit.create = Can not create DataUnit. +FrontendDataUnitManager.dataUnit.load = Can not load DataUnit. +FrontendDataUnitManager.resource = Missing resource. + +IntlibFilterDecorator.clear = Clear +IntlibFilterDecorator.false = False +IntlibFilterDecorator.from = From +IntlibFilterDecorator.set = Set +IntlibFilterDecorator.to = To +IntlibFilterDecorator.true = True + +IntlibPagedTable.page = Page:  + +LogMessageDetail.close = Close +LogMessageDetail.level = Level: +LogMessageDetail.log.message = Log message detail +LogMessageDetail.message = Message: +LogMessageDetail.source = Source: +LogMessageDetail.time = Time: + +Login.admin.contact = For account creation, please contact admin at: {0}. +Login.database.error = Database error, check connection and configuration. +Login.invalid.credentials = Invalid credentials for username {0}. +Login.login =

Login

+Login.login.button = Login +Login.password = Password: +Login.rememberMe = Remember me +Login.user = User: + +MaxLengthValidator.exception = Max length is {0} characters! Current length is {1} characters! + +MenuLayout.backend.offline = Backend is offline! +# Other +MenuLayout.backend.online = Backend is online! +MenuLayout.dpuTemplates = DPU Templates +MenuLayout.executionMonitor = Execution Monitor +MenuLayout.home = Home +MenuLayout.icon.logout = Log out +MenuLayout.logout = Logout +MenuLayout.pipelines = Pipelines +MenuLayout.scheduler = Scheduler +MenuLayout.settings = Settings + +MessageRecordAccessor.dpu = DPU Instance +MessageRecordAccessor.short = Short message +MessageRecordAccessor.timestamp = Timestamp +MessageRecordAccessor.type = type + +NamespacePrefixes.actions = Actions +NamespacePrefixes.delete = Delete +NamespacePrefixes.dialog.cancel = Cancel +NamespacePrefixes.dialog.delete = Delete +NamespacePrefixes.dialog.delete.prefix = Confirmation of deleting prefix +NamespacePrefixes.dialog.description = Delete the {0} prefix? +NamespacePrefixes.edit = Edit +NamespacePrefixes.filters.clear = Clear Filters +NamespacePrefixes.id = ID +NamespacePrefixes.prefix.URI = Prefix URI +NamespacePrefixes.prefix.name = Prefix name +NamespacePrefixes.prefix.new = Create new prefix + +NewLogAccessor.dpu = DPU Instance +NewLogAccessor.message = Message +NewLogAccessor.timestamp = Timestamp +NewLogAccessor.type = Type + +# Enumeration +PRIVATE = Private + +PUBLIC_RO = Public (ReadOnly) + +PUBLIC_RW = Public + +PipelineAccessor.id = Id +PipelineAccessor.lastExecution = Last execution time +PipelineAccessor.lastRun = Last run time +PipelineAccessor.lastStatus = Last status +PipelineAccessor.name = Name + +PipelineCanvas.edge.failed = Adding edge failed +PipelineCanvas.edge.from = Edge from {0} to {1}: {2}.\n +PipelineCanvas.invalid.mappings = Invalid mappings found! +PipelineCanvas.mandatory.missing = Mandatory input/output(s) missing! +PipelineCanvas.pipeline.invalid = Pipeline contained invalid mapping(s). They were removed. List of removed mappings:\n +PipelineCanvas.pipeline.valid = Pipeline is valid! + +PipelineConflicts.cancel = Cancel +PipelineConflicts.clear.conflicts = Clear Conflicts +PipelineConflicts.conflicting.pipelines = Conflict pipelines +PipelineConflicts.ok = OK +PipelineConflicts.pipeline.conflicts = Pipeline Conflicts +PipelineConflicts.pipeline.list = Pipeline list + +PipelineEdit.align.bottom = Align bottom +PipelineEdit.align.left = Align left +PipelineEdit.align.right = Align right +PipelineEdit.align.top = Align top +PipelineEdit.close = Close +PipelineEdit.conflict.another.user = Another user made changes to the version you are editing, please refresh the pipeline detail! +PipelineEdit.conflicts = Conflicts +PipelineEdit.copy = Copy +PipelineEdit.copy.and.close = Copy & Close +PipelineEdit.copy.notActual = Copying not actual version +PipelineEdit.copy.notActual.cancel = Cancel +PipelineEdit.copy.notActual.copyAnyway = Copy anyway +PipelineEdit.copy.notActual.description = You are copying version, which is not actual. If saved, you will not see changes made by other user. +PipelineEdit.copyClose.notActual = Copying not actual version +PipelineEdit.copyClose.notActual.cancel = Cancel +PipelineEdit.copyClose.notActual.copyAnyway = Copy anyway +PipelineEdit.copyClose.notActual.description = You are copying version, which is not actual. If saved, you will not see changes made by other user. +PipelineEdit.created.by = Created by +PipelineEdit.debug.window = Debug window +PipelineEdit.description = Description +PipelineEdit.developMode.caption.develop = Develop +PipelineEdit.developMode.caption.standard = Standard +PipelineEdit.distribute.horizontally = Distribute horizontally +PipelineEdit.distribute.vertically = Distribute vertically +PipelineEdit.exapand = Expand pipeline detail +PipelineEdit.export = Export +PipelineEdit.icon.align.bottom = Align bottom +PipelineEdit.icon.align.left = Align left +PipelineEdit.icon.align.right = Align right +PipelineEdit.icon.align.top = Align top +PipelineEdit.icon.distribute.horizontally = Distribute horizontally +PipelineEdit.icon.distribute.vertically = Distribute vertically +PipelineEdit.icon.undo = Undo +PipelineEdit.icon.zoomIn = Zoom in +PipelineEdit.icon.zoomOut = Zoom out +PipelineEdit.idLabel.id = ID +PipelineEdit.idValue.id = ID +PipelineEdit.minimize = Minimize pipeline detail +PipelineEdit.name = Name +PipelineEdit.name.empty = Name must be filled! +PipelineEdit.opening.error = Error opening pipeline detail. +PipelineEdit.opening.error.description = You do not have permission to view this pipeline +PipelineEdit.opening.error.notExisting = Error opening pipeline detail. +PipelineEdit.opening.error.notExisting.description = Pipeline does not exist. +PipelineEdit.pipeline.detail =

Pipeline detail for: '' +PipelineEdit.pipeline.duplicate = Pipeline with same name already exists in the system. +PipelineEdit.pipeline.error.saving = Error saving pipeline +PipelineEdit.pipeline.insert = Insert pipeline name +PipelineEdit.pipeline.insert.description = Insert pipeline description +PipelineEdit.pipeline.overwrite = Overwriting pipeline +PipelineEdit.pipeline.overwrite.cancel = Cancel +PipelineEdit.pipeline.overwrite.description = You are editing version, which is not actual. If saved, changes made by other user will be overwritten. +PipelineEdit.pipeline.overwrite.saveAnyway = Save anyway +PipelineEdit.pipeline.save.public = Saving public pipeline +PipelineEdit.pipeline.save.public.cancel = Cancel +PipelineEdit.pipeline.save.public.description = Saving pipeline as public will cause all DPU templates, the pipeline is using, to become public. When they become public, they cannot be reverted to private. +PipelineEdit.pipeline.save.public.save = Save +PipelineEdit.read-only.mode = Pipeline is open in read-only mode +PipelineEdit.refresh = Refresh +PipelineEdit.rerun = Rerun +PipelineEdit.revert = Revert to last commit +PipelineEdit.save = Save +PipelineEdit.save.and.close = Save & Close +PipelineEdit.save.and.commit = Save & Commit +PipelineEdit.save.close.debug = Save & Close & Debug +PipelineEdit.save.successfull = Pipeline saved successfully! +PipelineEdit.setMode.isDevelop.develop = Develop +PipelineEdit.setMode.isDevelop.standard = Standard +PipelineEdit.setMode.isStandard.develop = Develop +PipelineEdit.setMode.isStandard.standard = Standard +PipelineEdit.standardMode.caption.develop = Develop +PipelineEdit.standardMode.caption.standard = Standard +PipelineEdit.tab.develop = Develop +PipelineEdit.tab.standard = Standard +PipelineEdit.under.construction = Under construction +PipelineEdit.undo = Undo +PipelineEdit.user.browsing = User {0} is also browsing this pipeline. +PipelineEdit.users.browsing = Users {0} are also browsing this pipeline. +PipelineEdit.validate = Validate +PipelineEdit.visibility = Visibility +PipelineEdit.zoomIn = Zoom In +PipelineEdit.zoomOut = Zoom out + +PipelineExport.close = close +PipelineExport.dpu.export = Export DPU data +PipelineExport.dpu.jarName = DPU jar's name +PipelineExport.dpu.template = DPU template +PipelineExport.dpu.version = Version +PipelineExport.dpus.used = Used dpus: +PipelineExport.export = export +PipelineExport.export.fail = Failed to export pipeline. +PipelineExport.export.fail2 = Failed to export pipeline. +PipelineExport.jar.export = Export DPUs JARs +PipelineExport.pipeline.export = Pipeline export +PipelineExport.schedule.export = Export pipeline's schedule + +PipelineHelper.backend.offline.dialog.cancel = Cancel +PipelineHelper.backend.offline.dialog.message = Backend is offline. Should the pipeline be scheduled to be launched when backend is online or do you want to cancel the execution? +PipelineHelper.backend.offline.dialog.name = Pipeline execution +PipelineHelper.backend.offline.dialog.schedule = Schedule +PipelineHelper.execution.started = Pipeline execution started .. +PipelineHelper.execution.state.description = Execution state changed in the meantime. Check and try again. +PipelineHelper.execution.state.title = Execution not sheduled / canceled +PipelineHelper.start.failed = Failed to start execution. +PipelineHelper.start.failed.description = Pipeline execution already queued or running. + +PipelineImport.archive.notSelected = No archive selected. +PipelineImport.cancel = Cancel +PipelineImport.dpu.jarName = DPU jar's name +PipelineImport.dpu.template = DPU template +PipelineImport.dpu.used = The DPUs which are used in imported pipeline: +PipelineImport.dpu.version = Version +PipelineImport.import = Import +PipelineImport.import.fail = Import failed. +PipelineImport.import.schedule = Import pipeline's schedule +PipelineImport.import.usersData = Import user's data +PipelineImport.install.dpu = Please install DPUs from table and then run import again +PipelineImport.missing.dpu.fail = It is not possible to import pipeline due to missing DPUs.\n +PipelineImport.missing.dpu.template = DPU template +PipelineImport.missing.dpus = The DPUs which are missing in system. Install them before import: +PipelineImport.missing.jarName = DPU jar's name +PipelineImport.missing.version = version +PipelineImport.not.zip.file = Selected file is not zip file +PipelineImport.pipeline.import = Pipeline import +PipelineImport.read.file.fail = It is not possible to read the file [used_dpu.xml]\nwhere used dpus are. +PipelineImport.upload.file = Upload file +PipelineImport.zip.archive = Zip archive: + +PipelineListPresenterImpl.copy.successfull = Pipeline {0} was successfully copied. +PipelineListPresenterImpl.delete.confirmation = Confirmation of deleting pipeline +PipelineListPresenterImpl.delete.confirmation.cancelButton = Cancel +PipelineListPresenterImpl.delete.confirmation.deleteButton = Delete pipeline +PipelineListPresenterImpl.delete.dialog = Would you really like to delete the "{0}" pipeline and all associated records (DPU instances e.g.)? +PipelineListPresenterImpl.pipeline.running = Pipeline {0} has current(QUEUED or RUNNING) execution(s) and cannot be deleted now! +PipelineListPresenterImpl.pipeline.scheduled = \ This pipeline is schedulled by user(s) {0}. Delete anyway? + +PipelineListViewImpl.actions = Actions +PipelineListViewImpl.clear.filters = Clear Filters +PipelineListViewImpl.clear.sort = Clear Sort +PipelineListViewImpl.copy = Copy +PipelineListViewImpl.create.pipeline = Create pipeline +PipelineListViewImpl.debug = Debug +PipelineListViewImpl.delete = Delete +PipelineListViewImpl.edit = Edit +PipelineListViewImpl.import.pipeline = Import pipeline +PipelineListViewImpl.run = Run +PipelineListViewImpl.schedule = Schedule + +PipelineStatus.last.run = Last run: +PipelineStatus.run.numbers = Number of runs: +PipelineStatus.status = Pipeline status + +PipelineViewAccessor.createdBy = Created by +PipelineViewAccessor.id = Id +PipelineViewAccessor.lastExecution = Last execution time +PipelineViewAccessor.lastRun = Last run time +PipelineViewAccessor.lastStatus = Last status +PipelineViewAccessor.name = Name + +PrefixCreate.cancel = Cancel +PrefixCreate.prefix.details = Prefix details +PrefixCreate.prefix.empty = Prefix Name field must be filled +PrefixCreate.prefix.exists = prefix with this name is already exist +PrefixCreate.prefix.name = Prefix Name: +PrefixCreate.save = Save +PrefixCreate.save.failed = Failed to save settings. Reason: +PrefixCreate.uri.empty = Prefix URI field must be filled +PrefixCreate.uri.prefix = Prefix URI: +PrefixCreate.uri.wrong = wrong Uri format + +PresenterViewDisplay_no.component = Presenter do not return a component: + +PresenterViewDisplay_view.not.component = View is not a component: + +RDFQuery.constructItem.unsupported = RDFLazyQueryContainer is read-only. +RDFQuery.constructSize.invalidQuery = This query is probably not valid. +RDFQuery.constructSize.malformedQuery = This query is probably not valid as construct query. +RDFQuery.deleteAllItems.unsupported = RDFLazyQueryContainer is read-only. +RDFQuery.loadItems.dataUnit.description = Error: +RDFQuery.loadItems.dataUnit.name = DataUnit problem +RDFQuery.loadItems.exception = Unable to load RDFDataUnit. +RDFQuery.loadItems.invalidQuery.description = Query is not valid: +RDFQuery.loadItems.invalidQuery.name = Query Validator +RDFQuery.loadItems.queryEvaluation.description = Error in query evaluation: +RDFQuery.loadItems.queryEvaluation.name = Query Evaluation +RDFQuery.queryType.invalidQuery = Invalid query: +RDFQuery.resultSize.invalidQuery = Given query: {0} have to be SELECT or CONSTRUCT type. +RDFQuery.saveItems.unsupported = RDFLazyQueryContainer is read-only. +RDFQuery.selectSize.invalidQuery = Query: {0} has no bindings for information about its size. +RDFQuery.selectSize.malformedQuery = This query is probably not valid. +RDFQuery.selectSize.notValid = This query is probably not valid. +RDFQuery.size.exception = Unable to load RDFDataUnit. +RDFQuery.size.invalidQuery.description = Query is not valid: +RDFQuery.size.invalidQuery.name = Query Validator + +RDFQueryFactory.exception = Unsupported QueryDefinition class. + +RDFQueryView.closing.problem = Problem closing connection +RDFQueryView.consctuct.not.supported = Not suported format for CONSTRUCT query ! +RDFQueryView.consctuct.not.supported.description = This format can be used only for SELECT queries ! +RDFQueryView.dataunit.problem = Problem with DataUnit +RDFQueryView.download = Download +RDFQueryView.download.error = There was error in creating donwload file! +RDFQueryView.download.query.not.valid = Query is not valid: +RDFQueryView.download.validator = Query Validator +RDFQueryView.format.empty = Format not selected! +RDFQueryView.format.empty.description = Format must be selected for download! +RDFQueryView.format.not.supported.construct = This format can be used only for CONSTRUCT queries ! +RDFQueryView.query = SPARQL Query: +RDFQueryView.query.empty = No query was specified. Please specify query before running it. +RDFQueryView.query.invalid = Invalid query: +RDFQueryView.query.not.valid = Query is not valid: +RDFQueryView.run = Run Query +RDFQueryView.run.and.download = Run Query and Download +RDFQueryView.run.query.not.valid = Query is not valid: +RDFQueryView.run.validator = Query Validator +RDFQueryView.select.not.supported = Not suported format for SELECT query ! +RDFQueryView.validator = Query Validator + +RecordDetail.close = Close +RecordDetail.excecution = Pipeline execution: +RecordDetail.message = Message: +RecordDetail.record.detail = Record detail +RecordDetail.short.message = Short message: +RecordDetail.time = Time: +RecordDetail.type = Type: + +RepositoryFrontendHelper.construct.evaluation = This query is probably not valid. +RepositoryFrontendHelper.construct.failed = Getting GraphQueryResult using SPARQL construct query failed. +RepositoryFrontendHelper.construct.malformed = This query is probably not valid. +RepositoryFrontendHelper.construct2.evaluation = This query is probably not valid. +RepositoryFrontendHelper.construct2.failed = Creating File with RDF data fault. +RepositoryFrontendHelper.describe.resource = Resource {0} is not URI type. +RepositoryFrontendHelper.evaluationException = This query is probably not valid. +RepositoryFrontendHelper.select.dataFault = Creating File with RDF data fault. +RepositoryFrontendHelper.select.invalidQuery = This query is probably not valid. +RepositoryFrontendHelper.selectAsTuples.evaluation = This query is probably not valid. +RepositoryFrontendHelper.selectAsTuples.failed = Getting TupleQueryResult using SPARQL select query failed. +RepositoryFrontendHelper.selectAsTuples.malformed = This query is probably not valid. +RepositoryFrontendHelper.update.exception = Connection to repository is not available. +RepositoryFrontendHelper.update.not.executed = SPARQL query was not executed! + +SchedulePipeline.are.introduced = , are introduced more times, please correct. +SchedulePipeline.cancel = Cancel +SchedulePipeline.core = Core +SchedulePipeline.create.rule.failed = Failed to create scheduler rule. +SchedulePipeline.create.rule.failed.description = \ Please correct that before saving. +SchedulePipeline.date.and.time.execution = Date and time of first execution: +SchedulePipeline.days = Days +SchedulePipeline.description = Description +SchedulePipeline.email = Email +SchedulePipeline.email.at.least.once = At least one mail has to be filled, so that the notification can be send. +SchedulePipeline.email2 = Email +SchedulePipeline.emails = Emails +SchedulePipeline.emails.format.wrong = , have wrong format. +SchedulePipeline.emails2 = Emails +SchedulePipeline.every = every +SchedulePipeline.every.day = every day +SchedulePipeline.every.month = every month +SchedulePipeline.every.week = every week +SchedulePipeline.format.wrong = \ has wrong format. +SchedulePipeline.hours = Hours +SchedulePipeline.id = ID +SchedulePipeline.immediate.start = \ - immediate start +SchedulePipeline.interval = Interval: +SchedulePipeline.interval.positive = ; Interval value must be a positive integer number, you entered " +SchedulePipeline.interval.positive2 = Interval value must be a positive integer number, you entered " +SchedulePipeline.is.introduced = \ is introduced more times, please correct. +SchedulePipeline.minutes = Minutes +SchedulePipeline.months = Months +SchedulePipeline.new = New +SchedulePipeline.notifications = Notifications +SchedulePipeline.once = Just once +SchedulePipeline.pipeline = Pipeline +SchedulePipeline.pipeline.empty = Pipeline must be filled +SchedulePipeline.pipeline.filter = type to filter pipelines +SchedulePipeline.pipeline.select = Select pipeline: +SchedulePipeline.pipelines.available = Available pipelines +SchedulePipeline.pipelines.selected = Selected pipelines +SchedulePipeline.pipelines.selected.empty = Selected pipeline must be filled +SchedulePipeline.positive.value = Value must be positive +SchedulePipeline.priority = Priority +SchedulePipeline.save = Save +SchedulePipeline.save.success = Pipeline {0} scheduled successfuly! +SchedulePipeline.schedule = Schedule a pipeline +SchedulePipeline.schedule.after = Schedule the pipeline to run after selected pipelines finish. +SchedulePipeline.schedule.periodically = Schedule the pipeline to run automatically in fixed interval. +SchedulePipeline.scheduled.by = Schedulled by +SchedulePipeline.settings.save.failed = Failed to save settings, reason: +SchedulePipeline.timed.strictly = Strictly Timed +SchedulePipeline.tolerance = Tolerance: +SchedulePipeline.tolerance.positive = ; Tolerance value must be a positive integer number, you entered " +SchedulePipeline.tolerance.positive2 = Tolerance value must be a positive integer number, you entered " +SchedulePipeline.use.default = Use default notification settings +SchedulePipeline.value.minutes = minutes +SchedulePipeline.value.positive = Value must be positive + +Scheduler.actions = Actions +Scheduler.add.rule = Add new scheduling rule +Scheduler.and.repeat = \ and then repeat every +Scheduler.button.disable = Disable +Scheduler.button.enable = Enable +Scheduler.clear.filters = Clear Filters +Scheduler.day.lte.four = =days +Scheduler.day.more = days +Scheduler.day.one = day +Scheduler.delete = Delete +Scheduler.delete.scheduling = Confirmation of deleting scheduling rule +Scheduler.delete.scheduling.calcelButton = Cancel +Scheduler.delete.scheduling.deleteButton = Delete +Scheduler.delete.scheduling.description = Delete "{0}" pipeline scheduling rule? +Scheduler.disabled = Disabled +Scheduler.edit = Edit +Scheduler.enabled = Enabled +Scheduler.error = Schedule with ID={0} does not exist! +Scheduler.hour.lte.four = =hours +Scheduler.hour.more = hours +Scheduler.hour.one = hour +Scheduler.image.disabled = Disabled +Scheduler.image.enabled = Enabled +Scheduler.last = Last +Scheduler.last.runTime = Last run time +Scheduler.minute.lte.four = minutes +Scheduler.minute.more = minutes +Scheduler.minute.one = minute +Scheduler.month.lte.four = =months +Scheduler.month.more = months +Scheduler.month.one = month +Scheduler.next = Next +Scheduler.pipeline = Pipeline +Scheduler.rule = Rule +Scheduler.run.after.pipeline = Run after pipeline: +Scheduler.run.after.pipelines = Run after pipelines: +Scheduler.run.on = Run on +Scheduler.scheduled.by = Scheduled by +Scheduler.status = Status +Scheduler.week.lte.four = =weeks +Scheduler.week.more = weeks +Scheduler.week.one = week +Scheduler.year.lte.four = =years +Scheduler.year.more = years +Scheduler.year.one = year + +Settings.default.form = Default form of report about scheduled pipeline execution +Settings.default.form.detail = (may be overriden in the particular schedulled event) : +Settings.email.notifications = Email Notifications to: +Settings.failed.to.save = Failed to save settings, reason: +Settings.failed.to.save.description = "Number of rows in tables" must be a number between 5 and 100. You entered "{0}". Please correct that before saving. +Settings.failed.to.save.reason = Failed to save settings, reason: +Settings.manage.users = Manage users +Settings.my.account = My account +Settings.myAccount.save = Save +Settings.myAccout.successfull = My account settings were successfully saved +Settings.name.required = Name is Required +Settings.notifications.save = Save +Settings.notifications.unsaved = Unsaved changes +Settings.notifications.unsaved.dialog = There are unsaved changes.\nDo you wish to save them or discard? +Settings.notifications.unsaved.discard = Discard changes +Settings.notifications.unsaved.save = Save +Settings.prompt.name = name +Settings.prompt.value = value +Settings.range.validation = Please enter value between 5 and 100. +Settings.runtime.properties = Runtime properties +Settings.runtime.properties.invalid.value = Save failed. +Settings.runtime.properties.save = Save +Settings.runtime.properties.save.failed = Save failed. +Settings.runtime.properties.save.failed.description = There are two or more properties with the same name: +Settings.runtime.properties.save.successfull = Save succesfull. +Settings.runtime.properties.save.successfull.description = Runtime properties were saved succesfully. +Settings.schedule.fail = Failed to save settings, reason: +Settings.schedule.fail.description = ; "Number of rows in tables" must be a number between 5 and 100. You entered "{0}". Please correct that before saving. +Settings.scheduler.notifications = Scheduler notifications +Settings.table.row.count = Number of rows in tables: +Settings.unsaved.changes = Unsaved changes +Settings.unsaved.changes.dialog = There are unsaved changes.\nDo you wish to save them or discard? +Settings.unsaved.changes.discard = Discard changes +Settings.unsaved.changes.save = Save +Settings.validation.email = Email +Settings.validation.email.minimum = At least one mail has to be filled, so that the notification can be send. +Settings.validation.emails = Emails +Settings.validation.emails.wrong.format = , have wrong format. +Settings.validation.wrong.format = \ has wrong format. + +UploadInfoWindow.cancel = Cancel +UploadInfoWindow.current.state = Current state +UploadInfoWindow.file.name = File name +UploadInfoWindow.idle = Idle +UploadInfoWindow.processed = Processed {0} k bytes of {1} k. +UploadInfoWindow.progress = Progress +UploadInfoWindow.status = Status +UploadInfoWindow.upload.idle = Idle +UploadInfoWindow.uploading = Uploading + +UserCreate.cancel = Cancel +UserCreate.email = E-mail: +UserCreate.email.empty = e-mail field must be filled +UserCreate.full.empty = Full user name must be filled +UserCreate.full.user.name = Full user name: +UserCreate.password = Password: +UserCreate.password.confirmation = Password
confirmation: +UserCreate.password.different = The typed pasword is different than the retyped password +UserCreate.password.different2 = The typed pasword is different than the retyped password +UserCreate.password.empty = The pasword can not be empty +UserCreate.password.empty2 = The pasword can not be empty +UserCreate.roles.atLeastOne = at least one role must be set +UserCreate.roles.defined = Defined Roles: +UserCreate.roles.set = Set Roles: +UserCreate.save = Save +UserCreate.save.failed = Failed to save settings. Reason: +UserCreate.user.details = User's details +UserCreate.user.exists = user with this user name is already exist +UserCreate.user.filled = user name field must be filled +UserCreate.user.name = User name: +UserCreate.wrong.confirmation = Password confirmation is wrong +UserCreate.wrong.confirmation2 = Password confirmation is wrong +UserCreate.wrong.confirmation3 = Password confirmation is wrong +UserCreate.wrong.confirmation4 = Password confirmation is wrong +UserCreate.wrong.email = wrong e-mail format + +UsersList.actions = Actions +UsersList.cancel.option = Cancel +UsersList.delete = Delete +UsersList.delete.confirmation = Confirmation of deleting user +UsersList.delete.option = Delete +UsersList.detele.message = Delete the {0} user? +UsersList.edit = Edit +UsersList.filter.clear = Clear Filters +UsersList.full.username = Full User Name +UsersList.id = Id +UsersList.roles = Role(s) +UsersList.user.create = Create new user +UsersList.username = User Name diff --git a/frontend/src/main/resources/frontend-messages_sk.properties b/frontend/src/main/resources/frontend-messages_sk.properties index 7bd0c901fd..8d127ad2eb 100644 --- a/frontend/src/main/resources/frontend-messages_sk.properties +++ b/frontend/src/main/resources/frontend-messages_sk.properties @@ -1,16 +1,16 @@ #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) # Example of Slovak language bundle -AppEntry.confirmDialog.discard = Zru\u0161i\u0165 zmeny -AppEntry.confirmDialog.name = Neulo\u017Een\u00E9 zmeny -AppEntry.confirmDialog.save = Ulo\u017Ei\u0165 -AppEntry.confirmDialog.text = Neulo\u017Een\u00E9 zmeny. Chcete ich ulo\u017Ei\u0165 alebo zru\u0161i\u0165? -AppEntry.database.error = Nie je mo\u017En\u00E9 pripojenie na datab\u00E1zu! -AppEntry.database.error.description = Pros\u00EDm uistite sa, \u017Ee datab\u00E1za be\u017E\u00ED a je spr\u00E1vne nakonfigurovan\u00E1. -AppEntry.unexpected.error = Vyskytla sa neo\u010Dak\u00E1van\u00E1 chyba. -AppEntry.unexpected.error.description = Pros\u00EDm obnovte aplik\u00E1ciu. -AppEntry.permission.denied = Pr\u00EDstup odmietnut\u00FD +AppEntry.confirmDialog.discard = Zru\u0161i\u0165 zmeny +AppEntry.confirmDialog.name = Neulo\u017Een\u00E9 zmeny +AppEntry.confirmDialog.save = Ulo\u017Ei\u0165 +AppEntry.confirmDialog.text = Neulo\u017Een\u00E9 zmeny. Chcete ich ulo\u017Ei\u0165 alebo zru\u0161i\u0165? +AppEntry.database.error = Nie je mo\u017En\u00E9 pripojenie na datab\u00E1zu! +AppEntry.database.error.description = Pros\u00EDm uistite sa, \u017Ee datab\u00E1za be\u017E\u00ED a je spr\u00E1vne nakonfigurovan\u00E1. +AppEntry.permission.denied = Pr\u00EDstup odmietnut\u00FD AppEntry.permission.denied.description = Nem\u00E1te dostato\u010Dn\u00E9 opr\u00E1vnenia na vykonanie tejto oper\u00E1cie +AppEntry.unexpected.error = Vyskytla sa neo\u010Dak\u00E1van\u00E1 chyba. +AppEntry.unexpected.error.description = Pros\u00EDm obnovte aplik\u00E1ciu. AuthenticationService.token.expired = Remember-me token expiroval. AuthenticationService.token.hash.invalid = Neplatn\u00FD autentifika\u010Dn\u00FD hash token. @@ -219,11 +219,11 @@ EmailNotifications.bulk.report.default = Denn\u00E1 hromadn\u00E1 spr\u00E1va (p EmailNotifications.error = Chyba pri spracovan\u00ED: EmailNotifications.instant = Okam\u017Eit\u00E1 spr\u00E1va EmailNotifications.instant.default = Okam\u017Eit\u00E1 spr\u00E1va (predvolen\u00E9) +EmailNotifications.manual = Posiela\u0165 spr\u00E1vy pre nepl\u00E1novan\u00E9 spracovania (pou\u017Eij\u00FA sa rovnak\u00E9 nastavenia ako pre pl\u00E1novan\u00E9 spracovania) EmailNotifications.no.report = Bez spr\u00E1vy EmailNotifications.no.report.default = Bez spr\u00E1vy (predvolen\u00E9) -EmailNotifications.successful = \u00DAspe\u0161n\u00E9 spracovanie: EmailNotifications.started = Za\u010Diatok spracovania: -EmailNotifications.manual = Posiela\u0165 spr\u00E1vy pre nepl\u00E1novan\u00E9 spracovania (pou\u017Eij\u00FA sa rovnak\u00E9 nastavenia ako pre pl\u00E1novan\u00E9 spracovania) +EmailNotifications.successful = \u00DAspe\u0161n\u00E9 spracovanie: ExecutionAccessor.duration = Trvanie ExecutionAccessor.id = Id @@ -239,6 +239,7 @@ ExecutionListPresenterImpl.error = Spracovanie s ID={0} neexistuje! ExecutionListViewImpl.FALSE = NEPRAVDA ExecutionListViewImpl.TRUE = PRAVDA +ExecutionListViewImpl.actions = Akcie ExecutionListViewImpl.back.to.exexution = N\u00E1vrat do monitoru spracovania ExecutionListViewImpl.cancel = Zru\u0161i\u0165 ExecutionListViewImpl.clear.filters = Vy\u010Disti\u0165 filtre @@ -255,7 +256,6 @@ ExecutionListViewImpl.run = Spusti\u0165 ExecutionListViewImpl.run.pipeline = Spusti\u0165 proces ExecutionListViewImpl.scheduled = Pl\u00E1novan\u00FD ExecutionListViewImpl.show.log = Uk\u00E1za\u0165 log -ExecutionListViewImpl.actions = Akcie ExecutionViewAccessor.duration = Trvanie ExecutionViewAccessor.id = Id @@ -497,6 +497,7 @@ PipelineListPresenterImpl.delete.dialog = Chceli by ste naoza PipelineListPresenterImpl.pipeline.running = Proces {0} m\u00E1 aktu\u00E1lne v stave (QUEUED alebo RUNNING) svoje spracovania a nem\u00F4\u017Ee by\u0165 teraz zmazan\u00FD! PipelineListPresenterImpl.pipeline.scheduled = Tento proces je pl\u00E1novan\u00FD pou\u017E\u00EDvate\u013Eom(mi) {0}. Ka\u017Edop\u00E1dne zmaza\u0165? +PipelineListViewImpl.actions = Akcie PipelineListViewImpl.clear.filters = Vy\u010Disti\u0165 filtre PipelineListViewImpl.clear.sort = Vy\u010Disti\u0165 triedenie PipelineListViewImpl.copy = Kop\u00EDrova\u0165 @@ -507,19 +508,17 @@ PipelineListViewImpl.edit = Editova\u0165 PipelineListViewImpl.import.pipeline = Importova\u0165 proces PipelineListViewImpl.run = Spusti\u0165 PipelineListViewImpl.schedule = Pl\u00E1nova\u0165 -PipelineListViewImpl.actions = Akcie - PipelineStatus.last.run = Posledn\u00E9 spustenie: PipelineStatus.run.numbers = Po\u010Det spusten\u00ED: PipelineStatus.status = Stav procesu: +PipelineViewAccessor.createdBy = Vytvoril PipelineViewAccessor.id = Id PipelineViewAccessor.lastExecution = Za\u010Diatok posledn\u00E9ho spracovania PipelineViewAccessor.lastRun = Trvanie posledn\u00E9ho spracovania PipelineViewAccessor.lastStatus = Posledn\u00FD stav PipelineViewAccessor.name = N\u00E1zov -PipelineViewAccessor.createdBy = Vytvoril PrefixCreate.cancel = Zru\u0161i\u0165 PrefixCreate.prefix.details = Detaily prefixu @@ -665,9 +664,9 @@ Scheduler.and.repeat = \ s peri\u00F3dou opakovania: Scheduler.button.disable = Vypn\u00FA\u0165 Scheduler.button.enable = Zapn\u00FA\u0165 Scheduler.clear.filters = Vy\u010Disti\u0165 filtre -Scheduler.day.one = de\u0148 Scheduler.day.lte.four = dni Scheduler.day.more = dn\u00ED +Scheduler.day.one = de\u0148 Scheduler.delete = Zmaza\u0165 Scheduler.delete.scheduling = Potvrdenie zmazania pravidiel \u010Dasov\u00E9ho pl\u00E1novania Scheduler.delete.scheduling.calcelButton = Zru\u0161i\u0165 @@ -676,33 +675,34 @@ Scheduler.delete.scheduling.description = Zmaza\u0165 "{0}" pravidlo \u010Dasov Scheduler.disabled = Vypn\u00FA\u0165 Scheduler.edit = Editova\u0165 Scheduler.enabled = Zapn\u00FA\u0165 -Scheduler.hour.one = hodina +Scheduler.error = Pl\u00E1novan\u00E9 vykonanie s ID={0} neexistuje! Scheduler.hour.lte.four = hodiny Scheduler.hour.more = hod\u00EDn +Scheduler.hour.one = hodina Scheduler.image.disabled = Vypn\u00FA\u0165 Scheduler.image.enabled = Zapn\u00FA\u0165 Scheduler.last = Posledn\u00FD Scheduler.last.runTime = \u010Cas posledn\u00E9ho spustenia -Scheduler.minute.one = min\u00FAta Scheduler.minute.lte.four = min\u00FAty Scheduler.minute.more = min\u00FAt -Scheduler.month.one = mesiac +Scheduler.minute.one = min\u00FAta Scheduler.month.lte.four = mesiace Scheduler.month.more = mesiacov +Scheduler.month.one = mesiac Scheduler.next = Nasleduj\u00FAci Scheduler.pipeline = Proces Scheduler.rule = Pravidlo -Scheduler.scheduled.by = Napl\u00E1noval Scheduler.run.after.pipeline = Spustit po procese: Scheduler.run.after.pipelines = Spustit po procesoch: Scheduler.run.on = Spusti\u0165 {0} +Scheduler.scheduled.by = Napl\u00E1noval Scheduler.status = Stav +Scheduler.week.more = t\u00FD\u017Ed\u0148ov Scheduler.week.one = t\u00FD\u017Ede\u0148 Scheduler.week.the.four = t\u00FD\u017Edne -Scheduler.week.more = t\u00FD\u017Ed\u0148ov -Scheduler.year.one = rok Scheduler.year.lte.four = roky Scheduler.year.more = rokov +Scheduler.year.one = rok Settings.default.form = Predvolen\u00E1 forma reportu o pl\u00E1novanom spracovan\u00ED procesu Settings.default.form.detail = (m\u00F4\u017Ee by\u0165 prep\u00EDsan\u00E1 na konkr\u00E9tne pl\u00E1novan\u00E9 udalosti) : @@ -757,6 +757,7 @@ UploadInfoWindow.uploading = Posielanie UserCreate.cancel = Zru\u0161i\u0165 UserCreate.email = E-mail: UserCreate.email.empty = e-mail mus\u00ED by\u0165 vyplnen\u00FD +UserCreate.full.empty = \u00DApln\u00E9 u\u017E\u00EDvate\u013Esk\u00E9 meno mus\u00ED by\u0165 vyplnen\u00E9 UserCreate.full.user.name = \u00DApln\u00E9 u\u017E\u00EDvate\u013Esk\u00E9 meno: UserCreate.password = Heslo: UserCreate.password.confirmation = Heslo
potvrdenie: @@ -778,7 +779,6 @@ UserCreate.wrong.confirmation2 = Potvrdenie hesla je nespr\u00E1vne UserCreate.wrong.confirmation3 = Potvrdenie hesla je nespr\u00E1vne UserCreate.wrong.confirmation4 = Potvrdenie hesla je nespr\u00E1vne UserCreate.wrong.email = nespr\u00E1vny e-mail form\u00E1t -UserCreate.full.empty = \u00DApln\u00E9 u\u017E\u00EDvate\u013Esk\u00E9 meno mus\u00ED by\u0165 vyplnen\u00E9 UsersList.actions = Akcie UsersList.cancel.option = Zru\u0161i\u0165 @@ -793,4 +793,3 @@ UsersList.id = Id UsersList.roles = Rola(e) UsersList.user.create = Vytvori\u0165 nov\u00E9ho pou\u017E\u00EDvate\u013Ea UsersList.username = Pou\u017E\u00EDvate\u013E - From 5472bdf84b7129417a71da82601079b573903620 Mon Sep 17 00:00:00 2001 From: Peter Golian Date: Mon, 13 Jul 2015 16:16:29 +0200 Subject: [PATCH 2/2] fix of URL handling --- .../gui/components/SchedulePipeline.java | 29 +++++++++++++ .../odcs/frontend/gui/views/Scheduler.java | 41 +------------------ 2 files changed, 31 insertions(+), 39 deletions(-) diff --git a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java index efec676829..de23538881 100644 --- a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java +++ b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/components/SchedulePipeline.java @@ -17,6 +17,7 @@ import com.vaadin.data.Validator; import com.vaadin.data.util.ObjectProperty; import com.vaadin.event.FieldEvents; +import com.vaadin.server.Page; import com.vaadin.ui.AbstractTextField.TextChangeEventMode; import com.vaadin.ui.*; import com.vaadin.ui.Button.ClickEvent; @@ -36,12 +37,14 @@ import cz.cuni.mff.xrg.odcs.commons.app.scheduling.Schedule; import cz.cuni.mff.xrg.odcs.commons.app.scheduling.ScheduleNotificationRecord; import cz.cuni.mff.xrg.odcs.commons.app.scheduling.ScheduleType; +import cz.cuni.mff.xrg.odcs.frontend.AppEntry; import cz.cuni.mff.xrg.odcs.frontend.auxiliaries.SimpleTreeFilter; import cz.cuni.mff.xrg.odcs.frontend.container.ReadOnlyContainer; import cz.cuni.mff.xrg.odcs.frontend.container.accessor.PipelineNameAccessor; import cz.cuni.mff.xrg.odcs.frontend.doa.container.InMemorySource; import cz.cuni.mff.xrg.odcs.frontend.doa.container.db.DbInMemorySource; import cz.cuni.mff.xrg.odcs.frontend.i18n.Messages; +import cz.cuni.mff.xrg.odcs.frontend.navigation.ParametersHandler; /** * Dialog for the scheduling rule creation. Designed for setting the description @@ -166,6 +169,12 @@ public SchedulePipeline() { this.setResizable(false); this.setModal(true); this.setCaption(Messages.getString("SchedulePipeline.schedule")); + this.addCloseListener(new Window.CloseListener() { + @Override + public void windowClose(CloseEvent e) { + resetURL(); + } + }); } /** @@ -691,6 +700,7 @@ public void buttonClick(ClickEvent event) { } } + resetURL(); close(); } @@ -706,6 +716,7 @@ public void buttonClick(ClickEvent event) { @Override public void buttonClick(Button.ClickEvent event) { + resetURL(); close(); } @@ -1266,4 +1277,22 @@ public void setPipeline(Long pipelineId) { comboPipeline.setEnabled(false); } } + + public void enableComboPipeline() { + if (!comboPipeline.isEnabled()) { + comboPipeline.setEnabled(true); + } + } + + private void resetURL() { + String uriFragment = Page.getCurrent().getUriFragment(); + if (uriFragment.contains("New/")) { + uriFragment = uriFragment.replace("New/", ""); + } + ParametersHandler handler = new ParametersHandler(uriFragment); + handler.removeParameter("schedule"); + handler.removeParameter("pipeline"); + ((AppEntry) UI.getCurrent()).setUriFragment(handler.getUriFragment(), false); + } + } diff --git a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java index 8025a945c8..1377258a52 100644 --- a/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java +++ b/frontend/src/main/java/cz/cuni/mff/xrg/odcs/frontend/gui/views/Scheduler.java @@ -478,6 +478,7 @@ public void windowClose(CloseEvent e) { schedule = scheduleFacade.getSchedule(id); } schedulePipeline.setSelectedSchedule(schedule); + schedulePipeline.enableComboPipeline(); if (pipelineId != null) { schedulePipeline.setPipeline(pipelineId); } @@ -556,6 +557,7 @@ public void buttonClick(ClickEvent event) { @Override public void buttonClick(ClickEvent event) { showSchedulePipeline(schId, null); + changeURI(schId); } }); if (canEdit(schedule)) { @@ -671,31 +673,6 @@ public void refresh(Refresher source) { }); refreshManager.triggerRefresh(); -// if (isMainLayoutInitialized) { -// navigator = ((AppEntry) UI.getCurrent()).getNavigation(); -// addRefreshManager(); -// return view.enter(this); -// } -// -// navigator = ((AppEntry) UI.getCurrent()).getNavigation(); -// // prepare data object -//// cachedSource = new DbCachedSource<>(dbExecution, new ExecutionAccessor(), utils.getPageLength()); -// -// cachedSource = new DbCachedSource<>(dbExecutionView, new ExecutionViewAccessor(), utils.getPageLength()); -// -// ReadOnlyContainer c = new ReadOnlyContainer<>(cachedSource); -// c.sort(new Object[] { "id" }, new boolean[] { false }); -// dataObject = new ExecutionListData(c); -// // prepare view -// Object viewObject = view.enter(this); -// addRefreshManager(); -// -// // set data object -// view.setDisplay(dataObject); -// -// isMainLayoutInitialized = true; - - // return main component return this; } @@ -739,19 +716,6 @@ public void setParameters(Object configuration) { LOG.debug("Scheduler refreshed."); refreshManager.triggerRefresh(); break; -// case "id": -// view.setFilter(entry.getKey(), ParametersHandler.getInterval(entry.getValue())); -// break; -// case "status": -// view.setFilter(entry.getKey(), PipelineExecutionStatus.valueOf(entry.getValue())); -// break; -// case "isDebugging": -// case "schedule": -// view.setFilter(entry.getKey(), Boolean.parseBoolean(entry.getValue())); -// break; -// case "start": -// view.setFilter(entry.getKey(), ParametersHandler.getDateInterval(entry.getValue())); -// break; default: schedulerTable.setFilterFieldValue(entry.getKey(), entry.getValue()); break; @@ -791,7 +755,6 @@ public void showDebugEventHandler(long scheduleId) { Notification.show(Messages.getString("Scheduler.0", scheduleId), Notification.Type.ERROR_MESSAGE); return; } -// view.showExecutionDetail(exec, new ExecutionDetailData(getMessageDataSource())); showSchedulePipeline(scheduleId, null); }