/*
* Copyright 2013 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.overlord.rtgov.ui.server.services.mock;
import java.util.ArrayList;
import java.util.List;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Alternative;
import org.overlord.rtgov.ui.client.model.ApplicationListBean;
import org.overlord.rtgov.ui.client.model.BindingBean;
import org.overlord.rtgov.ui.client.model.QName;
import org.overlord.rtgov.ui.client.model.ReferenceBean;
import org.overlord.rtgov.ui.client.model.ReferenceSummaryBean;
import org.overlord.rtgov.ui.client.model.ServiceBean;
import org.overlord.rtgov.ui.client.model.ServiceResultSetBean;
import org.overlord.rtgov.ui.client.model.ServiceSummaryBean;
import org.overlord.rtgov.ui.client.model.ServicesSearchBean;
import org.overlord.rtgov.ui.client.model.UiException;
import org.overlord.rtgov.ui.server.services.IServicesServiceImpl;
import com.google.common.collect.Sets;
/**
* Concrete implementation of the services service. :)
*
* @author eric.wittmann@redhat.com
*/
@ApplicationScoped
@Alternative
public class MockServicesServiceImpl implements IServicesServiceImpl {
/**
* Constructor.
*/
public MockServicesServiceImpl() {
}
/**
* @see org.overlord.rtgov.ui.server.services.IServicesServiceImpl#getApplicationNames()
*/
@Override
public ApplicationListBean getApplicationNames() throws UiException {
List<QName> apps = new ArrayList<QName>();
apps.add(new QName("urn:jboss:demos:applications", "Contract")); //$NON-NLS-1$ //$NON-NLS-2$
apps.add(new QName("urn:jboss:demos:applications", "GGRL")); //$NON-NLS-1$ //$NON-NLS-2$
ApplicationListBean ret=new ApplicationListBean();
ret.setApplicationNames(apps);
return ret;
}
/**
* @see org.overlord.rtgov.ui.server.services.IServicesServiceImpl#findServices(org.overlord.rtgov.ui.client.model.ServicesFilterBean, int, java.lang.String, boolean)
*/
@Override
public ServiceResultSetBean findServices(ServicesSearchBean search) throws UiException {
ServiceResultSetBean rval = new ServiceResultSetBean();
ArrayList<ServiceSummaryBean> services = new ArrayList<ServiceSummaryBean>();
rval.setServices(services);
rval.setItemsPerPage(20);
rval.setStartIndex(0);
rval.setTotalResults(2);
ServiceSummaryBean service = new ServiceSummaryBean();
service.setServiceId("1"); //$NON-NLS-1$
service.setName("CreateApplicationWebservice"); //$NON-NLS-1$
service.setApplication("Contract"); //$NON-NLS-1$
service.setIface("{urn:jboss:demo:create-application}CreateApplicationPT"); //$NON-NLS-1$
BindingBean soapBinding = new BindingBean();
soapBinding.setType("SOAP").setState("STARTED");
BindingBean jmsBinding = new BindingBean();
jmsBinding.setType("JMS").setState("STOPPED");
service.setBindings(Sets.newHashSet(soapBinding, jmsBinding)); //$NON-NLS-1$
services.add(service);
service = new ServiceSummaryBean();
service.setServiceId("2"); //$NON-NLS-1$
service.setName("CreateQuoteWebservice"); //$NON-NLS-1$
service.setApplication("Contract"); //$NON-NLS-1$
service.setIface("{urn:jboss:demo:create-application}CreateQuotePT"); //$NON-NLS-1$
service.setBindings(Sets.newHashSet(soapBinding)); //$NON-NLS-1$
services.add(service);
return rval;
}
/**
* @see org.overlord.dtgov.ui.client.shared.services.IServicesServiceImpl#getService(java.lang.String)
*/
@Override
public ServiceBean getService(String uuid) throws UiException {
ServiceBean service = new ServiceBean();
service.setServiceId("1"); //$NON-NLS-1$
service.setName(new QName("urn:jboss:demo:services", "CreateApplicationWebservice")); //$NON-NLS-1$ //$NON-NLS-2$
service.setApplication(new QName("urn:jboss:demos:applications", "Contract")); //$NON-NLS-1$ //$NON-NLS-2$
service.setServiceInterface("{urn:jboss:demo:create-application}CreateApplicationPT"); //$NON-NLS-1$
service.setServiceGraph("<?xml version='1.0' encoding='UTF-8'?><svg height='30' width='400'><script type='text/javascript'>console.log('SVGRoot='+window.SVGRoot);</script><text x='0' y='15' fill='red'>Service Graph not available in Mock implementation</text>Sorry, your browser does not support inline SVG.</svg>");
ReferenceSummaryBean reference = new ReferenceSummaryBean();
reference.setReferenceId("1"); //$NON-NLS-1$
reference.setName("CreateApplicationService"); //$NON-NLS-1$
reference.setApplication("Contract"); //$NON-NLS-1$
reference.setIface("org.jboss.demos.services.ICreateApplication"); //$NON-NLS-1$
BindingBean soapBinding = new BindingBean();
soapBinding.setType("SOAP").setState("STARTED");
BindingBean jmsBinding = new BindingBean();
jmsBinding.setType("SCA").setState("STOPPED");
reference.setBindings(Sets.newHashSet(soapBinding, jmsBinding)); //$NON-NLS-1$
service.getReferences().add(reference);
reference = new ReferenceSummaryBean();
reference.setReferenceId("2"); //$NON-NLS-1$
reference.setName("CreateQuoteService"); //$NON-NLS-1$
reference.setApplication("Contract"); //$NON-NLS-1$
reference.setIface("org.jboss.demos.services.ICreateQuote"); //$NON-NLS-1$
reference.setBindings(Sets.newHashSet(soapBinding)); //$NON-NLS-1$
service.getReferences().add(reference);
return service;
}
/**
* @see org.overlord.rtgov.ui.server.services.IServicesServiceImpl#getReference(java.lang.String)
*/
@Override
public ReferenceBean getReference(String serviceId) throws UiException {
ReferenceBean reference = new ReferenceBean();
reference.setReferenceId("1"); //$NON-NLS-1$
reference.setName(new QName("urn:jboss:demo:services", "CreateApplicationService")); //$NON-NLS-1$ //$NON-NLS-2$
reference.setApplication(new QName("urn:jboss:demos:applications", "Contract")); //$NON-NLS-1$ //$NON-NLS-2$
reference.setReferenceInterface("org.jboss.demos.services.ICreateApplication"); //$NON-NLS-1$
return reference;
}
}