/*******************************************************************************
* Copyright (c) 2017 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.windup.ui.internal.rules;
import java.util.List;
import org.jboss.tools.windup.model.domain.ModelService;
import org.jboss.tools.windup.ui.internal.rules.RulesNode.CustomRulesNode;
import org.jboss.tools.windup.ui.internal.rules.RulesNode.SystemRulesNode;
import org.jboss.windup.tooling.rules.RuleProviderRegistry;
import com.google.common.collect.Lists;
public class RuleRepositoryInput {
private ModelService modelService;
private RuleProviderRegistry systemRuleProviderRegistry;
private List<Object> children = Lists.newArrayList();
public RuleRepositoryInput (RuleProviderRegistry systemRuleProviderRegistry, ModelService modelService) {
this.systemRuleProviderRegistry = systemRuleProviderRegistry;
this.modelService = modelService;
}
public Object[] getChildren() {
return children.stream().toArray(Object[]::new);
}
public static RuleRepositoryInput computeInput(RuleProviderRegistry systemRuleProviderRegistry,
ModelService modelService) {
RuleRepositoryInput root = new RuleRepositoryInput(systemRuleProviderRegistry, modelService);
root.buildInput();
return root;
}
private void buildInput() {
children.add(new SystemRulesNode(systemRuleProviderRegistry));
children.add(new CustomRulesNode(modelService));
}
}