package org.nuxeo.intellij.ui;

import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;

/**
 * Utility class to show a
 * {@link com.intellij.openapi.fileChooser.FileChooserDialog} to select only
 * Nuxeo SDKs.
 */
public final class NuxeoSDKChooser {

    public static final String NXSERVER_FOLDER_NAME = "nxserver";

    public static final String SDK_FOLDER_NAME = "sdk";

    public static final String COMPONENTS_INDEX_NAME = "components.index";

    private static final NuxeoSDKChooserDescriptor descriptor = new NuxeoSDKChooserDescriptor();

    private NuxeoSDKChooser() {
        // utility class
    }

    public static VirtualFile chooseNuxeoSDK(Project project) {
        return FileChooser.chooseFile(descriptor, project, null);
    }

    public static class NuxeoSDKChooserDescriptor extends FileChooserDescriptor {

        public NuxeoSDKChooserDescriptor() {
            super(false, true, false, false, false, false);
            setTitle("Choose a Nuxeo SDK Folder");
        }

        @Override
        public boolean isFileSelectable(VirtualFile file) {
            return file.isDirectory() && file.isValid()
                    && file.findChild(NXSERVER_FOLDER_NAME) != null
                    && file.findChild(SDK_FOLDER_NAME) != null
                    && file.findChild(COMPONENTS_INDEX_NAME) != null;
        }
    }
}

package org.nuxeo.intellij.ui;

import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;

/**
 * Utility class to show a
 * {@link com.intellij.openapi.fileChooser.FileChooserDialog} to select only
 * Nuxeo SDKs.
 */
public final class NuxeoSDKChooser {

    public static final String NXSERVER_FOLDER_NAME = "nxserver";

    public static final String SDK_FOLDER_NAME = "sdk";

    public static final String COMPONENTS_INDEX_NAME = "components.index";

    private static final NuxeoSDKChooserDescriptor descriptor = new NuxeoSDKChooserDescriptor();

    private NuxeoSDKChooser() {
        // utility class
    }

    public static VirtualFile chooseNuxeoSDK(Project project) {
        return FileChooser.chooseFile(descriptor, project, null);
    }

    public static class NuxeoSDKChooserDescriptor extends FileChooserDescriptor {

        public NuxeoSDKChooserDescriptor() {
            super(false, true, false, false, false, false);
            setTitle("Choose a Nuxeo SDK Folder");
        }

        @Override
        public boolean isFileSelectable(VirtualFile file) {
            VirtualFile nxserverFolder = file.findChild(NXSERVER_FOLDER_NAME);
            VirtualFile sdkFolder = file.findChild(SDK_FOLDER_NAME);
            return file.isDirectory() && file.isValid()
                    && nxserverFolder != null && sdkFolder != null
                    && sdkFolder.findChild(COMPONENTS_INDEX_NAME) != null;
        }
    }
}

Fix detection of Nuxeo SDK folder


package net.f4fs.util;

import java.util.Random;

/**
 * RandomDevice for global usage of pseudo-random numbers.
 *
 * Usage:
 *
 *  RandomDevice.INSTANCE.nextLong
 *
 * Created by samuel on 31.03.15.
 */
public enum RandomDevice {
    // To provide reproducible outcomes.
    INSTANCE(new Random(4568321548855l));

    private Random rand;

    private RandomDevice(Random rand) {
        this.rand = rand;
    }

    /**
     * Returns a pseudorandom, uniformly distributed int value between 0 (inclusive)
     * and the specified value (exclusive), drawn from this random number generator's sequence.
     *
     * @param n Bound
     * @return 0 <= value < n
     */
    public synchronized int nextInt(int n) {
        return rand.nextInt(n);
    }

    /**
     * Returns a pseudorandom, uniformly distributed int value between 0 (inclusive)
     * and the specified value (exclusive), drawn from this random number generator's sequence.
     *
     * @param n Bound
     * @return 0 <= value < n
     */
    public synchronized long nextLong(long n) {
        return rand.nextLong();
    }

    public Random getRand() {
        return rand;
    }
}

package net.f4fs.util;

import java.util.Random;

/**
 * RandomDevice for global usage of pseudo-random numbers.
 *
 * Usage:
 *
 *  RandomDevice.INSTANCE.nextLong
 *
 * Created by samuel on 31.03.15.
 */
public enum RandomDevice {
    // To provide reproducible outcomes.
    INSTANCE(new Random(System.currentTimeMillis()));

    private Random rand;

    private RandomDevice(Random rand) {
        this.rand = rand;
    }

    /**
     * Returns a pseudorandom, uniformly distributed int value between 0 (inclusive)
     * and the specified value (exclusive), drawn from this random number generator's sequence.
     *
     * @param n Bound
     * @return 0 <= value < n
     */
    public synchronized int nextInt(int n) {
        return rand.nextInt(n);
    }

    /**
     * Returns a pseudorandom, uniformly distributed int value between 0 (inclusive)
     * and the specified value (exclusive), drawn from this random number generator's sequence.
     *
     * @param n Bound
     * @return 0 <= value < n
     */
    public synchronized long nextLong(long n) {
        return rand.nextLong();
    }

    public Random getRand() {
        return rand;
    }
}

Fix random instanciation with milliseconds as seeds


/*
 * Copyright 2015-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package com.facebook.buck.cxx;

import com.facebook.buck.util.Escaper;
import com.facebook.buck.util.immutables.BuckStyleImmutable;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;

import org.immutables.value.Value;

@BuckStyleImmutable
@Value.Immutable
abstract class AbstractClangCxxCompilationDatabaseEntry implements CxxCompilationDatabaseEntry {

  @Value.Parameter
  public abstract String getDirectory();

  @Override
  @Value.Parameter
  public abstract String getFile();

  @JsonIgnore
  @Value.Parameter
  public abstract ImmutableList<String> getArgs();

  @Override
  @Value.Derived
  public String getCommand() {
    return Joiner.on(' ').join(
        Iterables.transform(
            getArgs(),
            Escaper.SHELL_ESCAPER));
  }

}

/*
 * Copyright 2015-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package com.facebook.buck.cxx;

import com.facebook.buck.util.Escaper;
import com.facebook.buck.util.immutables.BuckStyleImmutable;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;

import org.immutables.value.Value;

@BuckStyleImmutable
@Value.Immutable
abstract class AbstractClangCxxCompilationDatabaseEntry implements CxxCompilationDatabaseEntry {

  @Value.Parameter
  public abstract String getDirectory();

  @Override
  @Value.Parameter
  public abstract String getFile();

  @Value.Parameter
  public abstract ImmutableList<String> getArguments();

  @Override
  @Value.Derived
  public String getCommand() {
    return Joiner.on(' ').join(
        Iterables.transform(
            getArguments(),
            Escaper.SHELL_ESCAPER));
  }

}

Add arguments to clang entries.


package com.janosgyerik.utils.algorithm.sort;

public class MergeSort {

    private MergeSort() {
        // utility class, forbidden constructor
    }

    public static void sort(int[] arr) {
        mergeSort(arr, 0, arr.length);
    }

    protected static void mergeSort(int[] arr, int from, int to) {
        int diff = to - from;
        if (diff < 2) {
            return;
        }
        int mid = from + diff / 2;
        mergeSort(arr, from, mid);
        mergeSort(arr, mid, to);
        merge(arr, from, mid, to);
    }

    protected static void merge(int[] arr, int from, int mid, int to) {
        int[] sorted = new int[to - from];
        for (int i = 0, pos1 = from, pos2 = mid; i < sorted.length; ++i) {
            if (pos1 < mid && (pos2 >= to || arr[pos1] <= arr[pos2])) {
                sorted[i] = arr[pos1++];
            } else {
                sorted[i] = arr[pos2++];
            }
        }
        System.arraycopy(sorted, 0, arr, from, sorted.length);
    }
}

package com.janosgyerik.utils.algorithm.sort;

public class MergeSort {

    private MergeSort() {
        // utility class, forbidden constructor
    }

    public static void sort(int[] arr) {
        mergeSort(arr, 0, arr.length);
    }

    protected static void mergeSort(int[] arr, int from, int to) {
        int diff = to - from;
        if (diff < 2) {
            return;
        }
        int mid = from + diff / 2;
        mergeSort(arr, from, mid);
        mergeSort(arr, mid, to);
        merge(arr, from, mid, to);
    }

    static void merge(int[] arr, int from, int mid, int to) {
        int[] sorted = new int[to - from];
        int i = 0;
        int pos1 = from;
        int pos2 = mid;

        while (pos1 < mid && pos2 < to) {
            if (arr[pos1] <= arr[pos2]) {
                sorted[i++] = arr[pos1++];
            } else {
                sorted[i++] = arr[pos2++];
            }
        }
        while (pos1 < mid) {
            sorted[i++] = arr[pos1++];
        }
        while (pos2 < to) {
            sorted[i++] = arr[pos2++];
        }
        System.arraycopy(sorted, 0, arr, from, sorted.length);
    }
}

Refactor mergeSort to more readable form


package com.rehivetech.beeeon;

import android.text.TextUtils;

import java.util.Comparator;

public class IdentifierComparator implements Comparator<IIdentifier> {

	@Override
	public int compare(IIdentifier lhs, IIdentifier rhs) {
		return compareNumericIds(lhs, rhs);
	}

	public static int compareNumericIds(IIdentifier lhs, IIdentifier rhs) {
		String lhsId = lhs.getId();
		String rhsId = rhs.getId();

		if (TextUtils.isDigitsOnly(lhsId) && TextUtils.isDigitsOnly(rhsId)) {
			// Numeric comparison
			return Long.valueOf(lhsId).compareTo(Long.valueOf(rhsId));
		} else {
			// String comparison
			return lhsId.compareTo(rhsId);
		}
	}

}

package com.rehivetech.beeeon;

import android.text.TextUtils;

import java.math.BigInteger;
import java.util.Comparator;

public class IdentifierComparator implements Comparator<IIdentifier> {

	@Override
	public int compare(IIdentifier lhs, IIdentifier rhs) {
		return compareNumericIds(lhs, rhs);
	}

	public static int compareNumericIds(IIdentifier lhs, IIdentifier rhs) {
		String lhsId = lhs.getId();
		String rhsId = rhs.getId();

		if (TextUtils.isDigitsOnly(lhsId) && TextUtils.isDigitsOnly(rhsId)) {
			// Numeric comparison
			return new BigInteger(lhsId).compareTo(new BigInteger(rhsId));
		} else {
			// String comparison
			return lhsId.compareTo(rhsId);
		}
	}

}

Fix 64bit EUID conversion from String and comparing in Comparator


/**
 *
 */
package hudson.plugins.selenium.callables.hub;

import hudson.plugins.selenium.HubHolder;
import hudson.remoting.Callable;

/**
 * @author Richard Lavoie
 *
 */
public class StopHubCallable implements Callable<Void, Exception> {

    /*
     * (non-Javadoc)
     * @see hudson.remoting.Callable#call()
     */
    public Void call() throws Exception {
        HubHolder.hub.getRegistry().stop();
        HubHolder.hub.stop();
        HubHolder.hub = null;
        return null;
    }

}

/**
 *
 */
package hudson.plugins.selenium.callables.hub;

import java.util.logging.Logger;

import hudson.plugins.selenium.HubHolder;
import hudson.remoting.Callable;

/**
 * @author Richard Lavoie
 *
 */
public class StopHubCallable implements Callable<Void, Exception> {

	private static final Logger LOGGER = Logger.getLogger(StopHubCallable.class.getName());
    /*
     * (non-Javadoc)
     * @see hudson.remoting.Callable#call()
     */
    public Void call() throws Exception {
	    if (HubHolder.hub == null){
		    LOGGER.warning("Hub is not running. Nothing to stop.");
		    return null;
	    }

        HubHolder.hub.getRegistry().stop();
        HubHolder.hub.stop();
        HubHolder.hub = null;
        return null;
    }

}

Fix Exception when trying to restart hub while it is not running


/*
 * Copyright 2009 Mike Cumings
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.igniterealtime.jbosh;

/**
 * Data type representing the getValue of the {@code wait} attribute of the
 * {@code bosh} element.
 */
final class AttrWait extends AbstractIntegerAttr {

    /**
     * Creates a new attribute object.
     *
     * @param val attribute getValue
     * @throws BOSHException on parse or validation failure
     */
    private AttrWait(final String val) throws BOSHException {
        super(val);
        checkMinValue(1);
    }

    /**
     * Creates a new attribute instance from the provided String.
     *
     * @param str string representation of the attribute
     * @return attribute instance or {@code null} if provided string is
     *  {@code null}
     * @throws BOSHException on parse or validation failure
     */
    static AttrWait createFromString(final String str)
    throws BOSHException {
        if (str == null) {
            return null;
        } else {
            return new AttrWait(str);
        }
    }

}

/*
 * Copyright 2009 Mike Cumings
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.igniterealtime.jbosh;

/**
 * Data type representing the getValue of the {@code wait} attribute of the
 * {@code bosh} element.
 */
final class AttrWait extends AbstractIntegerAttr {

    /**
     * Creates a new attribute object.
     *
     * @param val attribute getValue
     * @throws BOSHException on parse or validation failure
     */
    private AttrWait(final String val) throws BOSHException {
        super(val);
        checkMinValue(0);
    }

    /**
     * Creates a new attribute instance from the provided String.
     *
     * @param str string representation of the attribute
     * @return attribute instance or {@code null} if provided string is
     *  {@code null}
     * @throws BOSHException on parse or validation failure
     */
    static AttrWait createFromString(final String str)
    throws BOSHException {
        if (str == null) {
            return null;
        } else {
            return new AttrWait(str);
        }
    }

}

Allow 0 for WAIT attribute


/*
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

package com.mpalourdio.html5;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;

@SpringBootApplication
public class SpringBootAngularHTML5Application {

    public static void main(final String[] args) {
        final ApplicationContext ctx = SpringApplication.run(SpringBootAngularHTML5Application.class, args);
        final String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        Arrays.stream(beanNames).forEach(System.out::println);
    }
}

/*
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

package com.mpalourdio.html5;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;

@SpringBootApplication
public class SpringBootAngularHTML5Application {

    public static void main(final String ...args) {
        final ApplicationContext ctx = SpringApplication.run(SpringBootAngularHTML5Application.class, args);
        final String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        Arrays.stream(beanNames).forEach(System.out::println);
    }
}

Use variadic args in main method


package com.passel;

import android.app.Activity;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import com.passel.R;

public class LogInActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_log_in, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

package com.passel;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class LogInActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_log_in, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (R.id.action_settings == item.getItemId()) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Clean up login and signup screens to prep for functionality infusion.


/*
 * Copyright 2014-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package com.facebook.buck.features.python.toolchain;

import com.facebook.buck.core.rulekey.AddToRuleKey;
import com.facebook.buck.core.rulekey.AddsToRuleKey;
import com.facebook.buck.core.util.immutables.BuckStyleImmutable;
import org.immutables.value.Value;

@Value.Immutable(builder = false, copy = false)
@BuckStyleImmutable
public abstract class AbstractPythonVersion implements AddsToRuleKey {

  // TODO(cjhopman): This should add the interpreter name to the rulekey.
  @Value.Parameter
  public abstract String getInterpreterName();

  @Value.Parameter
  @AddToRuleKey
  public abstract String getVersionString(); // X.Y

  @Override
  public String toString() {
    return getInterpreterName() + " " + getVersionString();
  }
}

/*
 * Copyright 2014-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package com.facebook.buck.features.python.toolchain;

import com.facebook.buck.core.rulekey.AddToRuleKey;
import com.facebook.buck.core.rulekey.AddsToRuleKey;
import com.facebook.buck.core.util.immutables.BuckStyleImmutable;
import org.immutables.value.Value;

@Value.Immutable(builder = false, copy = false)
@BuckStyleImmutable
public abstract class AbstractPythonVersion implements AddsToRuleKey {

  @Value.Parameter
  @AddToRuleKey
  public abstract String getInterpreterName();

  @Value.Parameter
  @AddToRuleKey
  public abstract String getVersionString(); // X.Y

  @Override
  public String toString() {
    return getInterpreterName() + " " + getVersionString();
  }
}

Include python interpreter implementation name in rule keys


package org.helioviewer.jhv.data.lock;

public class JHVEventContainerLocks {
    public static final Object dateLock = new Object();

    public static final Object intervalLock = new Object();

    public static final Object cacheLock = new Object();

    public static final Object eventHandlerCacheLock = new Object();
}

package org.helioviewer.jhv.data.lock;

public class JHVEventContainerLocks {
    public static final Object dateLock = new Object();

    public static final Object intervalLock = new Object();

    public static final Object cacheLock = new Object();

    public static final Object eventHandlerCacheLock = new Object();

    public static final Object requestHandlerLock = new Object();
}

Add a request handler lock


package hackerrank;

import java.util.Scanner;

/**
 * https://www.hackerrank.com/challenges/insertionsort2
 */
public class InsertionSortPart2 {
    public static void insertionSortPart2(int[] ar) {

    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int s = in.nextInt();
        int[] ar = new int[s];
        for (int i = 0; i < s; i++) {
            ar[i] = in.nextInt();
        }
        insertionSortPart2(ar);

    }

    private static void printArray(int[] ar) {
        for (int n : ar) {
            System.out.print(n + " ");
        }
        System.out.println("");
    }
}

package hackerrank;

import java.util.Scanner;

/**
 * https://www.hackerrank.com/challenges/insertionsort2
 */
public class InsertionSortPart2 {
    public static void insertionSortPart2(int[] ar) {
        for (int i = 1; i < ar.length; i++) {
            int j = i;
            while (j >= 1 && ar[j] < ar[j - 1]) {
                swap(ar, j, j - 1);
                j--;
            }
            printArray(ar);
        }
    }

    private static void swap(int[] ar, int i, int j) {
        int tmp = ar[i];
        ar[i] = ar[j];
        ar[j] = tmp;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int s = in.nextInt();
        int[] ar = new int[s];
        for (int i = 0; i < s; i++) {
            ar[i] = in.nextInt();
        }
        insertionSortPart2(ar);

    }

    private static void printArray(int[] ar) {
        for (int n : ar) {
            System.out.print(n + " ");
        }
        System.out.println("");
    }
}

Solve Insertion Sort: Part 2


/*
 * Copyright (C) 2012 The Dagger Authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package dagger;

import dagger.internal.Beta;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotates a class that contributes to the object graph.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Module {
  /**
   * Additional {@code @Module}-annotated classes from which this module is
   * composed. The de-duplicated contributions of the modules in
   * {@code includes}, and of their inclusions recursively, are all contributed
   * to the object graph.
   */
  Class<?>[] includes() default {};

  /**
   * Any {@link Subcomponent}- or {@link dagger.producers.ProductionSubcomponent}-annotated classes
   * which should be children of the component in which this module is installed. A subcomponent may
   * be listed in more than one module in a component.
   */
  @Beta
  Class<?>[] subcomponents() default {};
}

/*
 * Copyright (C) 2012 The Dagger Authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package dagger;

import dagger.internal.Beta;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotates a class that contributes to the object graph.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Module {
  /**
   * Additional {@code @Module}-annotated classes from which this module is
   * composed. The de-duplicated contributions of the modules in
   * {@code includes}, and of their inclusions recursively, are all contributed
   * to the object graph.
   */
  Class<?>[] includes() default {};

  /**
   * Any {@link Subcomponent}- or {@code @ProductionSubcomponent}-annotated classes which should be
   * children of the component in which this module is installed. A subcomponent may be listed in
   * more than one module in a component.
   */
  @Beta
  Class<?>[] subcomponents() default {};
}

Fix a javadoc bug: maven can't @link a producers class in javadoc for core-dagger.


/*
 * Copyright (C) 2014,2015 The Cat Hive Developers.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.cathive.sass;

/**
 * @author Benjamin P. Jung
 */
public enum SassTag {
    SASS_BOOLEAN,
    SASS_NUMBER,
    SASS_COLOR,
    SASS_STRING,
    SASS_LIST,
    SASS_MAP,
    SASS_NULL,
    SASS_ERROR,
    SASS_WARNING
}

/*
 * Copyright (C) 2014,2015 The Cat Hive Developers.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.cathive.sass;

/**
 * @author Benjamin P. Jung
 */
public enum SassTag {
    SASS_BOOLEAN(0),
    SASS_NUMBER(1),
    SASS_COLOR(2),
    SASS_STRING(3),
    SASS_LIST(4),
    SASS_MAP(5),
    SASS_NULL(6),
    SASS_ERROR(7),
    SASS_WARNING(8);

    /** Sass tag primitive int value. */
    private final int intValue;

    private SassTag(final int intValue) {
        this.intValue = intValue;
    }

    public int getIntValue() {
        return this.intValue;
    }

}

Add primitive int value to enum.


package com.crowdin.cli.commands.functionality;

import com.crowdin.cli.properties.PropertiesBean;
import com.crowdin.cli.utils.CommandUtils;
import com.crowdin.cli.utils.PlaceholderUtil;
import org.apache.commons.lang3.StringUtils;

import java.io.File;
import java.util.List;
import java.util.stream.Collectors;

public class DryrunTranslations extends Dryrun {

    private PropertiesBean pb;
    private PlaceholderUtil placeholderUtil;

    public DryrunTranslations(PropertiesBean pb, PlaceholderUtil placeholderUtil) {
        this.pb = pb;
        this.placeholderUtil = placeholderUtil;
    }

    @Override
    protected List<String> getFiles() {
        return pb.getFiles()
            .stream()
            .flatMap(file -> CommandUtils.getFileSourcesWithoutIgnores(file, pb.getBasePath(), placeholderUtil)
                .stream()
                .map(source -> placeholderUtil.replaceFileDependentPlaceholders(file.getTranslation(), source))
                .flatMap(translation -> ((file.getLanguagesMapping() != null)
                    ? placeholderUtil.replaceLanguageDependentPlaceholders(translation, file.getLanguagesMapping())
                    : placeholderUtil.replaceLanguageDependentPlaceholders(translation)).stream()))
            .map(source -> StringUtils.removeStart(source, pb.getBasePath()))
            .collect(Collectors.toList());
    }
}

package com.crowdin.cli.commands.functionality;

import com.crowdin.cli.properties.PropertiesBean;
import com.crowdin.cli.utils.CommandUtils;
import com.crowdin.cli.utils.PlaceholderUtil;
import com.crowdin.cli.utils.Utils;
import org.apache.commons.lang3.StringUtils;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class DryrunTranslations extends Dryrun {

    private PropertiesBean pb;
    private PlaceholderUtil placeholderUtil;

    public DryrunTranslations(PropertiesBean pb, PlaceholderUtil placeholderUtil) {
        this.pb = pb;
        this.placeholderUtil = placeholderUtil;
    }

    @Override
    protected List<String> getFiles() {
        return pb.getFiles()
            .stream()
            .flatMap(file -> CommandUtils.getFileSourcesWithoutIgnores(file, pb.getBasePath(), placeholderUtil)
                .stream()
                .map(source -> placeholderUtil.replaceFileDependentPlaceholders(file.getTranslation(), source))
                .flatMap(translation -> ((file.getLanguagesMapping() != null)
                    ? placeholderUtil.replaceLanguageDependentPlaceholders(translation, file.getLanguagesMapping())
                    : placeholderUtil.replaceLanguageDependentPlaceholders(translation)).stream())
                .map(translation -> (file.getTranslationReplace() != null ? file.getTranslationReplace() : Collections.<String, String>emptyMap())
                    .keySet()
                    .stream()
                    .reduce(translation, (trans, k) -> StringUtils.replace(
                        trans,
                        k.replaceAll("[\\\\/]+", Utils.PATH_SEPARATOR_REGEX),
                        file.getTranslationReplace().get(k)))
                )
            )
            .map(source -> StringUtils.removeStart(source, pb.getBasePath()))
            .collect(Collectors.toList());
    }
}

Fix translation_replace for translations dryrun


package com.github.vlsi.mat.calcite.functions;

import org.eclipse.mat.SnapshotException;
import org.eclipse.mat.snapshot.model.IClass;
import org.eclipse.mat.snapshot.model.IObject;

@SuppressWarnings("unused")
public interface IClassMethods {
  static IClass getSuper(IObject clazz) {
    if (clazz instanceof IClass) {
      return ((IClass) clazz).getSuperClass();
    }
    return null;
  }

  static IObject getClassLoader(IObject clazz) {
    if (!(clazz instanceof IClass)) {
      return null;
    }
    int classLoaderId = ((IClass) clazz).getClassLoaderId();
    try {
      return clazz.getSnapshot().getObject(classLoaderId);
    } catch (SnapshotException e) {
      throw new IllegalArgumentException(
          "Unable to retrieve classloader of class " + clazz + " in heap " + clazz.getSnapshot(), e);
    }
  }

  static String getClassName(IObject clazz) {
    if (clazz instanceof IClass) {
      return ((IClass) clazz).getName();
    }
    return null;
  }
}

package com.github.vlsi.mat.calcite.functions;

import org.eclipse.mat.SnapshotException;
import org.eclipse.mat.snapshot.model.IClass;
import org.eclipse.mat.snapshot.model.IObject;

@SuppressWarnings("unused")
public abstract class IClassMethods {
  public static IClass getSuper(IObject clazz) {
    if (clazz instanceof IClass) {
      return ((IClass) clazz).getSuperClass();
    }
    return null;
  }

  public static IObject getClassLoader(IObject clazz) {
    if (!(clazz instanceof IClass)) {
      return null;
    }
    int classLoaderId = ((IClass) clazz).getClassLoaderId();
    try {
      return clazz.getSnapshot().getObject(classLoaderId);
    } catch (SnapshotException e) {
      throw new IllegalArgumentException(
          "Unable to retrieve classloader of class " + clazz + " in heap " + clazz.getSnapshot(), e);
    }
  }

  public static String getClassName(IObject clazz) {
    if (clazz instanceof IClass) {
      return ((IClass) clazz).getName();
    }
    return null;
  }
}

Use abstract classs instead of interface for static methods


package controllers;

import java.util.ArrayList;

import com.feth.play.module.pa.PlayAuthenticate;
import com.feth.play.module.pa.user.AuthUser;

import models.User;

import play.Logger;
import play.mvc.Http.Context;
import play.mvc.Result;
import play.mvc.Security;

public class Secured extends Security.Authenticator {

	@Override
	public String getUsername(final Context ctx) {
        Logger.debug("Secured::getUsername " + ctx);
		final AuthUser u = PlayAuthenticate.getUser(ctx.session());

		if (u != null) {
            User the_user = User.findByAuthUserIdentity(u);
            if (the_user == null) {
                return null;
            }

            return u.getId();
        }

        return null;
	}

	@Override
	public Result onUnauthorized(final Context ctx) {
		return redirect(com.feth.play.module.pa.controllers.routes.Authenticate.logout());
	}
}

package controllers;

import java.util.ArrayList;

import com.feth.play.module.pa.PlayAuthenticate;
import com.feth.play.module.pa.user.AuthUser;

import models.User;

import play.Logger;
import play.mvc.Http.Context;
import play.mvc.Result;
import play.mvc.Security;

public class Secured extends Security.Authenticator {

	@Override
	public String getUsername(final Context ctx) {
        Logger.debug("Secured::getUsername " + ctx);
		final AuthUser u = PlayAuthenticate.getUser(ctx.session());

		if (u != null) {
            User the_user = User.findByAuthUserIdentity(u);
            if (the_user == null) {
                return null;
            }

            return u.getId();
        }

        PlayAuthenticate.storeOriginalUrl(ctx);

        return null;
	}

	@Override
	public Result onUnauthorized(final Context ctx) {
		return redirect(controllers.routes.Public.index());
	}
}

Store original URL before logging in so that user is properly redirected on login.


/*
    Input array: 8 7 9 2 1 10
                  < > < > <

                7 9 2 8 1 10
*/

import java.util.*;
import java.lang.*;

class Solution{

    public static Scanner sc = new Scanner(System.in);
    public static void main(String[] args){
        int n = sc.nextInt();
        int[] arr = new int[n];
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
        }

        zigZagSort(arr,n);
        print(arr,n);
    }

    public static void zigZagSort(int[] arr, int n){
        boolean toggle = true;
        int temp = 0;
        for(int i=0;i<n-1;i++){
            if(toggle){
                // should be a < b
                if(arr[i]>arr[i+1]){
                    temp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;
                }
            }
            else{
                // should be a < b
                if(arr[i]<arr[i+1]){
                    temp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;
                }
            }
            toggle=!toggle;
        }
    }

    public static void print(int[] arr,int n){
        for(int i=0;i<n;i++)
            System.out.print(arr[i]+" ");
        System.out.println();
    }
}
// Complexity of the algorithm is O(n), where n is number of elements in the array

Add time complexity for zigzagArray problem


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package nl.meg.propertiesutility;

import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author meine
 */
public class Properties {
    private final Map<String, String> properties = new HashMap<>();

    public Properties(){

    }

    public void setProperty(String key, String value){
        properties.put(key, value);
    }

    public String getProperty(String property){
        return properties.get(property);
    }

    public String getProperty(String property, String defaultValue){
        if(properties.containsKey(property)){
            return properties.get(property);
        }else{
            return defaultValue;
        }
    }
}

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package nl.meg.propertiesutility;

import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author meine
 */
public class Properties {
    private final Map<String, String> properties = new HashMap<>();

    public Properties(){

    }

    public void setProperty(String key, String value){
        properties.put(key, value);
    }

    public String getProperty(String property){
        return properties.get(property);
    }

    public String getProperty(String property, String defaultValue){
        if(properties.containsKey(property)){
            return properties.get(property);
        }else{
            return defaultValue;
        }
    }

    public void load(InputStream in){

    }

    public void store (OutputStream out, String comments){

    }
}

Store and load methods (stubs)


/*
 * Copyright 2012 GitHub Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.github.mobile.util;

import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
import android.text.format.DateUtils;

import java.util.Date;

/**
 * Utilities for dealing with dates and times
 */
public class TimeUtils {

    /**
     * Get relative time for date
     *
     * @param date
     * @return relative time
     */
    public static CharSequence getRelativeTime(final Date date) {
        long now = System.currentTimeMillis();
        if (Math.abs(now - date.getTime()) > 60000)
            return DateUtils.getRelativeTimeSpanString(date.getTime(), now,
                    MINUTE_IN_MILLIS);
        else
            return "just now";
    }
}

/*
 * Copyright 2012 GitHub Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.github.mobile.util;

import static android.text.format.DateUtils.FORMAT_NUMERIC_DATE;
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
import static android.text.format.DateUtils.FORMAT_SHOW_YEAR;
import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
import android.text.format.DateUtils;

import java.util.Date;

/**
 * Utilities for dealing with dates and times
 */
public class TimeUtils {

    /**
     * Get relative time for date
     *
     * @param date
     * @return relative time
     */
    public static CharSequence getRelativeTime(final Date date) {
        long now = System.currentTimeMillis();
        if (Math.abs(now - date.getTime()) > 60000)
            return DateUtils.getRelativeTimeSpanString(date.getTime(), now,
                    MINUTE_IN_MILLIS, FORMAT_SHOW_DATE | FORMAT_SHOW_YEAR
                            | FORMAT_NUMERIC_DATE);
        else
            return "just now";
    }
}

Use FORMAT_NUMERIC_DATE when creating relative time string


package javax.jmi.reflect;

import java.util.Collection;
import java.util.List;

public interface RefPackage extends RefBaseObject {
    public RefClass refClass(RefObject type);
    public RefClass refClass(String typeName);
    public RefPackage refPackage(RefObject nestedPackage);
    public RefPackage refPackage(String nestedPackageName);
    public RefAssociation refAssociation(RefObject association);
    public RefAssociation refAssociation(String associationName);
    public Collection refAllPackages();
    public Collection refAllClasses();
    public Collection refAllAssociations();
    public RefStruct refCreateStruct(RefObject struct, List params);
    public RefStruct refCreateStruct(String structName, List params);
    public RefEnum refGetEnum(RefObject enum, String name);
    public RefEnum refGetEnum(String enumName, String name);
    public void refDelete();
}

package javax.jmi.reflect;

import java.util.Collection;
import java.util.List;

public interface RefPackage extends RefBaseObject {
    public RefClass refClass(RefObject type);
    public RefClass refClass(String typeName);
    public RefPackage refPackage(RefObject nestedPackage);
    public RefPackage refPackage(String nestedPackageName);
    public RefAssociation refAssociation(RefObject association);
    public RefAssociation refAssociation(String associationName);
    public Collection refAllPackages();
    public Collection refAllClasses();
    public Collection refAllAssociations();
    public RefStruct refCreateStruct(RefObject struct, List params);
    public RefStruct refCreateStruct(String structName, List params);
    public RefEnum refGetEnum(RefObject enum_, String name);
    public RefEnum refGetEnum(String enumName, String name);
    public void refDelete();
}

Fix 'enum' keyword warning in JDK 1.5.


package org.motechproject.tama.api.model;

/**
 * Created by IntelliJ IDEA.
 * User: rob
 * Date: 4/25/11
 * Time: 8:48 PM
 * To change this template use File | Settings | File Templates.
 */
public class AppointmentSchedule
{
	public static enum Followup {
		REGISTERED("Registered",7),
		WEEK4("4 week follow-up",4*7),
		WEEK12("12 week follow-up",4*12),
		WEEK24("24 week follow-up",4*24),
		WEEK36("36 week follow-up",4*36),
		WEEK48("48 week follow-up",4*48);

		final String value;
		final int days;

		Followup(String value, int days) {
			this.value=value;
			this.days=days;
		}

		@Override
		public String toString(){
			return value;
		}

		public String getKey(){
			return name();
		}

		public int getDays() {
			return this.days;
		}
	}
}

package org.motechproject.tama.api.model;

/**
 * Created by IntelliJ IDEA.
 * User: rob
 * Date: 4/25/11
 * Time: 8:48 PM
 * To change this template use File | Settings | File Templates.
 */
public class AppointmentSchedule
{
	public static enum Followup {
		REGISTERED("Registered",7),
		WEEK4("4 week follow-up",7*4),
		WEEK12("12 week follow-up",7*12),
		WEEK24("24 week follow-up",7*24),
		WEEK36("36 week follow-up",7*36),
		WEEK48("48 week follow-up",7*48);

		final String value;
		final int days;

		Followup(String value, int days) {
			this.value=value;
			this.days=days;
		}

		@Override
		public String toString(){
			return value;
		}

		public String getKey(){
			return name();
		}

		public int getDays() {
			return this.days;
		}
	}
}

Fix 4->7 days week in the Care Schedule


package com.jmonad.seq;

import com.jmonad.seq.lambda.Function;

import org.junit.Test;

public class SeqSomeTest {

    private Integer[] numbers = {100, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

    private Function trueFunc = new Function<Boolean, Integer>() {
        @Override public Boolean call(Integer param) {
            return param > 10;
        }
    };

    private Function falseFunc = new Function<Boolean, Integer>() {
        @Override public Boolean call(Integer param) {
            return param > 100;
        }
    };

    @Test public void expectTrueFromSomeFunctionTest() {
        assert new Seq<>(numbers).some(trueFunc);
    }

    @Test public void expectFalseFromSomeFunctionTest() {
        assert !new Seq<>(numbers).some(falseFunc);
    }
}

Fix checkList problem in seq test class


public class Plane extends Shape
{
	public Vector Normal ;
	public Point3D P ;

	float t ;
	private float EPS = 0.00001f ;

	public Plane(){} ;

	public Plane ( Vector Normal , Point3D P , Material material )
	{
		this.Normal = Normal ;
		this.P = P ;
		this.material = material ;
	};

	@Override
	public boolean Intersect(Ray ray)
	{
		ray.normalize();
		Vector v = new Vector ( this.P  , ray.getPos() ) ;

		// Check if parallel
		if ( ray.getDir().dot(Normal)  < EPS ) return false ;

		t = v.dot( Normal ) / ray.getDir().dot( Normal ) ;

		return true ;

		/*
		Vector v = new Vector ( this.P  , ray.getPos() ) ;
		t = v.dot( Normal ) / ray.getDir().dot( Normal ) ;
		//System.out.println( t );
		return ( ray.getDir().dot(this.Normal) < EPS ) ;
		*/
	};

	@Override
	public Vector getNormal(Point3D p)
	{
		 return this.Normal ;
	};

	@Override
	public float getInter()
	{
		return this.t ;
	};

	@Override
	public Material getMaterial()
	{
		return this.material;
	};

}

public class Plane extends Shape
{
	public Vector Normal ;
	public Point3D P ;

	float t ;
	private float EPS = 0.00001f ;

	public Plane(){} ;

	public Plane ( Vector Normal , Point3D P , Material material )
	{
		this.Normal = Normal ;
		this.P = P ;
		this.material = material ;
	};

	@Override
	public boolean Intersect(Ray ray)
	{
		Vector v = new Vector (  ray.getPos() , this.P  ) ;
		ray.normalize();
		//v.norm() ;
		this.Normal.normalize();

		float den = ray.getDir().dot(this.Normal) ;

		// Check if crossing the plane
		if ( den < EPS )
		{
			this.t = v.dot(this.Normal ) / den ;
			return ( this.t >= 0 ) ;
		}

		return false ;
	};

	@Override
	public Vector getNormal(Point3D p)
	{
		 return this.Normal ;
	};

	@Override
	public float getInter()
	{
		return this.t ;
	};

	@Override
	public Material getMaterial()
	{
		return this.material;
	};

}

Change the ray - plane intersection function


package retrofit;

/** Intercept every request before it is executed in order to add additional data. */
public interface RequestInterceptor {
  /** Called for every request. Add data using methods on the supplied {@link RequestFacade}. */
  void intercept(RequestFacade request);

  interface RequestFacade {
    /** Add a header to the request. This will not replace any existing headers. */
    void addHeader(String name, String value);

    /**
     * Add a path parameter replacement. This works exactly like a {@link retrofit.http.Path
     * @Path}-annotated method argument.
     */
    void addPathParam(String name, String value);

    /**
     * Add a path parameter replacement without first URI encoding. This works exactly like a
     * {@link retrofit.http.EncodedPath @EncodedPath}-annotated method argument.
     */
    void addEncodedPathParam(String name, String value);

    /** Add an additional query parameter. This will not replace any existing query parameters. */
    void addQueryParam(String name, String value);

    /**
     * Add an additional query parameter without first URI encoding. This will not replace any
     * existing query parameters.
     */
    void addEncodedQueryParam(String name, String value);
  }

  /** A {@link RequestInterceptor} which does no modification of requests. */
  RequestInterceptor NONE = new RequestInterceptor() {
    @Override public void intercept(RequestFacade request) {
      // Do nothing.
    }
  };
}

package retrofit;

/** Intercept every request before it is executed in order to add additional data. */
public interface RequestInterceptor {
  /** Called for every request. Add data using methods on the supplied {@link RequestFacade}. */
  void intercept(RequestFacade request);

  interface RequestFacade {
    /** Add a header to the request. This will not replace any existing headers. */
    void addHeader(String name, String value);

    /**
     * Add a path parameter replacement. This works exactly like a {@link retrofit.http.Path
     * @Path}-annotated method argument.
     */
    void addPathParam(String name, String value);

    /**
     * Add a path parameter replacement without first URI encoding. This works exactly like a
     * {@link retrofit.http.Path @Path}-annotated method argument with {@code encode=false}.
     */
    void addEncodedPathParam(String name, String value);

    /** Add an additional query parameter. This will not replace any existing query parameters. */
    void addQueryParam(String name, String value);

    /**
     * Add an additional query parameter without first URI encoding. This will not replace any
     * existing query parameters.
     */
    void addEncodedQueryParam(String name, String value);
  }

  /** A {@link RequestInterceptor} which does no modification of requests. */
  RequestInterceptor NONE = new RequestInterceptor() {
    @Override public void intercept(RequestFacade request) {
      // Do nothing.
    }
  };
}

Fix annotation link. EncodedPath is gone.


package jenkins.advancedqueue;

import hudson.model.Job;
import hudson.model.Queue;
import jenkins.advancedqueue.sorter.ItemInfo;
import jenkins.advancedqueue.sorter.QueueItemCache;
import jenkins.model.Jenkins;
import org.jenkinsci.plugins.workflow.support.steps.ExecutorStepExecution;

class PriorityConfigurationPlaceholderTaskHelper {

    boolean isPlaceholderTask(Queue.Task task) {
        return isPlaceholderTaskUsed() && task instanceof  ExecutorStepExecution.PlaceholderTask;
    }

    PriorityConfigurationCallback getPriority(ExecutorStepExecution.PlaceholderTask task, PriorityConfigurationCallback priorityCallback) {
        Job<?, ?> job = (Job<?, ?>) task.getOwnerTask();
        ItemInfo itemInfo = QueueItemCache.get().getItem(job.getName());
        itemInfo.getPriority();
        priorityCallback.setPrioritySelection(itemInfo.getPriority());
        return priorityCallback;
    }

    static boolean isPlaceholderTaskUsed() {
        return Jenkins.getInstance().getPlugin("workflow-durable-task-step") != null;
    }

}

package jenkins.advancedqueue;

import hudson.Plugin;
import hudson.model.Job;
import hudson.model.Queue;
import jenkins.advancedqueue.sorter.ItemInfo;
import jenkins.advancedqueue.sorter.QueueItemCache;
import jenkins.model.Jenkins;
import org.jenkinsci.plugins.workflow.support.steps.ExecutorStepExecution;

class PriorityConfigurationPlaceholderTaskHelper {

    boolean isPlaceholderTask(Queue.Task task) {
        return isPlaceholderTaskUsed() && task instanceof  ExecutorStepExecution.PlaceholderTask;
    }

    PriorityConfigurationCallback getPriority(ExecutorStepExecution.PlaceholderTask task, PriorityConfigurationCallback priorityCallback) {
        Job<?, ?> job = (Job<?, ?>) task.getOwnerTask();
        ItemInfo itemInfo = QueueItemCache.get().getItem(job.getName());
        itemInfo.getPriority();
        priorityCallback.setPrioritySelection(itemInfo.getPriority());
        return priorityCallback;
    }

    static boolean isPlaceholderTaskUsed() {
        Plugin plugin = Jenkins.getInstance().getPlugin("workflow-durable-task-step");
        return plugin != null && plugin.getWrapper().isActive();
    }

}

Add checking if workflow-durable-task-step plugin is active


import java.util.List;
import java.util.ArrayList;

public class Rules {
	private static List<Fact> rules = new ArrayList<Fact>();

	public Rules() {
	}

	public void addRule(Fact f) {
		rules.add(f);
	}

	public Boolean is(Fact f, List<Term> head) {
		for(Fact rule: rules) {
			if ((rule.equals(f)) && (f.getHead().equals(head))) {
				return true;
			}
		}
		return false;
	}

}

import java.util.List;
import java.util.ArrayList;

public class Rules {
	private static List<Fact> rules = new ArrayList<Fact>();

	public Rules() {
	}

	public void addRule(Fact f) {
		rules.add(f);
	}

	public boolean is(Fact f, List<Term> head) {
		boolean result = false;
		for(Fact rule: rules) {
			if ((rule.equals(f)) && (f.getHead().equals(head))) {
				Term first = f.getHead().get(0);
				if (first instanceof Variable) {
					System.out.println(first.getName() + " = " + rule.getHead().get(0).getName());
				}
				result = true;
			}
		}
		return result;
	}

}

Allow variables when checking rules


import java.rmi.Remote;

public interface MetaDataInterface extends Remote {
    // CALLS FROM STORAGE SERVER
    void addStorageServer(String hostname, String top_dir) throws Exception;

    void delStorageServer(String hostname, String top_dir) throws Exception;

    void addStorageItem(String item, NodeType nodeType) throws Exception;

    void delStorageItem(String item) throws Exception;

    // CALLS FROM CLIENT
    String find(String item) throws Exception;

    Stat lstat(String item) throws Exception;

    boolean checkExists(String item) throws Exception;

    boolean isDir(String item) throws Exception;

    boolean isFile(String item) throws Exception;
}

import java.rmi.Remote;

public interface MetaDataInterface extends Remote {
    // CALLS FROM STORAGE SERVER
    void addStorageServer(String hostname, String top_dir) throws Exception;

    void delStorageServer(String hostname, String top_dir) throws Exception;

    void addStorageItem(String item, NodeType type) throws Exception;

    void delStorageItem(String item) throws Exception;

    // CALLS FROM CLIENT
    String find(String item) throws Exception;

    Stat lstat(String item) throws Exception;

    boolean isDir(String item) throws Exception;

    boolean isFile(String item) throws Exception;

    boolean checkExists(String item) throws Exception;
}

Reorder methods, change argument name


// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.admin;

import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.container.handler.ThreadpoolConfig;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.Handler;

/**
 * @author hmusum
 */
public class LogserverContainerCluster extends ContainerCluster<LogserverContainer> {

    public LogserverContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
        super(parent, name, name, deployState);

        addDefaultHandlersWithVip();
        addLogHandler();
    }

    @Override
    protected void doPrepare(DeployState deployState) { }

    @Override
    public void getConfig(ThreadpoolConfig.Builder builder) {
        builder.maxthreads(10);
    }

    @Override
    public void getConfig(QrStartConfig.Builder builder) {
        super.getConfig(builder);
        builder.jvm.heapsize(384);
    }

    protected boolean messageBusEnabled() { return false; }

    private void addLogHandler() {
        Handler<?> logHandler = Handler.fromClassName(ContainerCluster.LOG_HANDLER_CLASS);
        logHandler.addServerBindings("http://*/logs");
        addComponent(logHandler);
    }

}

// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.admin;

import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.container.handler.ThreadpoolConfig;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.Handler;

/**
 * @author hmusum
 */
public class LogserverContainerCluster extends ContainerCluster<LogserverContainer> {

    public LogserverContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
        super(parent, name, name, deployState);

        addDefaultHandlersWithVip();
        addLogHandler();
    }

    @Override
    protected void doPrepare(DeployState deployState) { }

    @Override
    public void getConfig(ThreadpoolConfig.Builder builder) {
        builder.maxthreads(10);
    }

    @Override
    public void getConfig(QrStartConfig.Builder builder) {
        super.getConfig(builder);
        builder.jvm.heapsize(512);
    }

    protected boolean messageBusEnabled() { return false; }

    private void addLogHandler() {
        Handler<?> logHandler = Handler.fromClassName(ContainerCluster.LOG_HANDLER_CLASS);
        logHandler.addServerBindings("http://*/logs");
        addComponent(logHandler);
    }

}

Increase JVM heap for logserver-container


/*
 * Copyright (c) 2014-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

package com.facebook.yoga;

import com.facebook.proguard.annotations.DoNotStrip;

/**
 * Inteface for recieving logs from native layer. Use by setting YogaNode.setLogger(myLogger);
 * See YogaLogLevel for the different log levels.
 */
@DoNotStrip
public interface YogaLogger {
  @DoNotStrip
  void log(YogaNode node, YogaLogLevel level, String message);
}

/*
 * Copyright (c) 2014-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

package com.facebook.yoga;

import com.facebook.proguard.annotations.DoNotStrip;

/**
 * Interface for receiving logs from native layer. Use by setting YogaNode.setLogger(myLogger);
 * See YogaLogLevel for the different log levels.
 */
@DoNotStrip
public interface YogaLogger {
  @DoNotStrip
  void log(YogaNode node, YogaLogLevel level, String message);
}

Fix Android comment and docblock typos


/*
 * Copyright (C) 2011 The University of Manchester
 *
 * See the file "LICENSE.txt" for license terms.
 */
package org.taverna.server.input_description;

import static org.taverna.server.input_description.Namespaces.RDF;
import static org.taverna.server.input_description.Namespaces.XLINK;

import java.net.URI;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;

@XmlRootElement
public class Input {
	@XmlAttribute(namespace = XLINK)
	@XmlSchemaType(name = "anyURI")
	public URI href;
	@XmlAttribute(namespace = RDF)
	public String about;
	@XmlElement(required = true)
	public String name;
	@XmlElement
	public Integer depth;
}

/*
 * Copyright (C) 2011 The University of Manchester
 *
 * See the file "LICENSE.txt" for license terms.
 */
package org.taverna.server.input_description;

import static org.taverna.server.input_description.Namespaces.RDF;
import static org.taverna.server.input_description.Namespaces.XLINK;

import java.net.URI;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;

@XmlRootElement
public class Input {
	@XmlAttribute(namespace = XLINK)
	@XmlSchemaType(name = "anyURI")
	public URI href;
	@XmlAttribute(namespace = RDF)
	public String about;
	@XmlAttribute(required = true)
	public String name;
	@XmlAttribute
	public Integer depth;
}

Fix TAVSERV-176; elements -> attributes in inpt description


package org.museautomation.builtins.step.userinput;

import org.museautomation.core.*;
import org.museautomation.core.events.*;

/**
 * @author Christopher L Merrill (see LICENSE.txt for license details)
 */
public class UserContinueEventType extends EventType
    {
    public UserContinueEventType()
        {
        super(TYPE_ID, "User Continue");
        }

    public static MuseEvent create(String message)
        {
        MuseEvent event = new MuseEvent(TYPE_ID);
        event.setAttribute(MuseEvent.DESCRIPTION, message);
        return event;
        }

    public static MuseEvent createAbort(String message)
        {
        MuseEvent event = new MuseEvent(TYPE_ID);
        event.setAttribute(MuseEvent.DESCRIPTION, message);
        event.addTag(MuseEvent.TERMINATE);
        return event;
        }

    public final static String TYPE_ID = "user-continue";
    }

package org.museautomation.builtins.step.userinput;

import org.museautomation.core.*;
import org.museautomation.core.events.*;

/**
 * @author Christopher L Merrill (see LICENSE.txt for license details)
 */
public class UserContinueEventType extends EventType
    {
    public UserContinueEventType()
        {
        super(TYPE_ID, "User Continue");
        }

    public static MuseEvent create(String message)
        {
        MuseEvent event = new MuseEvent(TYPE_ID);
        event.setAttribute(MuseEvent.DESCRIPTION, message);
        return event;
        }

    public static MuseEvent createAbort(String message)
        {
        MuseEvent event = new MuseEvent(TYPE_ID);
        event.setAttribute(MuseEvent.DESCRIPTION, message);
        event.addTag(MuseEvent.TERMINATE);
        event.addTag(MuseEvent.ERROR);
        return event;
        }

    public final static String TYPE_ID = "user-continue";
    }

Add ERROR tag to UserCOntinueEventType when aborting. This also forces pause in the UI.


/*************************************************************************
 *                                                                       *
 * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith.       *
 * All rights reserved.  Email: russ@q12.org   Web: www.q12.org          *
 *                                                                       *
 * This library is free software; you can redistribute it and/or         *
 * modify it under the terms of EITHER:                                  *
 *   (1) The GNU Lesser General Public License as published by the Free  *
 *       Software Foundation; either version 2.1 of the License, or (at  *
 *       your option) any later version. The text of the GNU Lesser      *
 *       General Public License is included with this library in the     *
 *       file LICENSE.TXT.                                               *
 *   (2) The BSD-style license that is included with this library in     *
 *       the file LICENSE-BSD.TXT.                                       *
 *                                                                       *
 * This library is distributed in the hope that it will be useful,       *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files    *
 * LICENSE.TXT and LICENSE-BSD.TXT for more details.                     *
 *                                                                       *
 *************************************************************************/

module ord.ode4j.cpp {
    requires transitive org.ode4j;

    exports org.ode4j.cpp.internal;
    exports org.ode4j.cpp;
}

/*************************************************************************
 *                                                                       *
 * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith.       *
 * All rights reserved.  Email: russ@q12.org   Web: www.q12.org          *
 *                                                                       *
 * This library is free software; you can redistribute it and/or         *
 * modify it under the terms of EITHER:                                  *
 *   (1) The GNU Lesser General Public License as published by the Free  *
 *       Software Foundation; either version 2.1 of the License, or (at  *
 *       your option) any later version. The text of the GNU Lesser      *
 *       General Public License is included with this library in the     *
 *       file LICENSE.TXT.                                               *
 *   (2) The BSD-style license that is included with this library in     *
 *       the file LICENSE-BSD.TXT.                                       *
 *                                                                       *
 * This library is distributed in the hope that it will be useful,       *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files    *
 * LICENSE.TXT and LICENSE-BSD.TXT for more details.                     *
 *                                                                       *
 *************************************************************************/

module org.ode4j.cpp {
    requires transitive org.ode4j;

    exports org.ode4j.cpp.internal;
    exports org.ode4j.cpp;
}

Correct module name (ord.ode4j -> org.ode4j)


package ch.hevs.aislab.magpie.debs.retrofit;

import ch.hevs.aislab.magpie.debs.model.RequestSubscriptionResult;
import retrofit.http.Body;
import retrofit.http.POST;
import retrofit.http.Path;

public interface SubscriberSvcApi {

    String SUBSCRIBER_ID = "subId";

    String SUBSCRIBER_SVC = "/subscriber";
    String SUBSCRIBER_SUBSCRIBE_SVC = SUBSCRIBER_SVC + "/{" + SUBSCRIBER_ID + "}/subscribe";

    @POST(SUBSCRIBER_SUBSCRIBE_SVC)
    RequestSubscriptionResult doSubscriptionByUsername(
            @Path(SUBSCRIBER_ID) long subId, @Body String pubUsername);
}

package ch.hevs.aislab.magpie.debs.retrofit;

import java.util.Collection;

import ch.hevs.aislab.magpie.debs.model.GlucoseAlert;
import ch.hevs.aislab.magpie.debs.model.RequestSubscriptionResult;
import retrofit.http.Body;
import retrofit.http.GET;
import retrofit.http.POST;
import retrofit.http.Path;
import retrofit.http.Query;

public interface SubscriberSvcApi {

    String SUBSCRIBER_ID = "subId";
    String PUBLISHER_ID = "pubId";

    String SUB_SVC = "/subscriber";
    String SUB_SUBSCRIBE_SVC = SUB_SVC + "/{" + SUBSCRIBER_ID + "}/subscribe";
    String SUB_ALERTS_SVC = SUB_SVC + "/{" + SUBSCRIBER_ID + "}/alertsByUser";

    @POST(SUB_SUBSCRIBE_SVC)
    RequestSubscriptionResult doSubscriptionByUsername(
            @Path(SUBSCRIBER_ID) long subId, @Body String pubUsername);

    @GET(SUB_ALERTS_SVC)
    Collection<GlucoseAlert> getAlertsByUser(
            @Path(SUBSCRIBER_ID) long subId, @Query(PUBLISHER_ID) long pubId);
}

Add method to get alerts


/**
 * Copyright (C) 2010 hprange <hprange@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.woinject;

import com.google.inject.Injector;

/**
 * @author Henrique Prange
 */
public class Interceptor {
    public static Object injectMembers(Object object) {
	Injector injector = InjectableApplication.application().injector();

	if (injector == null) {
	    return object;
	}

	injector.injectMembers(object);

	return object;
    }

    // public static Object intercept(Class<?> clazz, Object[] parameters) {
    // System.out.println("\tClass: " + clazz + " Parameters: " +
    // java.util.Arrays.toString(parameters));
    //
    // if (WOSession.class.isAssignableFrom(clazz)) {
    // System.out.println("Creating an instace of " + clazz.getName());
    //
    // Object instance = injector().getInstance(clazz);
    //
    // return instance;
    // }
    //
    // if (EOEnterpriseObject.class.isAssignableFrom(clazz)) {
    // System.out.println("Creating an instace of " + clazz.getName());
    //
    // Object instance = injector().getInstance(clazz);
    //
    // return instance;
    // }
    //
    // return null;
    // }
}

Add the missing license header


package avs.models;

public class ZombieSummoner implements Runnable{
	private Thread thread;
	private boolean isHugeWave;

	public ZombieSummoner(){
		this.thread = new Thread(this);
	}

	public void run(){
		try {
            Thread.sleep(30000);
            while (true) {
            	if(!isHugeWave){
            		Game.getInstance().createZombie();
               		Thread.sleep(10000);
            	}else{
            		Thread.sleep(3000);
            		for(int i = 0; i < 10; i++){
            			Game.getInstance().createZombie();
               			Thread.sleep(5000);
            		}
            		isHugeWave = false;
            	}
            }
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
	}

	public void start(){
		this.thread.start();
	}

	public void setIsHugeWave(boolean isHugeWave){
		this.isHugeWave = isHugeWave;
	}

	public boolean getIsHugeWave(){
		return this.isHugeWave;
	}
}

package avs.models;

public class ZombieSummoner implements Runnable{
	private Thread thread;
	private boolean isHugeWave;

	public ZombieSummoner(){
		this.thread = new Thread(this);
	}

	public void run(){
		try {
            Thread.sleep(30000);
            while (true) {
            	if(!isHugeWave){
            		Game.getInstance().createZombie();
               		Thread.sleep(10000);
            	}else{
            		Thread.sleep(3000);
            		for(int i = 0; i < 10; i++){
            			Game.getInstance().createZombie();
               			Thread.sleep(3000);
            		}
            		isHugeWave = false;
            	}
            }
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
	}

	public void start(){
		this.thread.start();
	}

	public void setIsHugeWave(boolean isHugeWave){
		this.isHugeWave = isHugeWave;
	}

	public boolean getIsHugeWave(){
		return this.isHugeWave;
	}
}

Update huge wave zombie spawn delay.


package org.globus.swift.data.policy;

import java.util.List;

public class Local extends Policy {

    public String toString() {
        return "PULL";
    }

    @Override
    public void settings(List<String> tokens) {
    }
}

package org.globus.swift.data.policy;

import java.util.List;

public class Local extends Policy {

    public String toString() {
        return "LOCAL";
    }

    @Override
    public void settings(List<String> tokens) {
    }
}

Change the toString() name of CDM LOCAL from "PULL" to "LOCAL"


package com.moyinoluwa.makeupsearch.presentation.search;

/**
 * Created by moyinoluwa on 2/8/17.
 */

public interface MakeUpSearchContract {
}

package com.moyinoluwa.makeupsearch.presentation.search;

import com.moyinoluwa.makeupsearch.data.remote.model.MakeUpList;
import com.moyinoluwa.makeupsearch.presentation.base.MvpPresenter;
import com.moyinoluwa.makeupsearch.presentation.base.MvpView;
import com.moyinoluwa.makeupsearch.presentation.select_product.SelectProductContract;

import java.util.List;

/**
 * Created by moyinoluwa on 2/8/17.
 */

public interface MakeUpSearchContract {

    interface View extends MvpView {
        void showSearchResults(List<MakeUpList> makeUpListList);

        void showError(String message);

        void showLoading();

        void hideLoading();
    }

    interface Presenter extends MvpPresenter<SelectProductContract.View> {
        void search(String term);
    }
}

Create Make Up Search contract


package net.mueller_martin.turirun;

import java.util.HashMap;
import java.util.ArrayList;
import net.mueller_martin.turirun.gameobjects.GameObject;

/**
 * Created by DM on 06.11.15.
 */
public class ObjectController {

	private static int next_id = 0;
	private HashMap<Integer,GameObject> objs_map = new HashMap<Integer,GameObject>();
	private ArrayList<GameObject> objs = new ArrayList<GameObject>();

	public void addObject(GameObject obj) {
		this.next_id++;

		int id = next_id;
		obj.id = next_id;

		objs_map.put(id, obj);
		objs.add(obj);
	}

	public void removeObject(GameObject obj) {
		objs_map.remove(obj.id);
		objs.remove(obj);
	}

	public ArrayList<GameObject> getObjects() {
		return objs;
	}

	public GameObject getObject(int id) {
		return objs_map.get(id);
	}
}

package net.mueller_martin.turirun;

import java.util.HashMap;
import java.util.ArrayList;
import net.mueller_martin.turirun.gameobjects.GameObject;

/**
 * Created by DM on 06.11.15.
 */
public class ObjectController {

	private HashMap<Integer,GameObject> objs_map = new HashMap<Integer,GameObject>();
	private ArrayList<GameObject> objs = new ArrayList<GameObject>();

	public void addObject(GameObject obj) {
		objs.add(obj);
	}

	public void addObject(int id, GameObject obj) {
		obj.id = id;

		objs_map.put(id, obj);
		objs.add(obj);
	}

	public void removeObject(GameObject obj) {
		objs_map.remove(obj.id);
		objs.remove(obj);
	}

	public ArrayList<GameObject> getObjects() {
		return objs;
	}

	public GameObject getObject(int id) {
		return objs_map.get(id);
	}
}

Remove ID from default GameObjects


package water.api;

import water.Key;
import water.ValueArray;

import com.google.gson.JsonObject;

public class SetColumnNames extends Request {

  protected final H2OHexKey _tgtKey = new H2OHexKey("target");

  private class HeaderKey extends H2OHexKey {
    public HeaderKey(){super("source");}
    @Override protected ValueArray parse(String input) throws IllegalArgumentException {
      ValueArray res = super.parse(input);
      if(res.numCols() != _tgtKey.value().numCols())
        throw new IllegalArgumentException("number of columns don't match!");
      return res;
    }
  }
  protected final HeaderKey _srcKey = new HeaderKey();

  @Override protected Response serve() {
    ValueArray tgt = _tgtKey.value();
    tgt.setColumnNames(_srcKey.value().colNames());
    return Inspect.redirect(new JsonObject(), tgt._key);
  }
  public static String link(Key k, String s){
    return "" + s + "";
  }
}

package water.api;

import water.*;

import com.google.gson.JsonObject;

public class SetColumnNames extends Request {

  protected final H2OHexKey _tgtKey = new H2OHexKey("target");

  private class HeaderKey extends H2OHexKey {
    public HeaderKey(){super("source");}
    @Override protected ValueArray parse(String input) throws IllegalArgumentException {
      ValueArray res = super.parse(input);
      if(res.numCols() != _tgtKey.value().numCols())
        throw new IllegalArgumentException("number of columns don't match!");
      return res;
    }
  }
  protected final HeaderKey _srcKey = new HeaderKey();

  @Override protected Response serve() {
    ValueArray tgt = _tgtKey.value();
    tgt.setColumnNames(_srcKey.value().colNames());
    // Must write in the new header.  Must use DKV instead of UKV, because do
    // not want to delete the underlying data.
    Futures fs = new Futures();
    DKV.put(tgt._key,tgt,fs);
    fs.blockForPending();
    return Inspect.redirect(new JsonObject(), tgt._key);
  }
  public static String link(Key k, String s){
    return "" + s + "";
  }
}

Fix header names not getting written back


/*
 * Copyright (c) Microsoft Corporation. All rights reserved.
 *
 * This program is made available under the terms of the MIT License.
 * See the LICENSE file in the project root for more information.
 */
package com.microsoft.dhalion.detector;

import java.util.HashMap;
import java.util.Map;

import com.microsoft.dhalion.metrics.ComponentMetrics;

/**
 * A {@link Symptom} identifies an anomaly or a potential health issue in a specific component of a
 * distributed application. For e.g. identification of irregular processing latency.
 */
public class Symptom {
  private String name;
  private Map<String, ComponentMetrics> metrics = new HashMap<>();

  public Symptom(String symptomName, ComponentMetrics metrics) {
    this.name = symptomName;
    addComponentMetrics(metrics);
  }

  public synchronized void addComponentMetrics(ComponentMetrics metrics) {
    this.metrics.put(metrics.getName(), metrics);
  }

  public String getName() {
    return name;
  }

  public Map<String, ComponentMetrics> getComponents() {
    return metrics;
  }

  /**
   * @return the only component exhibiting this symptom
   */
  public synchronized ComponentMetrics getComponent() {
    if (metrics.size() > 1) {
      throw new IllegalStateException();
    }

    return metrics.values().iterator().next();
  }

  @Override
  public String toString() {
    return "Symptom{" +
        "name=" + name +
        ", metrics=" + metrics +
        '}';
  }
}

/*
 * Copyright (c) Microsoft Corporation. All rights reserved.
 *
 * This program is made available under the terms of the MIT License.
 * See the LICENSE file in the project root for more information.
 */
package com.microsoft.dhalion.detector;

import java.util.HashMap;
import java.util.Map;

import com.microsoft.dhalion.metrics.ComponentMetrics;

/**
 * A {@link Symptom} identifies an anomaly or a potential health issue in a specific component of a
 * distributed application. For e.g. identification of irregular processing latency.
 */
public class Symptom {
  private String name;
  private Map<String, ComponentMetrics> metrics = new HashMap<>();

  public Symptom(String symptomName) {
    this.name = symptomName;
  }

  public Symptom(String symptomName, ComponentMetrics metrics) {
    this.name = symptomName;
    addComponentMetrics(metrics);
  }

  public synchronized void addComponentMetrics(ComponentMetrics metrics) {
    this.metrics.put(metrics.getName(), metrics);
  }

  public String getName() {
    return name;
  }

  public Map<String, ComponentMetrics> getComponents() {
    return metrics;
  }

  /**
   * @return the only component exhibiting this symptom
   */
  public synchronized ComponentMetrics getComponent() {
    if (metrics.size() > 1) {
      throw new IllegalStateException();
    }

    return metrics.values().iterator().next();
  }

  @Override
  public String toString() {
    return "Symptom{" +
        "name=" + name +
        ", metrics=" + metrics +
        '}';
  }
}

Allow creation of a no metric symptom


package com.github.sormuras.bach.internal;

import static java.lang.ModuleLayer.defineModulesWithOneLoader;
import static java.lang.module.Configuration.resolveAndBind;

import com.github.sormuras.bach.Bach;
import java.lang.module.ModuleFinder;
import java.util.List;
import java.util.Set;

public interface ModuleLayerSupport {
  static ModuleLayer layer(ModuleFinder finder, boolean assertions, String... roots) {
    var parentClassLoader = Bach.class.getClassLoader();
    var parentModuleLayer = ModuleLayer.boot();
    var parents = List.of(parentModuleLayer.configuration());
    var configuration = resolveAndBind(ModuleFinder.of(), parents, finder, Set.of(roots));
    var layers = List.of(parentModuleLayer);
    var controller = defineModulesWithOneLoader(configuration, layers, parentClassLoader);
    var layer = controller.layer();
    if (assertions) for (var root : roots) layer.findLoader(root).setDefaultAssertionStatus(true);
    return layer;
  }
}

package com.github.sormuras.bach.internal;

import static java.lang.ModuleLayer.defineModulesWithOneLoader;
import static java.lang.module.Configuration.resolveAndBind;

import java.lang.module.ModuleFinder;
import java.util.List;
import java.util.Set;

public interface ModuleLayerSupport {
  static ModuleLayer layer(ModuleFinder finder, boolean assertions, String... roots) {
    var parentClassLoader = ModuleLayerSupport.class.getClassLoader();
    var parentModuleLayer = ModuleLayer.boot();
    var parents = List.of(parentModuleLayer.configuration());
    var configuration = resolveAndBind(ModuleFinder.of(), parents, finder, Set.of(roots));
    var layers = List.of(parentModuleLayer);
    var controller = defineModulesWithOneLoader(configuration, layers, parentClassLoader);
    var layer = controller.layer();
    if (assertions) for (var root : roots) layer.findLoader(root).setDefaultAssertionStatus(true);
    return layer;
  }
}

Use local class to determine parent loader


/*
 * Copyright 2012 NGDATA nv
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.lilyproject.indexer.event;

import com.ngdata.sep.WALEditFilter;
import com.ngdata.sep.WALEditFilterProvider;

/**
 * Provides configured instances of {@link IndexerEditFilter} for SEP subscriptions that are related
 * to an {@code IndexUpdater}.
 */
public class IndexerEditFilterProvider implements WALEditFilterProvider {

    @Override
    public WALEditFilter getWALEditFilter(String subscriptionId) {
        if (subscriptionId.startsWith("IndexUpdater_")) {
            return new IndexerEditFilter(subscriptionId);
        } else if ("LinkIndexUpdater".equals(subscriptionId)) {
            return new LinkIndexUpdaterEditFilter();
        } else {
            return null;
        }
    }

}

/*
 * Copyright 2012 NGDATA nv
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.lilyproject.indexer.event;

import com.ngdata.sep.WALEditFilter;
import com.ngdata.sep.WALEditFilterProvider;

/**
 * Provides configured instances of {@link IndexerEditFilter} for SEP subscriptions that are related
 * to an {@code IndexUpdater}.
 */
public class IndexerEditFilterProvider implements WALEditFilterProvider {

    @Override
    public WALEditFilter getWALEditFilter(String subscriptionId) {
        if (subscriptionId.startsWith("Indexer_")) {
            return new IndexerEditFilter(subscriptionId);
        } else if ("LinkIndexUpdater".equals(subscriptionId)) {
            return new LinkIndexUpdaterEditFilter();
        } else {
            return null;
        }
    }

}

Change subscription name to match hbase indexer


package com.cedricziel.idea.fluid.codeInsight;

import com.cedricziel.idea.fluid.lang.psi.FluidFile;
import com.cedricziel.idea.fluid.util.FluidUtil;
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerInfo;
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider;
import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.psi.PsiElement;
import com.jetbrains.php.lang.psi.elements.Method;
import icons.FluidIcons;
import org.jetbrains.annotations.NotNull;

import java.util.Collection;

public class ControllerLineMarkerProvider extends RelatedItemLineMarkerProvider {
    @Override
    protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo> result) {
        if (!PlatformPatterns.psiElement(Method.class).withName(PlatformPatterns.string().endsWith("Action")).accepts(element)) {
            return;
        }

        Collection<FluidFile> possibleMatchedTemplates = FluidUtil.findTemplatesForControllerAction((Method) element);
        if (possibleMatchedTemplates.size() > 0) {
            result.add(
                NavigationGutterIconBuilder
                    .create(FluidIcons.TEMPLATE_LINE_MARKER)
                    .setTargets(possibleMatchedTemplates)
                    .setTooltipText("Navigate to template")
                    .createLineMarkerInfo(element)
            );
        }
    }
}

package com.cedricziel.idea.fluid.codeInsight;

import com.cedricziel.idea.fluid.lang.psi.FluidFile;
import com.cedricziel.idea.fluid.util.FluidUtil;
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerInfo;
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider;
import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.psi.PsiElement;
import com.jetbrains.php.lang.lexer.PhpTokenTypes;
import com.jetbrains.php.lang.psi.elements.Method;
import icons.FluidIcons;
import org.jetbrains.annotations.NotNull;

import java.util.Collection;

public class ControllerLineMarkerProvider extends RelatedItemLineMarkerProvider {
    @Override
    protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo> result) {
        if (!PlatformPatterns.psiElement(PhpTokenTypes.IDENTIFIER).withParent(PlatformPatterns.psiElement(Method.class).withName(PlatformPatterns.string().endsWith("Action"))).accepts(element)) {
            return;
        }

        Collection<FluidFile> possibleMatchedTemplates = FluidUtil.findTemplatesForControllerAction((Method) element.getParent());
        if (possibleMatchedTemplates.size() > 0) {
            result.add(
                NavigationGutterIconBuilder
                    .create(FluidIcons.TEMPLATE_LINE_MARKER)
                    .setTargets(possibleMatchedTemplates)
                    .setTooltipText("Navigate to template")
                    .createLineMarkerInfo(element)
            );
        }
    }
}

Add lineMarker for template to identifier to prevent flickering


package cl.fatman.capital.fund;

public class App
{
    public static void main( String[] args )
    {
    	Controller control = Controller.getInstance();
    	control.setUp();
        System.out.println( "Starting application that load the funds data in the database.");
        control.storeFundData();
        control.tearDown();
        System.out.println( "Finishing application that load the funds data in the database.");
    }
}

package cl.fatman.capital.fund;

public class App
{
    public static void main( String[] args )
    {
    	Controller control = Controller.getInstance();
    	control.setUp();
        System.out.println( "Starting application that load the funds data in the database.");
        control.storeFundData();
        control.storeFomentUnitData();
        control.tearDown();
        System.out.println( "Finishing application that load the funds data in the database.");
    }
}

Include in the application the function to update the foment unit value.


// Copyright 2016 Google Inc. All Rights Reserved.
package com.google.copybara;

import com.google.common.truth.Truth;
import com.google.copybara.config.Config;
import com.google.copybara.config.Config.Yaml;

import com.beust.jcommander.internal.Nullable;

import org.junit.Test;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

public class CopybaraTest {

  @Test
  public void doNothing() throws IOException, RepoException {
    Config.Yaml config = new Config.Yaml();
    config.setName("name");
    config.setSourceOfTruth(new Repository.Yaml() {
      @Override
      public Repository withOptions(Options options) {
        return new Repository() {
          @Override
          public void checkoutReference(@Nullable String reference, Path workdir)
              throws RepoException {
            try {
              Files.createDirectories(workdir);
              Files.write(workdir.resolve("file.txt"), reference.getBytes());
            } catch (IOException e) {
              throw new RepoException("Unexpected error", e);
            }
          }
        };
      }
    });
    config.setDestinationPath("src/copybara");
    Path workdir = Files.createTempDirectory("workdir");
    new Copybara(workdir).runForSourceRef(config.withOptions(new Options()), "some_sha1");
    Truth.assertThat(Files.readAllLines(workdir.resolve("file.txt"))).contains("some_sha1");
  }
}

// Copyright 2016 Google Inc. All Rights Reserved.
package com.google.copybara;

import com.google.common.truth.Truth;
import com.google.copybara.config.Config;

import com.beust.jcommander.internal.Nullable;

import org.junit.Test;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;

public class CopybaraTest {

  @Test
  public void doNothing() throws IOException, RepoException {
    Config.Yaml config = new Config.Yaml();
    config.setName("name");
    config.setSourceOfTruth(new Repository.Yaml() {
      @Override
      public Repository withOptions(Options options) {
        return new Repository() {
          @Override
          public void checkoutReference(@Nullable String reference, Path workdir)
              throws RepoException {
            try {
              Files.createDirectories(workdir);
              Files.write(workdir.resolve("file.txt"), reference.getBytes());
            } catch (IOException e) {
              throw new RepoException("Unexpected error", e);
            }
          }
        };
      }
    });
    config.setDestinationPath("src/copybara");
    Path workdir = Files.createTempDirectory("workdir");
    new Copybara(workdir).runForSourceRef(config.withOptions(new Options()), "some_sha1");
    Truth.assertThat(Files.readAllLines(workdir.resolve("file.txt"), StandardCharsets.UTF_8))
        .contains("some_sha1");
  }
}

Use the method available in Java 7 instead of the one in Java 8


package io.techery.progresshint.addition;

import android.graphics.Point;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.SeekBar;
import io.techery.progresshint.ProgressHintDelegate;

public class HorizontalProgressHintDelegate extends ProgressHintDelegate {

  public HorizontalProgressHintDelegate(SeekBar seekBar, AttributeSet attrs, int defStyleAttr) {
    super(seekBar, attrs, defStyleAttr);
  }

  @Override protected PointF getHintDragCoordinates(MotionEvent event) {
    float x = event.getRawX() - mSeekBar.getX();
    float y = mSeekBar.getY();
    return new PointF(x, y);
  }

  @Override protected Point getFixedHintOffset() {
    int xOffset = getHorizontalOffset(mSeekBar.getMax() / 2);
    int yOffset = getVerticalOffset();
    return new Point(xOffset, yOffset);
  }

  @Override protected Point getFollowHintOffset() {
    int xOffset = getHorizontalOffset(mSeekBar.getProgress());
    int yOffset = getVerticalOffset();
    return new Point(xOffset, yOffset);
  }

  private int getHorizontalOffset(int progress) {
    return getFollowPosition(progress) - mPopupView.getMeasuredWidth() / 2 + mSeekBar.getHeight() / 2;
  }

  private int getVerticalOffset() {
    return -(mSeekBar.getHeight() + mPopupView.getMeasuredHeight() + mPopupOffset);
  }
}

package io.techery.progresshint.addition;

import android.graphics.Point;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.SeekBar;
import io.techery.progresshint.ProgressHintDelegate;

public class HorizontalProgressHintDelegate extends ProgressHintDelegate {

  public HorizontalProgressHintDelegate(SeekBar seekBar, AttributeSet attrs, int defStyleAttr) {
    super(seekBar, attrs, defStyleAttr);
  }

  @Override protected PointF getHintDragCoordinates(MotionEvent event) {
    float x = event.getRawX() - mSeekBar.getX();
    float y = mSeekBar.getY();
    return new PointF(x, y);
  }

  @Override protected Point getFixedHintOffset() {
    int xOffset = getHorizontalOffset(mSeekBar.getMax() / 2);
    int yOffset = getVerticalOffset();
    return new Point(xOffset, yOffset);
  }

  @Override protected Point getFollowHintOffset() {
    int xOffset = getHorizontalOffset(mSeekBar.getProgress());
    int yOffset = getVerticalOffset();
    return new Point(xOffset, yOffset);
  }

  private int getHorizontalOffset(int progress) {
    return getFollowPosition(progress) - mPopupView.getMeasuredWidth() / 2 + mSeekBar.getHeight() / 2 + 15;
  }

  private int getVerticalOffset() {
    return -(mSeekBar.getHeight() + mPopupView.getMeasuredHeight() + mPopupOffset);
  }
}

Improve (possibly) popup offset for horizontal seekbar


package org.ihtsdo.buildcloud.service.exception;

public class EntityAlreadyExistsException extends Exception {

	public EntityAlreadyExistsException() {
		super("Entity already exists.");
	}
}

package org.ihtsdo.buildcloud.service.exception;

public class EntityAlreadyExistsException extends Exception {

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	public EntityAlreadyExistsException() {
		super("Entity already exists.");
	}

	public EntityAlreadyExistsException(String string) {
		super("Entity already exists.");
	}
}

Add support for additional information when detecting entity already exists.