private Map createParams()

in org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/MilestoneService.java [150:182]


	private Map<String, Object> createParams(Milestone milestone,
			boolean titleRequired) {
		Map<String, Object> params = new LinkedHashMap<>();
		String value = milestone.getTitle();
		if (titleRequired && value == null) {
			throw new IllegalArgumentException(
					"Milestone title must not be null"); //$NON-NLS-1$
		}
		if (value != null) {
			params.put(TITLE, value);
		}
		value = milestone.getState();
		if (value != null) {
			if (!"open".equals(value) && !"closed".equals(value)) { //$NON-NLS-1$ //$NON-NLS-2$
				throw new IllegalArgumentException(
						"Milestone state must be 'open' or 'closed', or null for default ('open')"); //$NON-NLS-1$
			}
			params.put(STATE, value);
		}
		value = milestone.getDescription();
		if (value != null) {
			params.put(DESCRIPTION, value);
		}
		Date date = milestone.getDueOn();
		if (date != null) {
			params.put(DUE_ON, date);
		}
		if (params.isEmpty()) {
			throw new IllegalArgumentException(
					"Milestone operation requires at least one of title, description, state, or due date"); //$NON-NLS-1$
		}
		return params;
	}