@Override public String toString() { return String.format("Concurrency(max %d)", getMaxConcurrency()); } }
Assert.assertEquals("updatedDescription", schedule.getDescription()); Assert.assertEquals("0 4 * * *", ((TimeTrigger) schedule.getTrigger()).getCronExpression()); Assert.assertEquals(new ProtoConstraint.ConcurrencyConstraint(5), schedule.getConstraints().get(0)); Assert.assertEquals("newValue", schedule.getProperties().get("someKey")); Assert.assertEquals("twoValue", schedule.getProperties().get("twoKey")); Assert.assertEquals(new ProtoConstraint.ConcurrencyConstraint(5), schedule.getConstraints().get(0));
@Override public void perform(Arguments arguments, PrintStream printStream) throws Exception { String scheduleName = arguments.get(ArgumentName.SCHEDULE_NAME.toString()); String[] programIdParts = arguments.get(ArgumentName.PROGRAM.toString()).split("\\."); String version = arguments.getOptional(ArgumentName.APP_VERSION.toString()); String scheduleDescription = arguments.getOptional(ArgumentName.DESCRIPTION.toString(), ""); String cronExpression = arguments.get(ArgumentName.CRON_EXPRESSION.toString()); String schedulePropertiesString = arguments.getOptional(ArgumentName.SCHEDULE_PROPERTIES.toString(), ""); String scheduleRunConcurrencyString = arguments.getOptional(ArgumentName.CONCURRENCY.toString(), null); if (programIdParts.length < 2) { throw new CommandInputError(this); } String appId = programIdParts[0]; NamespaceId namespaceId = cliConfig.getCurrentNamespace(); ApplicationId applicationId = (version == null) ? namespaceId.app(appId) : namespaceId.app(appId, version); ScheduleId scheduleId = applicationId.schedule(scheduleName); String description = scheduleDescription == null ? null : scheduleDescription; ScheduleProgramInfo programInfo = new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW, programIdParts[1]); List<Constraint> constraints = scheduleRunConcurrencyString == null ? ImmutableList.of() : ImmutableList.of(new ProtoConstraint.ConcurrencyConstraint(Integer.valueOf(scheduleRunConcurrencyString))); Map<String, String> propertiesMap = ArgumentParser.parseMap(schedulePropertiesString, ArgumentName.SCHEDULE_PROPERTIES.toString()); ScheduleDetail scheduleDetail = new ScheduleDetail(scheduleName, description, programInfo, propertiesMap, new ProtoTrigger.TimeTrigger(cronExpression), constraints, null); scheduleClient.add(scheduleId, scheduleDetail); printStream.printf("Successfully added schedule '%s' in app '%s'\n", scheduleName, appId); }
@Override public void perform(Arguments arguments, PrintStream printStream) throws Exception { String scheduleName = arguments.get(ArgumentName.SCHEDULE_NAME.toString()); String[] programIdParts = arguments.get(ArgumentName.PROGRAM.toString()).split("\\."); String version = arguments.getOptional(ArgumentName.APP_VERSION.toString()); String scheduleDescription = arguments.getOptional(ArgumentName.DESCRIPTION.toString(), ""); String cronExpression = arguments.get(ArgumentName.CRON_EXPRESSION.toString()); String schedulePropertiesString = arguments.getOptional(ArgumentName.SCHEDULE_PROPERTIES.toString(), ""); String scheduleRunConcurrencyString = arguments.getOptional(ArgumentName.CONCURRENCY.toString(), null); if (programIdParts.length < 2) { throw new CommandInputError(this); } String appId = programIdParts[0]; NamespaceId namespaceId = cliConfig.getCurrentNamespace(); ApplicationId applicationId = (version == null) ? namespaceId.app(appId) : namespaceId.app(appId, version); ScheduleId scheduleId = applicationId.schedule(scheduleName); String description = scheduleDescription == null ? null : scheduleDescription; ScheduleProgramInfo programInfo = new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW, programIdParts[1]); List<Constraint> constraints = scheduleRunConcurrencyString == null ? ImmutableList.of() : ImmutableList.of(new ProtoConstraint.ConcurrencyConstraint(Integer.valueOf(scheduleRunConcurrencyString))); Map<String, String> propertiesMap = ArgumentParser.parseMap(schedulePropertiesString, ArgumentName.SCHEDULE_PROPERTIES.toString()); ScheduleDetail scheduleDetail = new ScheduleDetail(scheduleName, description, programInfo, propertiesMap, new ProtoTrigger.TimeTrigger(cronExpression), constraints, null); scheduleClient.update(scheduleId, scheduleDetail); printStream.printf("Successfully updated schedule '%s' in app '%s'\n", scheduleName, appId); }
@Override public void perform(Arguments arguments, PrintStream printStream) throws Exception { String scheduleName = arguments.get(ArgumentName.SCHEDULE_NAME.toString()); String[] programIdParts = arguments.get(ArgumentName.PROGRAM.toString()).split("\\."); String version = arguments.getOptional(ArgumentName.APP_VERSION.toString()); String scheduleDescription = arguments.getOptional(ArgumentName.DESCRIPTION.toString(), ""); String cronExpression = arguments.get(ArgumentName.CRON_EXPRESSION.toString()); String schedulePropertiesString = arguments.getOptional(ArgumentName.SCHEDULE_PROPERTIES.toString(), ""); String scheduleRunConcurrencyString = arguments.getOptional(ArgumentName.CONCURRENCY.toString(), null); if (programIdParts.length < 2) { throw new CommandInputError(this); } String appId = programIdParts[0]; NamespaceId namespaceId = cliConfig.getCurrentNamespace(); ApplicationId applicationId = (version == null) ? namespaceId.app(appId) : namespaceId.app(appId, version); ScheduleId scheduleId = applicationId.schedule(scheduleName); String description = scheduleDescription == null ? null : scheduleDescription; ScheduleProgramInfo programInfo = new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW, programIdParts[1]); List<Constraint> constraints = scheduleRunConcurrencyString == null ? ImmutableList.of() : ImmutableList.of(new ProtoConstraint.ConcurrencyConstraint(Integer.valueOf(scheduleRunConcurrencyString))); Map<String, String> propertiesMap = ArgumentParser.parseMap(schedulePropertiesString, ArgumentName.SCHEDULE_PROPERTIES.toString()); ScheduleDetail scheduleDetail = new ScheduleDetail(scheduleName, description, programInfo, propertiesMap, new ProtoTrigger.TimeTrigger(cronExpression), constraints, null); scheduleClient.update(scheduleId, scheduleDetail); printStream.printf("Successfully updated schedule '%s' in app '%s'\n", scheduleName, appId); }
@Override public void perform(Arguments arguments, PrintStream printStream) throws Exception { String scheduleName = arguments.get(ArgumentName.SCHEDULE_NAME.toString()); String[] programIdParts = arguments.get(ArgumentName.PROGRAM.toString()).split("\\."); String version = arguments.getOptional(ArgumentName.APP_VERSION.toString()); String scheduleDescription = arguments.getOptional(ArgumentName.DESCRIPTION.toString(), ""); String cronExpression = arguments.get(ArgumentName.CRON_EXPRESSION.toString()); String schedulePropertiesString = arguments.getOptional(ArgumentName.SCHEDULE_PROPERTIES.toString(), ""); String scheduleRunConcurrencyString = arguments.getOptional(ArgumentName.CONCURRENCY.toString(), null); if (programIdParts.length < 2) { throw new CommandInputError(this); } String appId = programIdParts[0]; NamespaceId namespaceId = cliConfig.getCurrentNamespace(); ApplicationId applicationId = (version == null) ? namespaceId.app(appId) : namespaceId.app(appId, version); ScheduleId scheduleId = applicationId.schedule(scheduleName); String description = scheduleDescription == null ? null : scheduleDescription; ScheduleProgramInfo programInfo = new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW, programIdParts[1]); List<Constraint> constraints = scheduleRunConcurrencyString == null ? ImmutableList.of() : ImmutableList.of(new ProtoConstraint.ConcurrencyConstraint(Integer.valueOf(scheduleRunConcurrencyString))); Map<String, String> propertiesMap = ArgumentParser.parseMap(schedulePropertiesString, ArgumentName.SCHEDULE_PROPERTIES.toString()); ScheduleDetail scheduleDetail = new ScheduleDetail(scheduleName, description, programInfo, propertiesMap, new ProtoTrigger.TimeTrigger(cronExpression), constraints, null); scheduleClient.add(scheduleId, scheduleDetail); printStream.printf("Successfully added schedule '%s' in app '%s'\n", scheduleName, appId); }
@Override public int hashCode() { return getMaxConcurrency(); }
@Override public int hashCode() { return getMaxConcurrency(); }
@Test public void testConstraintCodec() { testSerDeser(new ProtoConstraint.ConcurrencyConstraint(3), new ConcurrencyConstraint(3)); testSerDeser(new ProtoConstraint.DelayConstraint(300000L, TimeUnit.MILLISECONDS), new DelayConstraint(300000L, TimeUnit.MILLISECONDS)); testSerDeser(new ProtoConstraint.LastRunConstraint(3600000L, TimeUnit.MILLISECONDS), new LastRunConstraint(3600000L, TimeUnit.MILLISECONDS)); testSerDeser(new ProtoConstraint.TimeRangeConstraint("02:00", "06:00", TimeZone.getDefault()), new TimeRangeConstraint("02:00", "06:00", TimeZone.getDefault())); }
public ConcurrencyConstraint(int maxConcurrency) { super(Type.CONCURRENCY, false); this.maxConcurrency = maxConcurrency; validate(); }
@Override public boolean equals(Object o) { return this == o || o != null && getClass() == o.getClass() && getMaxConcurrency() == ((ConcurrencyConstraint) o).getMaxConcurrency(); }
@Override public boolean equals(Object o) { return this == o || o != null && getClass() == o.getClass() && getMaxConcurrency() == ((ConcurrencyConstraint) o).getMaxConcurrency(); }
@Override public String toString() { return String.format("Concurrency(max %d)", getMaxConcurrency()); } }
public ConcurrencyConstraint(int maxConcurrency) { super(Type.CONCURRENCY, false); this.maxConcurrency = maxConcurrency; validate(); }