Skip to content

Instantly share code, notes, and snippets.

View mgenov's full-sized avatar

Miroslav Genov mgenov

View GitHub Profile
@mgenov
mgenov / InjectingMapReduceServlet.java
Created August 16, 2011 11:47
InjectingMapReduceServlet.java
import com.google.appengine.tools.mapreduce.AppEngineMapper;
import com.google.appengine.tools.mapreduce.MapReduceServlet;
import com.google.appengine.tools.mapreduce.MapperFactory;
import com.google.inject.Inject;
import com.google.inject.Injector;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.util.ReflectionUtils;
/**
@mgenov
mgenov / HacketDateInput.java
Created July 20, 2011 11:54
HacketDateInput.java
public class DateInput implements Validatable {
public interface Display {
HasValue<Date> getDate();
void showError(boolean error);
void clear();
@mgenov
mgenov / TwigConvertersSample.java
Created July 13, 2011 13:50
TwigConvertersSample.java
public enum MyEnum {
TEST, ABC
}
public static class Bar {
@Id
Integer myKey;
Map<MyEnum, Integer> map = new HashMap<MyEnum, Integer>();
}
@mgenov
mgenov / ReceiptItemBuilder.java
Created July 12, 2011 10:24
ReceiptItemBuilder.java
public static class ReceiptItemBuilder {
private DateTime from;
private DateTime to;
private String name;
private Double quantity;
private Double price;
private Double discount;
private String referenceId;
public ReceiptItemBuilder from(DateTime from) {
@mgenov
mgenov / PrintArrayTest.java
Created July 1, 2011 08:59
PrintArrayTest.java
public class PrintArrayTest {
interface Display {
void print(String message);
}
public void printArray(int[] array, Display display) {
int index = 0;
for (int item : array) {
display.print("array[" + index + "]=" + item + ",");
@mgenov
mgenov / Sample.java
Created July 1, 2011 08:56
Sourcing Sample
class Sample {
interface Source<T> {
T get();
}
class WordsSource implements Source<List<Word>> {
private final Document document;
private final List<String> listOfWords;
@mgenov
mgenov / LearnToUseTaskQueueApiTest.java
Created June 8, 2011 13:50
LearnToUseTaskQueueApiTest
import com.google.appengine.api.taskqueue.Queue;
import com.google.appengine.api.taskqueue.QueueFactory;
import com.google.appengine.api.taskqueue.TaskQueuePb;
import com.google.appengine.api.taskqueue.dev.LocalTaskQueueCallback;
import com.google.appengine.api.urlfetch.URLFetchServicePb;
import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig;
import com.google.appengine.tools.development.testing.LocalServiceTestHelper;
import com.google.appengine.tools.development.testing.LocalTaskQueueTestConfig;
import com.google.apphosting.api.ApiProxy;
import org.junit.After;
public class PollingProvisioningServicePortType implements ProvisioningServicePortType {
private final ProvisioningServicePortType service;
public PollingProvisioningServicePortType(ProvisioningServicePortType service) {
this.service = service;
}
public String activateCustomer(final String cust_id) throws RemoteException {
return Polling.poll(new Poll<String>() {
@mgenov
mgenov / DeviceInstallationTest.java
Created May 4, 2011 08:15
Figuring out was is broken with the testing of GWT async class
@Test
public void installSingleDevice() {
selectedPremisesEquipment = PremisesEquipmentType.copper;
boxNumber.setText("box1");
macAddress.setText("00:aa");
serialNumber.setText("sn1");
presenter.onInstallInternetService("123");
InstallDeviceAction action = service.lastAction();
@mgenov
mgenov / Test.java
Created May 3, 2011 12:22
Applying value added services
log.info("Generate bills for " + billsCount + " months.");
log.info("Expiration date: " + expireDate);
List<BillEntity> bills = planner.getNextBills(services, lastBill, billsCount, paymentDay, expireDate, installationTax);
filterEmptyCharges(bills);
/**
* Apply value added services over generated bills.
*/
vasManager.applyValueAddedServices(contract, bills);