com.openshift.client.cartridge.query.AbstractCartridgeQuery Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright (c) 2012 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 com.openshift.client.cartridge.query;
import java.util.ArrayList;
import java.util.List;
import com.openshift.client.IApplication;
import com.openshift.client.IDomain;
import com.openshift.client.IOpenShiftConnection;
import com.openshift.client.cartridge.ICartridge;
import com.openshift.internal.client.utils.Assert;
/**
* A base query class for query that shall match cartridges.
*
* @author Andre Dietisheim
*/
public abstract class AbstractCartridgeQuery implements ICartridgeQuery {
@Override
public List getAll(List cartridges) {
List matchingCartridges = new ArrayList();
if (cartridges == null) {
return matchingCartridges;
}
for (C cartridge : cartridges) {
if (matches(cartridge)) {
matchingCartridges.add(cartridge);
}
}
return matchingCartridges;
}
@Override
public C get(List cartridges) {
List matchingCartridges = getAll(cartridges);
if (matchingCartridges == null
|| matchingCartridges.size() == 0) {
return null;
}
return matchingCartridges.iterator().next();
}
@Override
public abstract boolean matches(C cartridge);
protected IOpenShiftConnection getConnection(IApplication application) {
Assert.notNull(application);
return application.getDomain().getUser().getConnection();
}
protected IOpenShiftConnection getConnection(IDomain domain) {
Assert.notNull(domain);
return domain.getUser().getConnection();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy