Projects >> wsn-device-drivers >>fa451595d3cf942b41062b7586458c17c787a75b

Chunk
Conflicting content
package de.uniluebeck.itm.wsn.drivers.factories;

<<<<<<< HEAD
=======
import java.util.Map;
import java.util.concurrent.ExecutorService;

>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca
import com.google.inject.ImplementedBy;
import de.uniluebeck.itm.wsn.drivers.core.Device;
Solution content
package de.uniluebeck.itm.wsn.drivers.factories;

import com.google.inject.ImplementedBy;
import de.uniluebeck.itm.wsn.drivers.core.Device;
File
DeviceFactory.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import com.google.inject.ImplementedBy;
import de.uniluebeck.itm.wsn.drivers.core.Device;

<<<<<<< HEAD
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService;
=======
import javax.annotation.Nullable;
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca

@ImplementedBy(DeviceFactoryImpl.class)
@SuppressWarnings("unused")
Solution content
import com.google.inject.ImplementedBy;
import de.uniluebeck.itm.wsn.drivers.core.Device;

import javax.annotation.Nullable;
import java.util.Map;
import java.util.concurrent.ExecutorService;

@ImplementedBy(DeviceFactoryImpl.class)
@SuppressWarnings("unused")
File
DeviceFactory.java
Developer's decision
Manual
Kind of conflict
Import
Chunk
Conflicting content
<<<<<<< HEAD
	Device create(ScheduledExecutorService executorService, String deviceType);

	Device create(ScheduledExecutorService executorService, DeviceType deviceType, Map configuration);

	Device create(ScheduledExecutorService executorService, String deviceType, Map configuration);

	Device create(ExecutorService executorService, DeviceType deviceType, @Nullable Map configuration);

=======
	Device create(ExecutorService executorService, String deviceType, @Nullable Map configuration);
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca
}
Solution content
	Device create(ExecutorService executorService, DeviceType deviceType, @Nullable Map configuration);

	Device create(ExecutorService executorService, String deviceType, @Nullable Map configuration);
}
File
DeviceFactory.java
Developer's decision
Version 2
Kind of conflict
Method interface
Chunk
Conflicting content
	}

	@Override
<<<<<<< HEAD
	public Device create(ScheduledExecutorService executorService, DeviceType deviceType) {
        return create(executorService, deviceType, null);
	}

	@Override
	public Device create(ScheduledExecutorService executorService, String deviceType) {
		return create(executorService, DeviceType.fromString(deviceType), null);
	}

    @Override
    public Device create(ScheduledExecutorService executorService, DeviceType deviceType, Map configuration) {
        Module deviceModule = null;
		switch (deviceType) {
		case ISENSE:
			deviceModule = new JennicModule();
			break;
		case PACEMATE:
			deviceModule = new PacemateModule();
			break;
		case TELOSB:
			deviceModule = new TelosbModule();
			break;
        case SUNSPOT:
            deviceModule = new SunspotModule(configuration);
            break;
		case MOCK:
			deviceModule = new MockModule();
			break;
		default:
			throw new RuntimeException("Unhandled device type \"" + deviceType
					+ "\". Maybe someone forgot to add this (new) device type to " + DeviceFactoryImpl.class.getName()
					+ "?"
			);
		}
		return Guice.createInjector(new DeviceModule(executorService), deviceModule).getInstance(Device.class);
    }

    @Override
    public Device create(ScheduledExecutorService executorService, String deviceType, Map configuration) {
        return create(executorService, DeviceType.fromString(deviceType), configuration);
    }
=======
	public Device create(ExecutorService executorService, String deviceType) {
		return create(executorService, DeviceType.fromString(deviceType), null);
	}

	@Override
	public Device create(final ExecutorService executorService, final DeviceType deviceType,
						 @Nullable final Map configuration) {

		Module deviceModule;

		switch (deviceType) {
			case ISENSE:
				deviceModule = new JennicModule(configuration);
				break;
			case PACEMATE:
				deviceModule = new PacemateModule(configuration);
				break;
			case TELOSB:
				deviceModule = new TelosbModule(configuration);
				break;
			case MOCK:
				deviceModule = new MockModule(configuration);
				break;
                        case TRISOS:
                                deviceModule = new TriSOSModule(configuration);
                                break;
			default:
				throw new RuntimeException("Unknown device type \"" + deviceType + "\". Maybe someone forgot to add"
						+ "this (new) device type to " + DeviceFactoryImpl.class.getName() + "?"
				);
		}

                Injector injector = Guice.createInjector(new DeviceModule(executorService), deviceModule);
                Device device = injector.getInstance(Device.class);
                return device;
		//return Guice.createInjector(new DeviceModule(executorService), deviceModule).getInstance(Device.class);
	}

	@Override
	public Device create(final ExecutorService executorService, final String deviceType,
						 @Nullable final Map configuration) {

		return create(executorService, DeviceType.fromString(deviceType), configuration);
	}
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca

}
Solution content
	}

	@Override
	public Device create(ExecutorService executorService, String deviceType) {
		return create(executorService, DeviceType.fromString(deviceType), null);
	}

	@Override
	public Device create(final ExecutorService executorService, final DeviceType deviceType,
						 @Nullable final Map configuration) {

		Module deviceModule;

		switch (deviceType) {
			case ISENSE:
				deviceModule = new JennicModule(configuration);
				break;
			case PACEMATE:
				deviceModule = new PacemateModule(configuration);
				break;
			case TELOSB:
				deviceModule = new TelosbModule(configuration);
				break;
			case MOCK:
				deviceModule = new MockModule(configuration);
				break;
			case TRISOS:
				deviceModule = new TriSOSModule(configuration);
				break;
			case SUNSPOT:
				deviceModule = new SunspotModule(configuration);
				break;
			default:
				throw new RuntimeException("Unknown device type \"" + deviceType + "\". Maybe someone forgot to add"
						+ "this (new) device type to " + DeviceFactoryImpl.class.getName() + "?"
				);
		}

		return Guice.createInjector(new DeviceModule(executorService), deviceModule).getInstance(Device.class);
	}

	@Override
	public Device create(final ExecutorService executorService, final String deviceType,
						 @Nullable final Map configuration) {

		return create(executorService, DeviceType.fromString(deviceType), configuration);
	}

}
File
DeviceFactoryImpl.java
Developer's decision
Combination
Kind of conflict
Annotation
Method declaration
Chunk
Conflicting content
public enum DeviceType {

<<<<<<< HEAD
	ISENSE,
	TELOSB,
	PACEMATE,
    SUNSPOT,
	MOCK,
	NULL;
=======
	ISENSE("isense", "isense39", "isense48"),
	TELOSB("telosb"),
	PACEMATE("pacemate"),
	MOCK("mock"),
        TRISOS("trisos");

	private final String[] synonyms;

	private DeviceType(final String... synonyms) {
		this.synonyms = synonyms;
	}
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca

	public static DeviceType fromString(String deviceTypeString) {
		for (DeviceType deviceType : DeviceType.values()) {
Solution content
public enum DeviceType {

	ISENSE("isense", "isense39", "isense48"),
	TELOSB("telosb"),
	PACEMATE("pacemate"),
	MOCK("mock"),
	TRISOS("trisos"),
	SUNSPOT("sunspot");

	private final String[] synonyms;

	private DeviceType(final String... synonyms) {
		this.synonyms = synonyms;
	}

	public static DeviceType fromString(String deviceTypeString) {
		for (DeviceType deviceType : DeviceType.values()) {
File
DeviceType.java
Developer's decision
Manual
Kind of conflict
Attribute
Enum value
Method declaration
Chunk
Conflicting content
import com.google.common.collect.Maps;
import com.google.inject.AbstractModule;
<<<<<<< HEAD
import de.uniluebeck.itm.wsn.drivers.core.Connection;
=======
import com.google.inject.TypeLiteral;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.google.inject.matcher.Matchers;
import com.google.inject.name.Names;
import de.uniluebeck.itm.wsn.drivers.core.Connection;
import de.uniluebeck.itm.wsn.drivers.core.Device;
import de.uniluebeck.itm.wsn.drivers.core.SerialPortDevice;
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca
import de.uniluebeck.itm.wsn.drivers.core.operation.*;
import de.uniluebeck.itm.wsn.drivers.core.serialport.SerialPortConnection;
import de.uniluebeck.itm.wsn.drivers.core.serialport.SerialPortProgrammingMode;
Solution content
import com.google.common.collect.Maps;
import com.google.inject.AbstractModule;
<<<<<<< HEAD
import de.uniluebeck.itm.wsn.drivers.core.Connection;
=======
import com.google.inject.TypeLiteral;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.google.inject.matcher.Matchers;
import com.google.inject.name.Names;
import de.uniluebeck.itm.wsn.drivers.core.Connection;
import de.uniluebeck.itm.wsn.drivers.core.Device;
import de.uniluebeck.itm.wsn.drivers.core.SerialPortDevice;
>>>>>>> develop
import de.uniluebeck.itm.wsn.drivers.core.operation.*;
import de.uniluebeck.itm.wsn.drivers.core.serialport.SerialPortConnection;
import de.uniluebeck.itm.wsn.drivers.core.serialport.SerialPortProgrammingMode;
File
JennicModule.java
Developer's decision
Manual
Kind of conflict
Import
Chunk
Conflicting content

public class JennicModule extends AbstractModule {

<<<<<<< HEAD
    @Override
=======
	private final Map configuration;

	public JennicModule() {
		this(null);
	}

	public JennicModule(@Nullable final Map configuration) {
		this.configuration = configuration;
	}

	@Override
>>>>>>> ba14303d6bc4fdd43dabcdd2fd0f4cbc990669ca
	protected void configure() {
		bind(new TypeLiteral>() {
Solution content
public class JennicModule extends AbstractModule {

<<<<<<< HEAD
    @Override
=======
	private final Map configuration;

	public JennicModule() {
		this(null);
	}

	public JennicModule(@Nullable final Map configuration) {
		this.configuration = configuration;
	}

	@Override
>>>>>>> develop
	protected void configure() {

		bind(new TypeLiteral>() {
File
JennicModule.java
Developer's decision
Manual
Kind of conflict
Annotation
Attribute
Method declaration