All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.mhus.test.ws.ws_server.impl.WSServiceImpl Maven / Gradle / Ivy

package de.mhus.test.ws.ws_server.impl;

import java.util.HashMap;
import java.util.logging.Logger;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;

import aQute.bnd.annotation.component.Activate;
import aQute.bnd.annotation.component.Component;
import aQute.bnd.annotation.component.Deactivate;
import de.mhus.test.ws.ws_model.WSEntity;
import de.mhus.test.ws.ws_model.WSService;


@SuppressWarnings("restriction")
@WebService(endpointInterface = "de.mhus.test.ws.ws_model.WSService")
@Component(name="HohohoHeHe",immediate=true)
public class WSServiceImpl implements WSService {

	private Logger log = Logger.getLogger(WSServiceImpl.class.getName());
	private HashMap map = new HashMap();
	private BundleContext context;
	private Endpoint handler;
	
	@Activate
	public void activate(ComponentContext ctx) {
		log.info("START");
		this.context = ctx.getBundleContext();

		handler = Endpoint.publish("/hehe", this);
		
	}

	@Deactivate
	public void deactivate(ComponentContext ctx) {
		log.info("STOP");
		handler.stop();
		
	}
	
	public WSServiceImpl() {
		addEntity(new WSEntity("alf")); // sample
	}
	
	public void addEntity(WSEntity entity) {
		if (entity == null) return;
		log.info("add " + entity.getName());
		map.put(entity.getName(), entity);
	}

	public WSEntity[] getAll() {
		return map.values().toArray(new WSEntity[0]);
	}

	public void remvoeEntity(WSEntity entity) {
		if (entity == null) return;
		log.info("remove " + entity.getName());
		map.remove(entity.getName());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy