Add Javadoc for factory methods.

Add Javadoc for factory methods.

--- hamcrest-library/src/main/java/org/hamcrest/text/MatchesPattern.java
+++ hamcrest-library/src/main/java/org/hamcrest/text/MatchesPattern.java
@@ -24,11 +24,19 @@
         description.appendText("a string matching the pattern '" + pattern + "'");
     }

+    /**
+     * Creates a matcher of {@link String} that matches when the examined string
+     * exactly matches the given {@link Pattern}.
+     */
     @Factory
     public static Matcher<String> matchesPattern(Pattern pattern) {
         return new MatchesPattern(pattern);
     }

+    /**
+     * Creates a matcher of {@link String} that matches when the examined string
+     * exactly matches the given regular expression, treated as a {@link Pattern}.
+     */
     @Factory
     public static Matcher<String> matchesPattern(String regex) {
         return new MatchesPattern(Pattern.compile(regex));

<|original_code|>
package org.hamcrest.text;

import java.util.regex.Pattern;

import org.hamcrest.Description;
import org.hamcrest.Factory;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;

public class MatchesPattern extends TypeSafeMatcher<String> {
    private final Pattern pattern;

    public MatchesPattern(Pattern pattern) {
        this.pattern = pattern;
    }

    @Override
    protected boolean matchesSafely(String item) {
        return pattern.matcher(item).matches();
    }

    @Override
    public void describeTo(Description description) {
        description.appendText("a string matching the pattern '" + pattern + "'");
    }

    @Factory
    public static Matcher<String> matchesPattern(Pattern pattern) {
        return new MatchesPattern(pattern);
    }

    @Factory
    public static Matcher<String> matchesPattern(String regex) {
        return new MatchesPattern(Pattern.compile(regex));
    }
}

<|edits_diff|>
--- hamcrest-library/src/main/java/org/hamcrest/text/MatchesPattern.java
+++ hamcrest-library/src/main/java/org/hamcrest/text/MatchesPattern.java
@@ -24,6 +24,10 @@
         description.appendText("a string matching the pattern '" + pattern + "'");
     }

+    /**
+     * Creates a matcher of {@link String} that matches when the examined string
+     * exactly matches the given {@link Pattern}.
+     */
     @Factory
     public static Matcher<String> matchesPattern(Pattern pattern) {
         return new MatchesPattern(pattern);
<|current_version|>
package org.hamcrest.text;

import java.util.regex.Pattern;

import org.hamcrest.Description;
import org.hamcrest.Factory;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;

public class MatchesPattern extends TypeSafeMatcher<String> {
    private final Pattern pattern;

    public MatchesPattern(Pattern pattern) {
        this.pattern = pattern;
    }

    @Override
    protected boolean matchesSafely(String item) {
        return pattern.matcher(item).matches();
    }

    @Override
    public void describeTo(Description description) {
        description.appendText("a string matching the pattern '" + pattern + "'");
    }

    /**
     * Creates a matcher of {@link String} that matches when the examined string
     * exactly matches the given {@link Pattern}.
     */
    @Factory
    public static Matcher<String> matchesPattern(Pattern pattern) {
        return new MatchesPattern(pattern);
    }

    @Factory
    public static Matcher<String> matchesPattern(String regex) {
        return new MatchesPattern(Pattern.compile(regex));
    }
}

<|next_version|>
package org.hamcrest.text;

import java.util.regex.Pattern;

import org.hamcrest.Description;
import org.hamcrest.Factory;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;

public class MatchesPattern extends TypeSafeMatcher<String> {
    private final Pattern pattern;

    public MatchesPattern(Pattern pattern) {
        this.pattern = pattern;
    }

    @Override
    protected boolean matchesSafely(String item) {
        return pattern.matcher(item).matches();
    }

    @Override
    public void describeTo(Description description) {
        description.appendText("a string matching the pattern '" + pattern + "'");
    }

    /**
     * Creates a matcher of {@link String} that matches when the examined string
     * exactly matches the given {@link Pattern}.
     */
    @Factory
    public static Matcher<String> matchesPattern(Pattern pattern) {
        return new MatchesPattern(pattern);
    }

    /**
     * Creates a matcher of {@link String} that matches when the examined string
     * exactly matches the given regular expression, treated as a {@link Pattern}.
     */
    @Factory
    public static Matcher<String> matchesPattern(String regex) {
        return new MatchesPattern(Pattern.compile(regex));
    }
}


Enforce unique to column categoryName

Enforce unique to column categoryName

OPEN - task 54: Create Category CRUD packages
http://github.com/DevOpsDistilled/OpERP/issues/issue/54

--- OpERP/src/main/java/devopsdistilled/operp/server/data/entity/items/Category.java
+++ OpERP/src/main/java/devopsdistilled/operp/server/data/entity/items/Category.java
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 import java.util.List;

+import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
@@ -20,6 +21,7 @@
 	@GeneratedValue(strategy = GenerationType.AUTO)
 	private Long categoryId;

+	@Column(unique = true)
 	private String categoryName;

 	@ManyToMany(mappedBy = "categories")

<|original_code|>
package devopsdistilled.operp.server.data.entity.items;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import devopsdistilled.operp.server.data.entity.Entiti;

@Entity
public class Category extends Entiti implements Serializable {

	private static final long serialVersionUID = -3809686715120885998L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long categoryId;

	private String categoryName;

	@ManyToMany(mappedBy = "categories")
	private List<Product> products;

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public List<Product> getProducts() {
		return products;
	}

	public void setProducts(List<Product> products) {
		this.products = products;
	}

}

<|edits_diff|>
--- OpERP/src/main/java/devopsdistilled/operp/server/data/entity/items/Category.java
+++ OpERP/src/main/java/devopsdistilled/operp/server/data/entity/items/Category.java
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 import java.util.List;

+import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
<|current_version|>
package devopsdistilled.operp.server.data.entity.items;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import devopsdistilled.operp.server.data.entity.Entiti;

@Entity
public class Category extends Entiti implements Serializable {

	private static final long serialVersionUID = -3809686715120885998L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long categoryId;

	private String categoryName;

	@ManyToMany(mappedBy = "categories")
	private List<Product> products;

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public List<Product> getProducts() {
		return products;
	}

	public void setProducts(List<Product> products) {
		this.products = products;
	}

}

<|next_version|>
package devopsdistilled.operp.server.data.entity.items;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import devopsdistilled.operp.server.data.entity.Entiti;

@Entity
public class Category extends Entiti implements Serializable {

	private static final long serialVersionUID = -3809686715120885998L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long categoryId;

	@Column(unique = true)
	private String categoryName;

	@ManyToMany(mappedBy = "categories")
	private List<Product> products;

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public List<Product> getProducts() {
		return products;
	}

	public void setProducts(List<Product> products) {
		this.products = products;
	}

}


Add @ComponentScan to tests main class

Add @ComponentScan to tests main class

--- src/test/java/com/pm/server/PmServerApplicationTests.java
+++ src/test/java/com/pm/server/PmServerApplicationTests.java
@@ -3,11 +3,13 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.context.annotation.ComponentScan;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;

 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringApplicationConfiguration(classes = PmServerApplication.class)
+@ComponentScan("com.pm.server")
 @WebAppConfiguration
 public class PmServerApplicationTests {

<|original_code|>
package com.pm.server;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = PmServerApplication.class)
@WebAppConfiguration
public class PmServerApplicationTests {

	@Test
	public void contextLoads() {
	}

}

<|edits_diff|>
--- src/test/java/com/pm/server/PmServerApplicationTests.java
+++ src/test/java/com/pm/server/PmServerApplicationTests.java
@@ -3,6 +3,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.context.annotation.ComponentScan;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;

<|current_version|>
package com.pm.server;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = PmServerApplication.class)
@WebAppConfiguration
public class PmServerApplicationTests {

	@Test
	public void contextLoads() {
	}

}

<|next_version|>
package com.pm.server;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = PmServerApplication.class)
@ComponentScan("com.pm.server")
@WebAppConfiguration
public class PmServerApplicationTests {

	@Test
	public void contextLoads() {
	}

}


Add unit test to get pid passing null pattern.

--- src/test/java/com/github/aureliano/achmed/os/LinuxTest.java
+++ src/test/java/com/github/aureliano/achmed/os/LinuxTest.java
@@ -4,6 +4,7 @@

 import org.junit.Test;

+import com.github.aureliano.achmed.exception.ServiceResourceException;
 import com.github.aureliano.achmed.os.pkg.IPackageManager;
 import com.github.aureliano.achmed.types.OS;
 import com.github.aureliano.achmed.types.OperatingSystemFamily;
@@ -27,6 +28,11 @@
 		assertEquals(cmd, this.linux.getPsCommand());
 	}

+	@Test(expected = ServiceResourceException.class)
+	public void testGetPidWithNullPattern() {
+		this.linux.getPid(null);
+	}
+
 	private Linux createDefaultOs() {
 		return new Linux() {

<|original_code|>
package com.github.aureliano.achmed.os;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.github.aureliano.achmed.os.pkg.IPackageManager;
import com.github.aureliano.achmed.types.OS;
import com.github.aureliano.achmed.types.OperatingSystemFamily;

public class LinuxTest {

	private Linux linux;

	public LinuxTest() {
		this.linux = this.createDefaultOs();
	}

	@Test
	public void testGetOperatingSystem() {
		assertEquals(OS.LINUX, this.linux.getOperatingSystem());
	}

	@Test
	public void testGetPsCommand() {
		final String cmd = "ps -ef";
		assertEquals(cmd, this.linux.getPsCommand());
	}

	private Linux createDefaultOs() {
		return new Linux() {

			public OperatingSystemFamily getOperatingSystemFamily() {
				return null;
			}

			public IPackageManager getDefaultPackageManager() {
				return null;
			}
		};
	}
}
<|edits_diff|>
--- src/test/java/com/github/aureliano/achmed/os/LinuxTest.java
+++ src/test/java/com/github/aureliano/achmed/os/LinuxTest.java
@@ -4,6 +4,7 @@

 import org.junit.Test;

+import com.github.aureliano.achmed.exception.ServiceResourceException;
 import com.github.aureliano.achmed.os.pkg.IPackageManager;
 import com.github.aureliano.achmed.types.OS;
 import com.github.aureliano.achmed.types.OperatingSystemFamily;
<|current_version|>
package com.github.aureliano.achmed.os;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.github.aureliano.achmed.exception.ServiceResourceException;
import com.github.aureliano.achmed.os.pkg.IPackageManager;
import com.github.aureliano.achmed.types.OS;
import com.github.aureliano.achmed.types.OperatingSystemFamily;

public class LinuxTest {

	private Linux linux;

	public LinuxTest() {
		this.linux = this.createDefaultOs();
	}

	@Test
	public void testGetOperatingSystem() {
		assertEquals(OS.LINUX, this.linux.getOperatingSystem());
	}

	@Test
	public void testGetPsCommand() {
		final String cmd = "ps -ef";
		assertEquals(cmd, this.linux.getPsCommand());
	}

	private Linux createDefaultOs() {
		return new Linux() {

			public OperatingSystemFamily getOperatingSystemFamily() {
				return null;
			}

			public IPackageManager getDefaultPackageManager() {
				return null;
			}
		};
	}
}
<|next_version|>
package com.github.aureliano.achmed.os;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.github.aureliano.achmed.exception.ServiceResourceException;
import com.github.aureliano.achmed.os.pkg.IPackageManager;
import com.github.aureliano.achmed.types.OS;
import com.github.aureliano.achmed.types.OperatingSystemFamily;

public class LinuxTest {

	private Linux linux;

	public LinuxTest() {
		this.linux = this.createDefaultOs();
	}

	@Test
	public void testGetOperatingSystem() {
		assertEquals(OS.LINUX, this.linux.getOperatingSystem());
	}

	@Test
	public void testGetPsCommand() {
		final String cmd = "ps -ef";
		assertEquals(cmd, this.linux.getPsCommand());
	}

	@Test(expected = ServiceResourceException.class)
	public void testGetPidWithNullPattern() {
		this.linux.getPid(null);
	}

	private Linux createDefaultOs() {
		return new Linux() {

			public OperatingSystemFamily getOperatingSystemFamily() {
				return null;
			}

			public IPackageManager getDefaultPackageManager() {
				return null;
			}
		};
	}
}


Use Jython dont import site flag

Use Jython dont import site flag

The purpose of this change is to improve startup performance of the cslang CLI
According to jython java docs when this property is set to false site.py will not be imported
AFAIK this site packages doesn't exist unless you install jython (and not embedding)

Signed-off-by: Eliya Sadan <ee72bd64a89bf65c610af864999dbed3edbad28e@gmail.com>

--- cloudslang-runtime/src/main/java/io/cloudslang/lang/runtime/configuration/SlangRuntimeSpringConfig.java
+++ cloudslang-runtime/src/main/java/io/cloudslang/lang/runtime/configuration/SlangRuntimeSpringConfig.java
@@ -11,6 +11,7 @@
 *******************************************************************************/

+import org.python.core.Options;
 import org.python.util.PythonInterpreter;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -23,6 +24,10 @@
 @ComponentScan("io.cloudslang.lang.runtime")
 public class SlangRuntimeSpringConfig {

+    static {
+        Options.importSite = false;
+    }
+
     @Bean
     public PythonInterpreter interpreter(){
         return new PythonInterpreter();

<|original_code|>
package io.cloudslang.lang.runtime.configuration;

/*******************************************************************************
* (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0 which accompany this distribution.
*
* The Apache License is available at
* http://www.apache.org/licenses/LICENSE-2.0
*
*******************************************************************************/

import org.python.util.PythonInterpreter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

@Configuration
@ComponentScan("io.cloudslang.lang.runtime")
public class SlangRuntimeSpringConfig {

    @Bean
    public PythonInterpreter interpreter(){
        return new PythonInterpreter();
    }

    @Bean
    public ScriptEngine scriptEngine(){
        return  new ScriptEngineManager().getEngineByName("python");
    }

}

<|edits_diff|>
--- cloudslang-runtime/src/main/java/io/cloudslang/lang/runtime/configuration/SlangRuntimeSpringConfig.java
+++ cloudslang-runtime/src/main/java/io/cloudslang/lang/runtime/configuration/SlangRuntimeSpringConfig.java
@@ -11,6 +11,7 @@
 *******************************************************************************/

+import org.python.core.Options;
 import org.python.util.PythonInterpreter;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
<|current_version|>
package io.cloudslang.lang.runtime.configuration;

/*******************************************************************************
* (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0 which accompany this distribution.
*
* The Apache License is available at
* http://www.apache.org/licenses/LICENSE-2.0
*
*******************************************************************************/

import org.python.core.Options;
import org.python.util.PythonInterpreter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

@Configuration
@ComponentScan("io.cloudslang.lang.runtime")
public class SlangRuntimeSpringConfig {

    @Bean
    public PythonInterpreter interpreter(){
        return new PythonInterpreter();
    }

    @Bean
    public ScriptEngine scriptEngine(){
        return  new ScriptEngineManager().getEngineByName("python");
    }

}

<|next_version|>
package io.cloudslang.lang.runtime.configuration;

/*******************************************************************************
* (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0 which accompany this distribution.
*
* The Apache License is available at
* http://www.apache.org/licenses/LICENSE-2.0
*
*******************************************************************************/

import org.python.core.Options;
import org.python.util.PythonInterpreter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

@Configuration
@ComponentScan("io.cloudslang.lang.runtime")
public class SlangRuntimeSpringConfig {

    static {
        Options.importSite = false;
    }

    @Bean
    public PythonInterpreter interpreter(){
        return new PythonInterpreter();
    }

    @Bean
    public ScriptEngine scriptEngine(){
        return  new ScriptEngineManager().getEngineByName("python");
    }

}


Add missing setters for handshake.

Add missing setters for handshake.

--- protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet2Handshake.java
+++ protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet2Handshake.java
@@ -3,9 +3,11 @@
 import io.netty.buffer.ByteBuf;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
+import lombok.Setter;
 import lombok.ToString;

 @Getter
+@Setter
 @ToString
 @EqualsAndHashCode(callSuper = false)
 public class Packet2Handshake extends DefinedPacket

<|original_code|>
package net.md_5.bungee.protocol.packet;

import io.netty.buffer.ByteBuf;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;

@Getter
@ToString
@EqualsAndHashCode(callSuper = false)
public class Packet2Handshake extends DefinedPacket
{

    private byte protocolVersion;
    private String username;
    private String host;
    private int port;

    private Packet2Handshake()
    {
        super( 0x02 );
    }

    @Override
    public void read(ByteBuf buf)
    {
        protocolVersion = buf.readByte();
        username = readString( buf );
        host = readString( buf );
        port = buf.readInt();
    }

    @Override
    public void write(ByteBuf buf)
    {
        buf.writeByte( protocolVersion );
        writeString( username, buf );
        writeString( host, buf );
        buf.writeInt( port );
    }

    @Override
    public void handle(AbstractPacketHandler handler) throws Exception
    {
        handler.handle( this );
    }
}

<|edits_diff|>
--- protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet2Handshake.java
+++ protocol/src/main/java/net/md_5/bungee/protocol/packet/Packet2Handshake.java
@@ -3,6 +3,7 @@
 import io.netty.buffer.ByteBuf;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
+import lombok.Setter;
 import lombok.ToString;

 @Getter
<|current_version|>
package net.md_5.bungee.protocol.packet;

import io.netty.buffer.ByteBuf;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@ToString
@EqualsAndHashCode(callSuper = false)
public class Packet2Handshake extends DefinedPacket
{

    private byte protocolVersion;
    private String username;
    private String host;
    private int port;

    private Packet2Handshake()
    {
        super( 0x02 );
    }

    @Override
    public void read(ByteBuf buf)
    {
        protocolVersion = buf.readByte();
        username = readString( buf );
        host = readString( buf );
        port = buf.readInt();
    }

    @Override
    public void write(ByteBuf buf)
    {
        buf.writeByte( protocolVersion );
        writeString( username, buf );
        writeString( host, buf );
        buf.writeInt( port );
    }

    @Override
    public void handle(AbstractPacketHandler handler) throws Exception
    {
        handler.handle( this );
    }
}

<|next_version|>
package net.md_5.bungee.protocol.packet;

import io.netty.buffer.ByteBuf;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
@EqualsAndHashCode(callSuper = false)
public class Packet2Handshake extends DefinedPacket
{

    private byte protocolVersion;
    private String username;
    private String host;
    private int port;

    private Packet2Handshake()
    {
        super( 0x02 );
    }

    @Override
    public void read(ByteBuf buf)
    {
        protocolVersion = buf.readByte();
        username = readString( buf );
        host = readString( buf );
        port = buf.readInt();
    }

    @Override
    public void write(ByteBuf buf)
    {
        buf.writeByte( protocolVersion );
        writeString( username, buf );
        writeString( host, buf );
        buf.writeInt( port );
    }

    @Override
    public void handle(AbstractPacketHandler handler) throws Exception
    {
        handler.handle( this );
    }
}


Add TIMEOUT status and document statuses.

--- src/main/java/com/collective/celos/SlotState.java
+++ src/main/java/com/collective/celos/SlotState.java
@@ -9,10 +9,18 @@
     protected final Status status;

     public enum Status {
+        /** No data availability yet. */
         WAITING,
+        /** No data availability for too long, workflow will not run. */
+        TIMEOUT,
+        /** Data is available and the workflow will be run shortly.
+            Workflow will also enter this state when it is retried. */
         READY,
+        /** The workflow is currently running. */
         RUNNING,
+        /** The workflow has succeeded. */
         SUCCESS,
+        /** The workflow has failed and will not be retried. */
         FAILURE
     };

<|original_code|>
package com.collective.celos;

/**
 * The execution status of a slot.
 */
public class SlotState extends ValueObject {

    protected final SlotID slotID;
    protected final Status status;

    public enum Status {
        WAITING,
        READY,
        RUNNING,
        SUCCESS,
        FAILURE
    };

    public SlotState(SlotID slotID, Status status) {
        this.slotID = Util.requireNonNull(slotID);
        this.status = Util.requireNonNull(status);
    }

    public SlotID getSlotID() {
        return slotID;
    }

    public Status getStatus() {
        return status;
    }

}

<|edits_diff|>
--- src/main/java/com/collective/celos/SlotState.java
+++ src/main/java/com/collective/celos/SlotState.java
@@ -9,9 +9,16 @@
     protected final Status status;

     public enum Status {
+        /** No data availability yet. */
         WAITING,
+        /** No data availability for too long, workflow will not run. */
+        TIMEOUT,
+        /** Data is available and the workflow will be run shortly.
+            Workflow will also enter this state when it is retried. */
         READY,
+        /** The workflow is currently running. */
         RUNNING,
+        /** The workflow has succeeded. */
         SUCCESS,
         FAILURE
     };
<|current_version|>
package com.collective.celos;

/**
 * The execution status of a slot.
 */
public class SlotState extends ValueObject {

    protected final SlotID slotID;
    protected final Status status;

    public enum Status {
        /** No data availability yet. */
        WAITING,
        /** No data availability for too long, workflow will not run. */
        TIMEOUT,
        /** Data is available and the workflow will be run shortly.
            Workflow will also enter this state when it is retried. */
        READY,
        /** The workflow is currently running. */
        RUNNING,
        /** The workflow has succeeded. */
        SUCCESS,
        FAILURE
    };

    public SlotState(SlotID slotID, Status status) {
        this.slotID = Util.requireNonNull(slotID);
        this.status = Util.requireNonNull(status);
    }

    public SlotID getSlotID() {
        return slotID;
    }

    public Status getStatus() {
        return status;
    }

}

<|next_version|>
package com.collective.celos;

/**
 * The execution status of a slot.
 */
public class SlotState extends ValueObject {

    protected final SlotID slotID;
    protected final Status status;

    public enum Status {
        /** No data availability yet. */
        WAITING,
        /** No data availability for too long, workflow will not run. */
        TIMEOUT,
        /** Data is available and the workflow will be run shortly.
            Workflow will also enter this state when it is retried. */
        READY,
        /** The workflow is currently running. */
        RUNNING,
        /** The workflow has succeeded. */
        SUCCESS,
        /** The workflow has failed and will not be retried. */
        FAILURE
    };

    public SlotState(SlotID slotID, Status status) {
        this.slotID = Util.requireNonNull(slotID);
        this.status = Util.requireNonNull(status);
    }

    public SlotID getSlotID() {
        return slotID;
    }

    public Status getStatus() {
        return status;
    }

}


Add methods to set and get properties.

Add methods to set and get properties.

--- src/main/java/com/github/aureliano/achmed/os/service/IService.java
+++ src/main/java/com/github/aureliano/achmed/os/service/IService.java
@@ -1,6 +1,7 @@
 package com.github.aureliano.achmed.os.service;

 import com.github.aureliano.achmed.command.CommandResponse;
+import com.github.aureliano.achmed.resources.properties.ServiceProperties;

 public interface IService {

@@ -15,4 +16,8 @@
 	public abstract CommandResponse enableBootstrap();

 	public abstract CommandResponse disableBootstrap();
+
+	public abstract void setServiceProperties(ServiceProperties properties);
+
+	public abstract ServiceProperties getServiceProperties();
 }

<|original_code|>
package com.github.aureliano.achmed.os.service;

import com.github.aureliano.achmed.command.CommandResponse;

public interface IService {

	public abstract CommandResponse start();

	public abstract CommandResponse stop();

	public abstract CommandResponse restart();

	public abstract boolean isRunning();

	public abstract CommandResponse enableBootstrap();

	public abstract CommandResponse disableBootstrap();
}
<|edits_diff|>
--- src/main/java/com/github/aureliano/achmed/os/service/IService.java
+++ src/main/java/com/github/aureliano/achmed/os/service/IService.java
@@ -1,6 +1,7 @@
 package com.github.aureliano.achmed.os.service;

 import com.github.aureliano.achmed.command.CommandResponse;
+import com.github.aureliano.achmed.resources.properties.ServiceProperties;

 public interface IService {

<|current_version|>
package com.github.aureliano.achmed.os.service;

import com.github.aureliano.achmed.command.CommandResponse;
import com.github.aureliano.achmed.resources.properties.ServiceProperties;

public interface IService {

	public abstract CommandResponse start();

	public abstract CommandResponse stop();

	public abstract CommandResponse restart();

	public abstract boolean isRunning();

	public abstract CommandResponse enableBootstrap();

	public abstract CommandResponse disableBootstrap();
}
<|next_version|>
package com.github.aureliano.achmed.os.service;

import com.github.aureliano.achmed.command.CommandResponse;
import com.github.aureliano.achmed.resources.properties.ServiceProperties;

public interface IService {

	public abstract CommandResponse start();

	public abstract CommandResponse stop();

	public abstract CommandResponse restart();

	public abstract boolean isRunning();

	public abstract CommandResponse enableBootstrap();

	public abstract CommandResponse disableBootstrap();

	public abstract void setServiceProperties(ServiceProperties properties);

	public abstract ServiceProperties getServiceProperties();
}


Add pressure sensor calibration fn

Add pressure sensor calibration fn

--- src/main/java/com/easternedgerobotics/rov/io/MPX4250AP.java
+++ src/main/java/com/easternedgerobotics/rov/io/MPX4250AP.java
@@ -1,4 +1,6 @@
 package com.easternedgerobotics.rov.io;
+
+import rx.Observable;

 /**
  * A MPX4250 is an absolute pressure (AP) sensor. See also: MPX4250.
@@ -13,6 +15,10 @@
      * Offset value for calculating pressure from voltage.
      */
     private static final float PRESSURE_OFFSET = 54.20054200f;
+
+    @SuppressWarnings("checkstyle:MagicNumber")
+    public static final Observable.Transformer<Double, Double> CALIBRATION = source -> source.map(
+        x -> 0.83060f * x + 10.0445f);

     /**
      * The ADC this device uses.

<|original_code|>
package com.easternedgerobotics.rov.io;

/**
 * A MPX4250 is an absolute pressure (AP) sensor. See also: MPX4250.
 */
public final class MPX4250AP {
    /**
     * Scalar value for calculating pressure from voltage.
     */
    private static final float PRESSURE_SCALAR = 0.264909785f;

    /**
     * Offset value for calculating pressure from voltage.
     */
    private static final float PRESSURE_OFFSET = 54.20054200f;

    /**
     * The ADC this device uses.
     */
    private final ADC channel;

    /**
     * Constructs a new MPX4250AP sensor on the given channel.
     * @param channel the ADC this device uses
     */
    public MPX4250AP(final ADC channel) {
        this.channel = channel;
    }

    /**
     * Returns the pressure.
     * @return the pressure
     */
    public final float read() {
        return channel.voltage() * PRESSURE_OFFSET - PRESSURE_SCALAR;
    }
}

<|edits_diff|>
--- src/main/java/com/easternedgerobotics/rov/io/MPX4250AP.java
+++ src/main/java/com/easternedgerobotics/rov/io/MPX4250AP.java
@@ -1,4 +1,6 @@
 package com.easternedgerobotics.rov.io;
+
+import rx.Observable;

 /**
  * A MPX4250 is an absolute pressure (AP) sensor. See also: MPX4250.
<|current_version|>
package com.easternedgerobotics.rov.io;

import rx.Observable;

/**
 * A MPX4250 is an absolute pressure (AP) sensor. See also: MPX4250.
 */
public final class MPX4250AP {
    /**
     * Scalar value for calculating pressure from voltage.
     */
    private static final float PRESSURE_SCALAR = 0.264909785f;

    /**
     * Offset value for calculating pressure from voltage.
     */
    private static final float PRESSURE_OFFSET = 54.20054200f;

    /**
     * The ADC this device uses.
     */
    private final ADC channel;

    /**
     * Constructs a new MPX4250AP sensor on the given channel.
     * @param channel the ADC this device uses
     */
    public MPX4250AP(final ADC channel) {
        this.channel = channel;
    }

    /**
     * Returns the pressure.
     * @return the pressure
     */
    public final float read() {
        return channel.voltage() * PRESSURE_OFFSET - PRESSURE_SCALAR;
    }
}

<|next_version|>
package com.easternedgerobotics.rov.io;

import rx.Observable;

/**
 * A MPX4250 is an absolute pressure (AP) sensor. See also: MPX4250.
 */
public final class MPX4250AP {
    /**
     * Scalar value for calculating pressure from voltage.
     */
    private static final float PRESSURE_SCALAR = 0.264909785f;

    /**
     * Offset value for calculating pressure from voltage.
     */
    private static final float PRESSURE_OFFSET = 54.20054200f;

    @SuppressWarnings("checkstyle:MagicNumber")
    public static final Observable.Transformer<Double, Double> CALIBRATION = source -> source.map(
        x -> 0.83060f * x + 10.0445f);

    /**
     * The ADC this device uses.
     */
    private final ADC channel;

    /**
     * Constructs a new MPX4250AP sensor on the given channel.
     * @param channel the ADC this device uses
     */
    public MPX4250AP(final ADC channel) {
        this.channel = channel;
    }

    /**
     * Returns the pressure.
     * @return the pressure
     */
    public final float read() {
        return channel.voltage() * PRESSURE_OFFSET - PRESSURE_SCALAR;
    }
}


Make sure to tell Github API what version we are expecting

--- app/src/main/java/net/ericschrag/ud_demo/data/GithubService.java
+++ app/src/main/java/net/ericschrag/ud_demo/data/GithubService.java
@@ -5,8 +5,10 @@
 import java.util.List;

 import retrofit.http.GET;
+import retrofit.http.Headers;

 public interface GithubService {
+    @Headers("Accept: application/vnd.github.v3+json")
     @GET("/users")
     public List<GithubUser> getUsers();
 }

<|original_code|>
package net.ericschrag.ud_demo.data;

import net.ericschrag.ud_demo.data.model.GithubUser;

import java.util.List;

import retrofit.http.GET;

public interface GithubService {
    @GET("/users")
    public List<GithubUser> getUsers();
}

<|edits_diff|>
--- app/src/main/java/net/ericschrag/ud_demo/data/GithubService.java
+++ app/src/main/java/net/ericschrag/ud_demo/data/GithubService.java
@@ -5,6 +5,7 @@
 import java.util.List;

 import retrofit.http.GET;
+import retrofit.http.Headers;

 public interface GithubService {
     @GET("/users")
<|current_version|>
package net.ericschrag.ud_demo.data;

import net.ericschrag.ud_demo.data.model.GithubUser;

import java.util.List;

import retrofit.http.GET;
import retrofit.http.Headers;

public interface GithubService {
    @GET("/users")
    public List<GithubUser> getUsers();
}

<|next_version|>
package net.ericschrag.ud_demo.data;

import net.ericschrag.ud_demo.data.model.GithubUser;

import java.util.List;

import retrofit.http.GET;
import retrofit.http.Headers;

public interface GithubService {
    @Headers("Accept: application/vnd.github.v3+json")
    @GET("/users")
    public List<GithubUser> getUsers();
}


Mark String hash methods as boundary

Mark String hash methods as boundary

Signed-off-by: Stefan Marr <46f1a0bd5592a2f9244ca321b129902a06b53e03@stefan-marr.de>

--- src/som/primitives/HashPrim.java
+++ src/som/primitives/HashPrim.java
@@ -1,5 +1,6 @@
 package som.primitives;

+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.GenerateNodeFactory;
 import com.oracle.truffle.api.dsl.Specialization;
 import com.oracle.truffle.api.source.SourceSection;
@@ -15,11 +16,13 @@
   public HashPrim(final SourceSection source) { super(false, source); }

   @Specialization
+  @TruffleBoundary
   public final long doString(final String receiver) {
     return receiver.hashCode();
   }

   @Specialization
+  @TruffleBoundary
   public final long doSSymbol(final SSymbol receiver) {
     return receiver.getString().hashCode();
   }

<|original_code|>
package som.primitives;

import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.source.SourceSection;

import som.interpreter.nodes.nary.UnaryExpressionNode;
import som.vmobjects.SAbstractObject;
import som.vmobjects.SSymbol;

@GenerateNodeFactory
@Primitive({"objHashcode:", "stringHashcode:"})
public abstract class HashPrim extends UnaryExpressionNode {
  public HashPrim(final SourceSection source) { super(false, source); }

  @Specialization
  public final long doString(final String receiver) {
    return receiver.hashCode();
  }

  @Specialization
  public final long doSSymbol(final SSymbol receiver) {
    return receiver.getString().hashCode();
  }

  @Specialization
  public final long doSAbstractObject(final SAbstractObject receiver) {
    return receiver.hashCode();
  }
}

<|edits_diff|>
--- src/som/primitives/HashPrim.java
+++ src/som/primitives/HashPrim.java
@@ -1,5 +1,6 @@
 package som.primitives;

+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.GenerateNodeFactory;
 import com.oracle.truffle.api.dsl.Specialization;
 import com.oracle.truffle.api.source.SourceSection;
@@ -15,6 +16,7 @@
   public HashPrim(final SourceSection source) { super(false, source); }

   @Specialization
+  @TruffleBoundary
   public final long doString(final String receiver) {
     return receiver.hashCode();
   }
<|current_version|>
package som.primitives;

import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.source.SourceSection;

import som.interpreter.nodes.nary.UnaryExpressionNode;
import som.vmobjects.SAbstractObject;
import som.vmobjects.SSymbol;

@GenerateNodeFactory
@Primitive({"objHashcode:", "stringHashcode:"})
public abstract class HashPrim extends UnaryExpressionNode {
  public HashPrim(final SourceSection source) { super(false, source); }

  @Specialization
  @TruffleBoundary
  public final long doString(final String receiver) {
    return receiver.hashCode();
  }

  @Specialization
  public final long doSSymbol(final SSymbol receiver) {
    return receiver.getString().hashCode();
  }

  @Specialization
  public final long doSAbstractObject(final SAbstractObject receiver) {
    return receiver.hashCode();
  }
}

<|next_version|>
package som.primitives;

import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.source.SourceSection;

import som.interpreter.nodes.nary.UnaryExpressionNode;
import som.vmobjects.SAbstractObject;
import som.vmobjects.SSymbol;

@GenerateNodeFactory
@Primitive({"objHashcode:", "stringHashcode:"})
public abstract class HashPrim extends UnaryExpressionNode {
  public HashPrim(final SourceSection source) { super(false, source); }

  @Specialization
  @TruffleBoundary
  public final long doString(final String receiver) {
    return receiver.hashCode();
  }

  @Specialization
  @TruffleBoundary
  public final long doSSymbol(final SSymbol receiver) {
    return receiver.getString().hashCode();
  }

  @Specialization
  public final long doSAbstractObject(final SAbstractObject receiver) {
    return receiver.hashCode();
  }
}


Add edit text and button example in main activity

--- app/src/main/java/br/com/bloder/blorm/MainActivity.java
+++ app/src/main/java/br/com/bloder/blorm/MainActivity.java
@@ -2,12 +2,25 @@

 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.widget.Button;
+import android.widget.EditText;
+
+import br.com.bloder.blormlib.Blorm;
+import br.com.bloder.blormlib.validation.Validations;

 public class MainActivity extends AppCompatActivity {
+
+  private EditText editTextFilled;
+  private Button submit;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
+
+    editTextFilled = (EditText) findViewById(R.id.edit_text_filled);
+    submit = (Button) findViewById(R.id.submit);
+
+    new Blorm.Builder(this).field(editTextFilled).is(Validations.filled).onSubmit(submit);
   }
 }

<|original_code|>
package br.com.bloder.blorm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}

<|edits_diff|>
--- app/src/main/java/br/com/bloder/blorm/MainActivity.java
+++ app/src/main/java/br/com/bloder/blorm/MainActivity.java
@@ -2,8 +2,16 @@

 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.widget.Button;
+import android.widget.EditText;
+
+import br.com.bloder.blormlib.Blorm;
+import br.com.bloder.blormlib.validation.Validations;

 public class MainActivity extends AppCompatActivity {
+
+  private EditText editTextFilled;
+  private Button submit;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
<|current_version|>
package br.com.bloder.blorm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;

import br.com.bloder.blormlib.Blorm;
import br.com.bloder.blormlib.validation.Validations;

public class MainActivity extends AppCompatActivity {

  private EditText editTextFilled;
  private Button submit;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}

<|next_version|>
package br.com.bloder.blorm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;

import br.com.bloder.blormlib.Blorm;
import br.com.bloder.blormlib.validation.Validations;

public class MainActivity extends AppCompatActivity {

  private EditText editTextFilled;
  private Button submit;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    editTextFilled = (EditText) findViewById(R.id.edit_text_filled);
    submit = (Button) findViewById(R.id.submit);

    new Blorm.Builder(this).field(editTextFilled).is(Validations.filled).onSubmit(submit);
  }
}


Add a constructor of component

Add a constructor of component

--- src/main/java/com/github/tatsuyafw/camel/component/fluentd/FluentdComponent.java
+++ src/main/java/com/github/tatsuyafw/camel/component/fluentd/FluentdComponent.java
@@ -16,6 +16,7 @@
  */
 package com.github.tatsuyafw.camel.component.fluentd;

+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;

@@ -27,6 +28,10 @@
         super(FluentdEndpoint.class);
     }

+    public FluentdComponent(CamelContext context) {
+        super(context, FluentdEndpoint.class);
+    }
+
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         Endpoint endpoint = new FluentdEndpoint(uri, this);

<|original_code|>
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 com.github.tatsuyafw.camel.component.fluentd;

import org.apache.camel.Endpoint;
import org.apache.camel.impl.UriEndpointComponent;

import java.util.Map;

// [WIP]
public class FluentdComponent extends UriEndpointComponent {
    public FluentdComponent() {
        super(FluentdEndpoint.class);
    }

    @Override
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        Endpoint endpoint = new FluentdEndpoint(uri, this);
        return endpoint;
    }
}

<|edits_diff|>
--- src/main/java/com/github/tatsuyafw/camel/component/fluentd/FluentdComponent.java
+++ src/main/java/com/github/tatsuyafw/camel/component/fluentd/FluentdComponent.java
@@ -16,6 +16,7 @@
  */
 package com.github.tatsuyafw.camel.component.fluentd;

+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;

<|current_version|>
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 com.github.tatsuyafw.camel.component.fluentd;

import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.UriEndpointComponent;

import java.util.Map;

// [WIP]
public class FluentdComponent extends UriEndpointComponent {
    public FluentdComponent() {
        super(FluentdEndpoint.class);
    }

    @Override
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        Endpoint endpoint = new FluentdEndpoint(uri, this);
        return endpoint;
    }
}

<|next_version|>
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 com.github.tatsuyafw.camel.component.fluentd;

import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.UriEndpointComponent;

import java.util.Map;

// [WIP]
public class FluentdComponent extends UriEndpointComponent {
    public FluentdComponent() {
        super(FluentdEndpoint.class);
    }

    public FluentdComponent(CamelContext context) {
        super(context, FluentdEndpoint.class);
    }

    @Override
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
        Endpoint endpoint = new FluentdEndpoint(uri, this);
        return endpoint;
    }
}


Clear subtitles and display ip address when network settings are changed

--- android/src/main/java/com/spaceout/MainActivity.java
+++ android/src/main/java/com/spaceout/MainActivity.java
@@ -9,6 +9,8 @@
 import android.util.Log;

 import android.view.View;
+
+import android.widget.TextView;

 public class MainActivity extends Activity {
     private static final int REQUEST_CODE = 1;
@@ -47,6 +49,9 @@
                 Intent serviceIntent = new Intent(this, NeuralAlertnessService.class);
                 serviceIntent.putExtra("ipAddress", this.ipAddress);
                 startService(serviceIntent);
+
+                TextView subtitles = (TextView) findViewById(R.id.subtitles);
+                subtitles.setText("IP address: " + ipAddress + "\n\n---\n\n");
             }
         }
     }

<|original_code|>
package com.spaceout;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

public class MainActivity extends Activity {
    private static final int REQUEST_CODE = 1;

    private String ipAddress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void setNetwork(View view) {
        Intent networkIntent = new Intent(this, NetworkActivity.class);
        networkIntent.putExtra("ipAddress", this.ipAddress);
        startActivityForResult(networkIntent, REQUEST_CODE);
    }

    @Override
    public void onDestroy() {
        stopService(new Intent(this, NeuralAlertnessService.class));

        super.onDestroy();
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // Check which request we're responding to
        if (requestCode == REQUEST_CODE) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                this.ipAddress = data.getStringExtra("ipAddress");
                Log.d("SPACEOUT", "ip address of server set to " + this.ipAddress);

                // restart the service with the new ip address
                stopService(new Intent(this, NeuralAlertnessService.class));
                Intent serviceIntent = new Intent(this, NeuralAlertnessService.class);
                serviceIntent.putExtra("ipAddress", this.ipAddress);
                startService(serviceIntent);
            }
        }
    }

}

<|edits_diff|>
--- android/src/main/java/com/spaceout/MainActivity.java
+++ android/src/main/java/com/spaceout/MainActivity.java
@@ -9,6 +9,8 @@
 import android.util.Log;

 import android.view.View;
+
+import android.widget.TextView;

 public class MainActivity extends Activity {
     private static final int REQUEST_CODE = 1;
<|current_version|>
package com.spaceout;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.TextView;

public class MainActivity extends Activity {
    private static final int REQUEST_CODE = 1;

    private String ipAddress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void setNetwork(View view) {
        Intent networkIntent = new Intent(this, NetworkActivity.class);
        networkIntent.putExtra("ipAddress", this.ipAddress);
        startActivityForResult(networkIntent, REQUEST_CODE);
    }

    @Override
    public void onDestroy() {
        stopService(new Intent(this, NeuralAlertnessService.class));

        super.onDestroy();
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // Check which request we're responding to
        if (requestCode == REQUEST_CODE) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                this.ipAddress = data.getStringExtra("ipAddress");
                Log.d("SPACEOUT", "ip address of server set to " + this.ipAddress);

                // restart the service with the new ip address
                stopService(new Intent(this, NeuralAlertnessService.class));
                Intent serviceIntent = new Intent(this, NeuralAlertnessService.class);
                serviceIntent.putExtra("ipAddress", this.ipAddress);
                startService(serviceIntent);
            }
        }
    }

}

<|next_version|>
package com.spaceout;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.TextView;

public class MainActivity extends Activity {
    private static final int REQUEST_CODE = 1;

    private String ipAddress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void setNetwork(View view) {
        Intent networkIntent = new Intent(this, NetworkActivity.class);
        networkIntent.putExtra("ipAddress", this.ipAddress);
        startActivityForResult(networkIntent, REQUEST_CODE);
    }

    @Override
    public void onDestroy() {
        stopService(new Intent(this, NeuralAlertnessService.class));

        super.onDestroy();
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // Check which request we're responding to
        if (requestCode == REQUEST_CODE) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                this.ipAddress = data.getStringExtra("ipAddress");
                Log.d("SPACEOUT", "ip address of server set to " + this.ipAddress);

                // restart the service with the new ip address
                stopService(new Intent(this, NeuralAlertnessService.class));
                Intent serviceIntent = new Intent(this, NeuralAlertnessService.class);
                serviceIntent.putExtra("ipAddress", this.ipAddress);
                startService(serviceIntent);

                TextView subtitles = (TextView) findViewById(R.id.subtitles);
                subtitles.setText("IP address: " + ipAddress + "\n\n---\n\n");
            }
        }
    }

}


Clear the screen before drawing

Clear the screen before drawing

--- src/bobby/SceneManager.java
+++ src/bobby/SceneManager.java
@@ -1,5 +1,6 @@
 package bobby;

+import java.awt.Color;
 import java.awt.Graphics;
 import java.util.ArrayList;
 import javax.swing.JApplet;
@@ -20,8 +21,15 @@

 	public void draw(Graphics g) {
 		// TODO: implement double buffering
+
+		// clear the screen
+		g.setColor(Color.WHITE);
+		g.fillRect(0, 0, parent.getWidth(), parent.getHeight());
+
 		for (SceneObject sobject : list)
 			sobject.draw(g);
+
+		// TODO: sleep
 	}

 	@Override

<|original_code|>
package bobby;

import java.awt.Graphics;
import java.util.ArrayList;
import javax.swing.JApplet;

/**
 *
 * @author Kiarash Korki <kiarash96@users.sf.net>
 */
public class SceneManager extends Thread {

	private final JApplet parent;
	private ArrayList<SceneObject> list;

	public SceneManager(JApplet parent) {
		list = new ArrayList<>();
		this.parent = parent;
	}

	public void draw(Graphics g) {
		// TODO: implement double buffering
		for (SceneObject sobject : list)
			sobject.draw(g);
	}

	@Override
	public void run() {
		while (true)
			parent.repaint();
	}

	public void add(SceneObject so) {
		list.add(so);
	}

	public void remove(SceneObject so) {
		list.remove(so);
	}

}

<|edits_diff|>
--- src/bobby/SceneManager.java
+++ src/bobby/SceneManager.java
@@ -1,5 +1,6 @@
 package bobby;

+import java.awt.Color;
 import java.awt.Graphics;
 import java.util.ArrayList;
 import javax.swing.JApplet;
@@ -20,6 +21,11 @@

 	public void draw(Graphics g) {
 		// TODO: implement double buffering
+
+		// clear the screen
+		g.setColor(Color.WHITE);
+		g.fillRect(0, 0, parent.getWidth(), parent.getHeight());
+
 		for (SceneObject sobject : list)
 			sobject.draw(g);
 	}
<|current_version|>
package bobby;

import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import javax.swing.JApplet;

/**
 *
 * @author Kiarash Korki <kiarash96@users.sf.net>
 */
public class SceneManager extends Thread {

	private final JApplet parent;
	private ArrayList<SceneObject> list;

	public SceneManager(JApplet parent) {
		list = new ArrayList<>();
		this.parent = parent;
	}

	public void draw(Graphics g) {
		// TODO: implement double buffering

		// clear the screen
		g.setColor(Color.WHITE);
		g.fillRect(0, 0, parent.getWidth(), parent.getHeight());

		for (SceneObject sobject : list)
			sobject.draw(g);
	}

	@Override
	public void run() {
		while (true)
			parent.repaint();
	}

	public void add(SceneObject so) {
		list.add(so);
	}

	public void remove(SceneObject so) {
		list.remove(so);
	}

}

<|next_version|>
package bobby;

import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import javax.swing.JApplet;

/**
 *
 * @author Kiarash Korki <kiarash96@users.sf.net>
 */
public class SceneManager extends Thread {

	private final JApplet parent;
	private ArrayList<SceneObject> list;

	public SceneManager(JApplet parent) {
		list = new ArrayList<>();
		this.parent = parent;
	}

	public void draw(Graphics g) {
		// TODO: implement double buffering

		// clear the screen
		g.setColor(Color.WHITE);
		g.fillRect(0, 0, parent.getWidth(), parent.getHeight());

		for (SceneObject sobject : list)
			sobject.draw(g);

		// TODO: sleep
	}

	@Override
	public void run() {
		while (true)
			parent.repaint();
	}

	public void add(SceneObject so) {
		list.add(so);
	}

	public void remove(SceneObject so) {
		list.remove(so);
	}

}


Fix menril sapling having incorrect render layer

--- src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSaplingConfig.java
+++ src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSaplingConfig.java
@@ -4,6 +4,10 @@
 import net.minecraft.block.SaplingBlock;
 import net.minecraft.block.SoundType;
 import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.RenderTypeLookup;
+import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
+import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
 import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
 import org.cyclops.integrateddynamics.IntegratedDynamics;
 import org.cyclops.integrateddynamics.world.gen.TreeMenril;
@@ -26,6 +30,11 @@
                         .sound(SoundType.PLANT)),
                 getDefaultItemConstructor(IntegratedDynamics._instance)
         );
+        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup);
+    }
+
+    public void onClientSetup(FMLClientSetupEvent event) {
+        RenderTypeLookup.setRenderLayer(getInstance(), RenderType.getCutout());
     }

 }

<|original_code|>
package org.cyclops.integrateddynamics.block;

import net.minecraft.block.Block;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
import org.cyclops.integrateddynamics.IntegratedDynamics;
import org.cyclops.integrateddynamics.world.gen.TreeMenril;

/**
 * Config for the Menril Sapling.
 * @author rubensworks
 *
 */
public class BlockMenrilSaplingConfig extends BlockConfig {

    public BlockMenrilSaplingConfig() {
        super(
                IntegratedDynamics._instance,
                "menril_sapling",
                eConfig -> new SaplingBlock(new TreeMenril(), Block.Properties.create(Material.PLANTS)
                        .doesNotBlockMovement()
                        .tickRandomly()
                        .hardnessAndResistance(0)
                        .sound(SoundType.PLANT)),
                getDefaultItemConstructor(IntegratedDynamics._instance)
        );
    }

}

<|edits_diff|>
--- src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSaplingConfig.java
+++ src/main/java/org/cyclops/integrateddynamics/block/BlockMenrilSaplingConfig.java
@@ -4,6 +4,10 @@
 import net.minecraft.block.SaplingBlock;
 import net.minecraft.block.SoundType;
 import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.RenderTypeLookup;
+import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
+import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
 import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
 import org.cyclops.integrateddynamics.IntegratedDynamics;
 import org.cyclops.integrateddynamics.world.gen.TreeMenril;
<|current_version|>
package org.cyclops.integrateddynamics.block;

import net.minecraft.block.Block;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
import org.cyclops.integrateddynamics.IntegratedDynamics;
import org.cyclops.integrateddynamics.world.gen.TreeMenril;

/**
 * Config for the Menril Sapling.
 * @author rubensworks
 *
 */
public class BlockMenrilSaplingConfig extends BlockConfig {

    public BlockMenrilSaplingConfig() {
        super(
                IntegratedDynamics._instance,
                "menril_sapling",
                eConfig -> new SaplingBlock(new TreeMenril(), Block.Properties.create(Material.PLANTS)
                        .doesNotBlockMovement()
                        .tickRandomly()
                        .hardnessAndResistance(0)
                        .sound(SoundType.PLANT)),
                getDefaultItemConstructor(IntegratedDynamics._instance)
        );
    }

}

<|next_version|>
package org.cyclops.integrateddynamics.block;

import net.minecraft.block.Block;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
import org.cyclops.integrateddynamics.IntegratedDynamics;
import org.cyclops.integrateddynamics.world.gen.TreeMenril;

/**
 * Config for the Menril Sapling.
 * @author rubensworks
 *
 */
public class BlockMenrilSaplingConfig extends BlockConfig {

    public BlockMenrilSaplingConfig() {
        super(
                IntegratedDynamics._instance,
                "menril_sapling",
                eConfig -> new SaplingBlock(new TreeMenril(), Block.Properties.create(Material.PLANTS)
                        .doesNotBlockMovement()
                        .tickRandomly()
                        .hardnessAndResistance(0)
                        .sound(SoundType.PLANT)),
                getDefaultItemConstructor(IntegratedDynamics._instance)
        );
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup);
    }

    public void onClientSetup(FMLClientSetupEvent event) {
        RenderTypeLookup.setRenderLayer(getInstance(), RenderType.getCutout());
    }

}


Call the construct manager and the integration manager

--- src/test/java/info/u_team/u_team_test2/TestMod2.java
+++ src/test/java/info/u_team/u_team_test2/TestMod2.java
@@ -2,6 +2,8 @@

 import org.apache.logging.log4j.*;

+import info.u_team.u_team_core.construct.ConstructManager;
+import info.u_team.u_team_core.integration.IntegrationManager;
 import info.u_team.u_team_core.util.verify.JarSignVerifier;
 import net.minecraftforge.fml.common.Mod;

@@ -15,5 +17,8 @@
 		JarSignVerifier.checkSigned(MODID);

 		LOGGER.info("-------------------------------------- LOADING TEST MOD 2 -------------------------------------");
+
+		ConstructManager.constructConstructs(MODID);
+		IntegrationManager.constructIntegrations(MODID);
 	}
 }

<|original_code|>
package info.u_team.u_team_test2;

import org.apache.logging.log4j.*;

import info.u_team.u_team_core.util.verify.JarSignVerifier;
import net.minecraftforge.fml.common.Mod;

@Mod(TestMod2.MODID)
public class TestMod2 {

	public static final String MODID = "uteamtest2";
	public static final Logger LOGGER = LogManager.getLogger("UTeamTest2");

	public TestMod2() {
		JarSignVerifier.checkSigned(MODID);

		LOGGER.info("-------------------------------------- LOADING TEST MOD 2 -------------------------------------");
	}
}

<|edits_diff|>
--- src/test/java/info/u_team/u_team_test2/TestMod2.java
+++ src/test/java/info/u_team/u_team_test2/TestMod2.java
@@ -2,6 +2,8 @@

 import org.apache.logging.log4j.*;

+import info.u_team.u_team_core.construct.ConstructManager;
+import info.u_team.u_team_core.integration.IntegrationManager;
 import info.u_team.u_team_core.util.verify.JarSignVerifier;
 import net.minecraftforge.fml.common.Mod;

<|current_version|>
package info.u_team.u_team_test2;

import org.apache.logging.log4j.*;

import info.u_team.u_team_core.construct.ConstructManager;
import info.u_team.u_team_core.integration.IntegrationManager;
import info.u_team.u_team_core.util.verify.JarSignVerifier;
import net.minecraftforge.fml.common.Mod;

@Mod(TestMod2.MODID)
public class TestMod2 {

	public static final String MODID = "uteamtest2";
	public static final Logger LOGGER = LogManager.getLogger("UTeamTest2");

	public TestMod2() {
		JarSignVerifier.checkSigned(MODID);

		LOGGER.info("-------------------------------------- LOADING TEST MOD 2 -------------------------------------");
	}
}

<|next_version|>
package info.u_team.u_team_test2;

import org.apache.logging.log4j.*;

import info.u_team.u_team_core.construct.ConstructManager;
import info.u_team.u_team_core.integration.IntegrationManager;
import info.u_team.u_team_core.util.verify.JarSignVerifier;
import net.minecraftforge.fml.common.Mod;

@Mod(TestMod2.MODID)
public class TestMod2 {

	public static final String MODID = "uteamtest2";
	public static final Logger LOGGER = LogManager.getLogger("UTeamTest2");

	public TestMod2() {
		JarSignVerifier.checkSigned(MODID);

		LOGGER.info("-------------------------------------- LOADING TEST MOD 2 -------------------------------------");

		ConstructManager.constructConstructs(MODID);
		IntegrationManager.constructIntegrations(MODID);
	}
}


Add enrollment_code to U2F client

Add enrollment_code to U2F client

--- Client/src/main/java/org/xdi/oxauth/client/fido/u2f/RegistrationRequestService.java
+++ Client/src/main/java/org/xdi/oxauth/client/fido/u2f/RegistrationRequestService.java
@@ -10,6 +10,7 @@
 import org.xdi.oxauth.model.fido.u2f.protocol.RegisterStatus;

 import javax.ws.rs.*;
+import javax.ws.rs.core.Response;

 /**
  * Еhe endpoint allows to start and finish U2F registration process
@@ -23,6 +24,10 @@
     @Produces({"application/json"})
     public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId);

+    @GET
+    @Produces({"application/json"})
+    public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId, @QueryParam("enrollment_code") String enrollmentCode);
+
     @POST
     @Produces({"application/json"})
     public RegisterStatus finishRegistration(@FormParam("username") String userName, @FormParam("tokenResponse") String registerResponseString);

<|original_code|>
/*
 * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
 *
 * Copyright (c) 2014, Gluu
 */

package org.xdi.oxauth.client.fido.u2f;

import org.xdi.oxauth.model.fido.u2f.protocol.RegisterRequestMessage;
import org.xdi.oxauth.model.fido.u2f.protocol.RegisterStatus;

import javax.ws.rs.*;

/**
 * Еhe endpoint allows to start and finish U2F registration process
 *
 * @author Yuriy Movchan
 * @version August 9, 2017
 */
public interface RegistrationRequestService {

    @GET
    @Produces({"application/json"})
    public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId);

    @POST
    @Produces({"application/json"})
    public RegisterStatus finishRegistration(@FormParam("username") String userName, @FormParam("tokenResponse") String registerResponseString);

}
<|edits_diff|>
--- Client/src/main/java/org/xdi/oxauth/client/fido/u2f/RegistrationRequestService.java
+++ Client/src/main/java/org/xdi/oxauth/client/fido/u2f/RegistrationRequestService.java
@@ -10,6 +10,7 @@
 import org.xdi.oxauth.model.fido.u2f.protocol.RegisterStatus;

 import javax.ws.rs.*;
+import javax.ws.rs.core.Response;

 /**
  * Еhe endpoint allows to start and finish U2F registration process
<|current_version|>
/*
 * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
 *
 * Copyright (c) 2014, Gluu
 */

package org.xdi.oxauth.client.fido.u2f;

import org.xdi.oxauth.model.fido.u2f.protocol.RegisterRequestMessage;
import org.xdi.oxauth.model.fido.u2f.protocol.RegisterStatus;

import javax.ws.rs.*;
import javax.ws.rs.core.Response;

/**
 * Еhe endpoint allows to start and finish U2F registration process
 *
 * @author Yuriy Movchan
 * @version August 9, 2017
 */
public interface RegistrationRequestService {

    @GET
    @Produces({"application/json"})
    public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId);

    @POST
    @Produces({"application/json"})
    public RegisterStatus finishRegistration(@FormParam("username") String userName, @FormParam("tokenResponse") String registerResponseString);

}
<|next_version|>
/*
 * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
 *
 * Copyright (c) 2014, Gluu
 */

package org.xdi.oxauth.client.fido.u2f;

import org.xdi.oxauth.model.fido.u2f.protocol.RegisterRequestMessage;
import org.xdi.oxauth.model.fido.u2f.protocol.RegisterStatus;

import javax.ws.rs.*;
import javax.ws.rs.core.Response;

/**
 * Еhe endpoint allows to start and finish U2F registration process
 *
 * @author Yuriy Movchan
 * @version August 9, 2017
 */
public interface RegistrationRequestService {

    @GET
    @Produces({"application/json"})
    public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId);

    @GET
    @Produces({"application/json"})
    public RegisterRequestMessage startRegistration(@QueryParam("username") String userName, @QueryParam("application") String appId, @QueryParam("session_id") String sessionId, @QueryParam("enrollment_code") String enrollmentCode);

    @POST
    @Produces({"application/json"})
    public RegisterStatus finishRegistration(@FormParam("username") String userName, @FormParam("tokenResponse") String registerResponseString);

}


Fix HBM2DLL with hibernate 5.2+

Fix HBM2DLL with hibernate 5.2+

see https://stackoverflow.com/questions/44924930

--- bootstrap-business/src/main/java/org/ligoj/bootstrap/core/dao/MySQL5InnoDBUtf8Dialect.java
+++ bootstrap-business/src/main/java/org/ligoj/bootstrap/core/dao/MySQL5InnoDBUtf8Dialect.java
@@ -1,6 +1,7 @@
 package org.ligoj.bootstrap.core.dao;

 import org.hibernate.dialect.MySQL55Dialect;
+import org.hibernate.engine.jdbc.env.spi.NameQualifierSupport;

 /**
  * MySQL dialect with enforced UTF-8 encoding.
@@ -12,4 +13,9 @@
 		return super.getTableTypeString() + " DEFAULT CHARSET=utf8";
 	}

+	@Override
+	public NameQualifierSupport getNameQualifierSupport() {
+		return NameQualifierSupport.NONE;
+	}
+
 }

<|original_code|>
package org.ligoj.bootstrap.core.dao;

import org.hibernate.dialect.MySQL55Dialect;

/**
 * MySQL dialect with enforced UTF-8 encoding.
 */
public class MySQL5InnoDBUtf8Dialect extends MySQL55Dialect {

	@Override
	public String getTableTypeString() {
		return super.getTableTypeString() + " DEFAULT CHARSET=utf8";
	}

}

<|edits_diff|>
--- bootstrap-business/src/main/java/org/ligoj/bootstrap/core/dao/MySQL5InnoDBUtf8Dialect.java
+++ bootstrap-business/src/main/java/org/ligoj/bootstrap/core/dao/MySQL5InnoDBUtf8Dialect.java
@@ -1,6 +1,7 @@
 package org.ligoj.bootstrap.core.dao;

 import org.hibernate.dialect.MySQL55Dialect;
+import org.hibernate.engine.jdbc.env.spi.NameQualifierSupport;

 /**
  * MySQL dialect with enforced UTF-8 encoding.
<|current_version|>
package org.ligoj.bootstrap.core.dao;

import org.hibernate.dialect.MySQL55Dialect;
import org.hibernate.engine.jdbc.env.spi.NameQualifierSupport;

/**
 * MySQL dialect with enforced UTF-8 encoding.
 */
public class MySQL5InnoDBUtf8Dialect extends MySQL55Dialect {

	@Override
	public String getTableTypeString() {
		return super.getTableTypeString() + " DEFAULT CHARSET=utf8";
	}

}

<|next_version|>
package org.ligoj.bootstrap.core.dao;

import org.hibernate.dialect.MySQL55Dialect;
import org.hibernate.engine.jdbc.env.spi.NameQualifierSupport;

/**
 * MySQL dialect with enforced UTF-8 encoding.
 */
public class MySQL5InnoDBUtf8Dialect extends MySQL55Dialect {

	@Override
	public String getTableTypeString() {
		return super.getTableTypeString() + " DEFAULT CHARSET=utf8";
	}

	@Override
	public NameQualifierSupport getNameQualifierSupport() {
		return NameQualifierSupport.NONE;
	}

}


Add override annotations to subclassed methods

--- app/src/main/java/com/veyndan/hermes/database/DbHelper.java
+++ app/src/main/java/com/veyndan/hermes/database/DbHelper.java
@@ -24,15 +24,18 @@
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
     }

+    @Override
     public void onCreate(SQLiteDatabase db) {
         db.execSQL(CREATE_TABLE);
     }

+    @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         db.execSQL("DROP TABLE IF EXISTS " + Comic.TABLE);
         onCreate(db);
     }

+    @Override
     public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         onUpgrade(db, oldVersion, newVersion);
     }

<|original_code|>
package com.veyndan.hermes.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.veyndan.hermes.home.model.Comic;

public final class DbHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DATABASE_NAME = "Hermes.db";

    String CREATE_TABLE = ""
            + "CREATE TABLE " + Comic.TABLE
            + "("
            + Comic.NUM + " INTEGER PRIMARY KEY,"
            + Comic.ALT + " TEXT,"
            + Comic.IMG + " TEXT,"
            + Comic.TITLE + " TEXT"
            + ")";

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + Comic.TABLE);
        onCreate(db);
    }

    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        onUpgrade(db, oldVersion, newVersion);
    }
}
<|edits_diff|>
--- app/src/main/java/com/veyndan/hermes/database/DbHelper.java
+++ app/src/main/java/com/veyndan/hermes/database/DbHelper.java
@@ -24,10 +24,12 @@
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
     }

+    @Override
     public void onCreate(SQLiteDatabase db) {
         db.execSQL(CREATE_TABLE);
     }

+    @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         db.execSQL("DROP TABLE IF EXISTS " + Comic.TABLE);
         onCreate(db);
<|current_version|>
package com.veyndan.hermes.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.veyndan.hermes.home.model.Comic;

public final class DbHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DATABASE_NAME = "Hermes.db";

    String CREATE_TABLE = ""
            + "CREATE TABLE " + Comic.TABLE
            + "("
            + Comic.NUM + " INTEGER PRIMARY KEY,"
            + Comic.ALT + " TEXT,"
            + Comic.IMG + " TEXT,"
            + Comic.TITLE + " TEXT"
            + ")";

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + Comic.TABLE);
        onCreate(db);
    }

    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        onUpgrade(db, oldVersion, newVersion);
    }
}
<|next_version|>
package com.veyndan.hermes.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.veyndan.hermes.home.model.Comic;

public final class DbHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DATABASE_NAME = "Hermes.db";

    String CREATE_TABLE = ""
            + "CREATE TABLE " + Comic.TABLE
            + "("
            + Comic.NUM + " INTEGER PRIMARY KEY,"
            + Comic.ALT + " TEXT,"
            + Comic.IMG + " TEXT,"
            + Comic.TITLE + " TEXT"
            + ")";

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + Comic.TABLE);
        onCreate(db);
    }

    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        onUpgrade(db, oldVersion, newVersion);
    }
}


Add missing usage and permissions assignments.

--- serversaturday-spigot/src/main/java/com/campmongoose/serversaturday/spigot/command/sscommand/submit/SSGetRewards.java
+++ serversaturday-spigot/src/main/java/com/campmongoose/serversaturday/spigot/command/sscommand/submit/SSGetRewards.java
@@ -2,7 +2,12 @@

 import com.campmongoose.serversaturday.common.Reference.Commands;
 import com.campmongoose.serversaturday.common.Reference.Messages;
+import com.campmongoose.serversaturday.common.Reference.Permissions;
 import com.campmongoose.serversaturday.spigot.command.AbstractSpigotCommand;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandArgument;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandPermissions;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandUsage;
+import java.util.Collections;
 import org.bukkit.ChatColor;
 import org.bukkit.entity.Player;

@@ -10,6 +15,8 @@

     public SSGetRewards() {
         super(Commands.GET_REWARDS_NAME, Commands.GET_REWARDS_DESC);
+        usage = new SpigotCommandUsage(Collections.singletonList(new SpigotCommandArgument(Commands.SS_CMD + Commands.GOTO_NAME)));
+        permissions = new SpigotCommandPermissions(Permissions.VIEW_GOTO, false);
         executor = (sender, args) -> {
             getPluginInstance().getRewardGiver().givePlayerReward((Player) sender);
             sender.sendMessage(ChatColor.GOLD + Messages.REWARDS_GIVEN);

<|original_code|>
package com.campmongoose.serversaturday.spigot.command.sscommand.submit;

import com.campmongoose.serversaturday.common.Reference.Commands;
import com.campmongoose.serversaturday.common.Reference.Messages;
import com.campmongoose.serversaturday.spigot.command.AbstractSpigotCommand;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class SSGetRewards extends AbstractSpigotCommand {

    public SSGetRewards() {
        super(Commands.GET_REWARDS_NAME, Commands.GET_REWARDS_DESC);
        executor = (sender, args) -> {
            getPluginInstance().getRewardGiver().givePlayerReward((Player) sender);
            sender.sendMessage(ChatColor.GOLD + Messages.REWARDS_GIVEN);
            return true;
        };
    }
}

<|edits_diff|>
--- serversaturday-spigot/src/main/java/com/campmongoose/serversaturday/spigot/command/sscommand/submit/SSGetRewards.java
+++ serversaturday-spigot/src/main/java/com/campmongoose/serversaturday/spigot/command/sscommand/submit/SSGetRewards.java
@@ -2,7 +2,12 @@

 import com.campmongoose.serversaturday.common.Reference.Commands;
 import com.campmongoose.serversaturday.common.Reference.Messages;
+import com.campmongoose.serversaturday.common.Reference.Permissions;
 import com.campmongoose.serversaturday.spigot.command.AbstractSpigotCommand;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandArgument;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandPermissions;
+import com.campmongoose.serversaturday.spigot.command.SpigotCommandUsage;
+import java.util.Collections;
 import org.bukkit.ChatColor;
 import org.bukkit.entity.Player;

<|current_version|>
package com.campmongoose.serversaturday.spigot.command.sscommand.submit;

import com.campmongoose.serversaturday.common.Reference.Commands;
import com.campmongoose.serversaturday.common.Reference.Messages;
import com.campmongoose.serversaturday.common.Reference.Permissions;
import com.campmongoose.serversaturday.spigot.command.AbstractSpigotCommand;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandArgument;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandPermissions;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandUsage;
import java.util.Collections;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class SSGetRewards extends AbstractSpigotCommand {

    public SSGetRewards() {
        super(Commands.GET_REWARDS_NAME, Commands.GET_REWARDS_DESC);
        executor = (sender, args) -> {
            getPluginInstance().getRewardGiver().givePlayerReward((Player) sender);
            sender.sendMessage(ChatColor.GOLD + Messages.REWARDS_GIVEN);
            return true;
        };
    }
}

<|next_version|>
package com.campmongoose.serversaturday.spigot.command.sscommand.submit;

import com.campmongoose.serversaturday.common.Reference.Commands;
import com.campmongoose.serversaturday.common.Reference.Messages;
import com.campmongoose.serversaturday.common.Reference.Permissions;
import com.campmongoose.serversaturday.spigot.command.AbstractSpigotCommand;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandArgument;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandPermissions;
import com.campmongoose.serversaturday.spigot.command.SpigotCommandUsage;
import java.util.Collections;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class SSGetRewards extends AbstractSpigotCommand {

    public SSGetRewards() {
        super(Commands.GET_REWARDS_NAME, Commands.GET_REWARDS_DESC);
        usage = new SpigotCommandUsage(Collections.singletonList(new SpigotCommandArgument(Commands.SS_CMD + Commands.GOTO_NAME)));
        permissions = new SpigotCommandPermissions(Permissions.VIEW_GOTO, false);
        executor = (sender, args) -> {
            getPluginInstance().getRewardGiver().givePlayerReward((Player) sender);
            sender.sendMessage(ChatColor.GOLD + Messages.REWARDS_GIVEN);
            return true;
        };
    }
}


Use native menubar when using OS X

Use native menubar when using OS X

--- src/main/java/nl/tudelft/dnainator/DNAinator.java
+++ src/main/java/nl/tudelft/dnainator/DNAinator.java
@@ -17,11 +17,15 @@

 	/**
 	 * DNAinator entry point.
+	 *
 	 * @param args Command-line arguments, unused for now.
 	 */
 	public static void main(String[] args) {
 		try {
 			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+			if (System.getProperty("os.name").equals("Mac OS X")) {
+				System.setProperty("apple.laf.useScreenMenuBar", "true");
+			}
 		} catch (Exception e) {
 			e.printStackTrace();
 		}

<|original_code|>
package nl.tudelft.dnainator;

import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import nl.tudelft.dnainator.ui.Window;

/**
 * DNAinator's entry point. This class merely sets the UI's look and feel
 * and then creates a window.
 */
public final class DNAinator {

	private DNAinator() {
		super();
	}

	/**
	 * DNAinator entry point.
	 * @param args Command-line arguments, unused for now.
	 */
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}

		/* Be thread-safe. */
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new Window();
			}
		});
	}
}

<|edits_diff|>
--- src/main/java/nl/tudelft/dnainator/DNAinator.java
+++ src/main/java/nl/tudelft/dnainator/DNAinator.java
@@ -17,6 +17,7 @@

 	/**
 	 * DNAinator entry point.
+	 *
 	 * @param args Command-line arguments, unused for now.
 	 */
 	public static void main(String[] args) {
<|current_version|>
package nl.tudelft.dnainator;

import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import nl.tudelft.dnainator.ui.Window;

/**
 * DNAinator's entry point. This class merely sets the UI's look and feel
 * and then creates a window.
 */
public final class DNAinator {

	private DNAinator() {
		super();
	}

	/**
	 * DNAinator entry point.
	 *
	 * @param args Command-line arguments, unused for now.
	 */
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}

		/* Be thread-safe. */
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new Window();
			}
		});
	}
}

<|next_version|>
package nl.tudelft.dnainator;

import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import nl.tudelft.dnainator.ui.Window;

/**
 * DNAinator's entry point. This class merely sets the UI's look and feel
 * and then creates a window.
 */
public final class DNAinator {

	private DNAinator() {
		super();
	}

	/**
	 * DNAinator entry point.
	 *
	 * @param args Command-line arguments, unused for now.
	 */
	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			if (System.getProperty("os.name").equals("Mac OS X")) {
				System.setProperty("apple.laf.useScreenMenuBar", "true");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		/* Be thread-safe. */
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new Window();
			}
		});
	}
}


Use logger is method isSorted

Use logger is method isSorted

--- src/main/java/com/alexrnl/commons/utils/CollectionUtils.java
+++ src/main/java/com/alexrnl/commons/utils/CollectionUtils.java
@@ -2,6 +2,7 @@

 import java.util.Iterator;
 import java.util.Objects;
+import java.util.logging.Level;
 import java.util.logging.Logger;

 /**
@@ -33,6 +34,9 @@
 		while (it.hasNext()) {
 			final T current = it.next();
 			if (it.hasNext() && current.compareTo(it.next()) > 0) {
+				if (lg.isLoggable(Level.INFO)) {
+					lg.info("Collection is unordered at element " + current);
+				}
 				return false;
 			}
 		}

<|original_code|>
package com.alexrnl.commons.utils;

import java.util.Iterator;
import java.util.Objects;
import java.util.logging.Logger;

/**
 * Utilities on collections.

 * @author Alex
 */
public final class CollectionUtils {
	/** Logger */
	private static Logger	lg	= Logger.getLogger(CollectionUtils.class.getName());

	/**
	 * Constructor #1.

	 * Default private constructor.
	 */
	private CollectionUtils () {
		super();
	}

	/**
	 * Check if a collection is sorted.

	 * @param collection
	 *        the collection to check.
	 * @return true if the collection is sorted.
	 */
	public static <T extends Comparable<? super T>> boolean isSorted (final Iterable<T> collection) {
		Objects.requireNonNull(collection);
		final Iterator<T> it = collection.iterator();

		while (it.hasNext()) {
			final T current = it.next();
			if (it.hasNext() && current.compareTo(it.next()) > 0) {
				return false;
			}
		}

		return true;
	}
}

<|edits_diff|>
--- src/main/java/com/alexrnl/commons/utils/CollectionUtils.java
+++ src/main/java/com/alexrnl/commons/utils/CollectionUtils.java
@@ -2,6 +2,7 @@

 import java.util.Iterator;
 import java.util.Objects;
+import java.util.logging.Level;
 import java.util.logging.Logger;

 /**
<|current_version|>
package com.alexrnl.commons.utils;

import java.util.Iterator;
import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Utilities on collections.

 * @author Alex
 */
public final class CollectionUtils {
	/** Logger */
	private static Logger	lg	= Logger.getLogger(CollectionUtils.class.getName());

	/**
	 * Constructor #1.

	 * Default private constructor.
	 */
	private CollectionUtils () {
		super();
	}

	/**
	 * Check if a collection is sorted.

	 * @param collection
	 *        the collection to check.
	 * @return true if the collection is sorted.
	 */
	public static <T extends Comparable<? super T>> boolean isSorted (final Iterable<T> collection) {
		Objects.requireNonNull(collection);
		final Iterator<T> it = collection.iterator();

		while (it.hasNext()) {
			final T current = it.next();
			if (it.hasNext() && current.compareTo(it.next()) > 0) {
				return false;
			}
		}

		return true;
	}
}

<|next_version|>
package com.alexrnl.commons.utils;

import java.util.Iterator;
import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Utilities on collections.

 * @author Alex
 */
public final class CollectionUtils {
	/** Logger */
	private static Logger	lg	= Logger.getLogger(CollectionUtils.class.getName());

	/**
	 * Constructor #1.

	 * Default private constructor.
	 */
	private CollectionUtils () {
		super();
	}

	/**
	 * Check if a collection is sorted.

	 * @param collection
	 *        the collection to check.
	 * @return true if the collection is sorted.
	 */
	public static <T extends Comparable<? super T>> boolean isSorted (final Iterable<T> collection) {
		Objects.requireNonNull(collection);
		final Iterator<T> it = collection.iterator();

		while (it.hasNext()) {
			final T current = it.next();
			if (it.hasNext() && current.compareTo(it.next()) > 0) {
				if (lg.isLoggable(Level.INFO)) {
					lg.info("Collection is unordered at element " + current);
				}
				return false;
			}
		}

		return true;
	}
}


Fix linkAssembler being sent in responses

--- core-service/src/main/java/com/sandjelkovic/dispatchd/gateway/api/resource/PageableListResource.java
+++ core-service/src/main/java/com/sandjelkovic/dispatchd/gateway/api/resource/PageableListResource.java
@@ -1,5 +1,6 @@
 package com.sandjelkovic.dispatchd.gateway.api.resource;

+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.sandjelkovic.dispatchd.gateway.api.link.PageLinksAssembler;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
@@ -10,5 +11,6 @@
 @RequiredArgsConstructor
 @EqualsAndHashCode(callSuper = true)
 public class PageableListResource extends ResourceSupport {
+	@JsonIgnore
 	private final PageLinksAssembler linksAssembler;
 }

<|original_code|>
package com.sandjelkovic.dispatchd.gateway.api.resource;

import com.sandjelkovic.dispatchd.gateway.api.link.PageLinksAssembler;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.hateoas.ResourceSupport;

@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PageableListResource extends ResourceSupport {
	private final PageLinksAssembler linksAssembler;
}

<|edits_diff|>
--- core-service/src/main/java/com/sandjelkovic/dispatchd/gateway/api/resource/PageableListResource.java
+++ core-service/src/main/java/com/sandjelkovic/dispatchd/gateway/api/resource/PageableListResource.java
@@ -1,5 +1,6 @@
 package com.sandjelkovic.dispatchd.gateway.api.resource;

+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.sandjelkovic.dispatchd.gateway.api.link.PageLinksAssembler;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
<|current_version|>
package com.sandjelkovic.dispatchd.gateway.api.resource;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sandjelkovic.dispatchd.gateway.api.link.PageLinksAssembler;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.hateoas.ResourceSupport;

@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PageableListResource extends ResourceSupport {
	private final PageLinksAssembler linksAssembler;
}

<|next_version|>
package com.sandjelkovic.dispatchd.gateway.api.resource;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sandjelkovic.dispatchd.gateway.api.link.PageLinksAssembler;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.hateoas.ResourceSupport;

@Getter
@RequiredArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PageableListResource extends ResourceSupport {
	@JsonIgnore
	private final PageLinksAssembler linksAssembler;
}