/******************************************************************************* * Copyright (c) 2013 AGETO Service GmbH and others. * All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Gunnar Wagenknecht - initial API and implementation *******************************************************************************/ package org.eclipse.gyrex.admin.ui.jobs.internal; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.eclipse.gyrex.context.definitions.ContextDefinition; import org.eclipse.gyrex.context.definitions.IRuntimeContextDefinitionManager; import org.eclipse.jface.fieldassist.ContentProposal; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; import org.apache.commons.lang.StringUtils; final class ContextPathProposals implements IContentProposalProvider { /** serialVersionUID */ private static final long serialVersionUID = 1L; @Override public IContentProposal[] getProposals(final String contents, final int position) { final List<IContentProposal> resultList = new ArrayList<IContentProposal>(); final String patternString = StringUtils.trimToNull(StringUtils.substring(contents, 0, position)); final Collection<ContextDefinition> contexts = JobsUiActivator.getInstance().getService(IRuntimeContextDefinitionManager.class).getDefinedContexts(); for (final ContextDefinition contextDefinition : contexts) { if ((null == patternString) || StringUtils.contains(contextDefinition.getPath().toString(), patternString)) { resultList.add(new ContentProposal(contextDefinition.getPath().toString(), contextDefinition.toString())); } } return resultList.toArray(new IContentProposal[resultList.size()]); } }