Collections.emptyMap() isn't picking up the correct type

I've got the following code:
public String toString(Map<String, String> args);
public String toString()
  return toString(Collections.emptyMap());
}this gives me a compiler error:
Cannot find symbol: toString(java.util.Map<java.lang.Object,java.lang.Object>)
In other words, it is picking up the wrong generic types. If, however, I use the following code:
public String toString()
  Map<String, String> t = Collections.emptyMap();
  return toString(t);
}it works fine. Any ideas why?
Thanks,
Gili

Cannot find symbol:
toString(java.util.Map<java.lang.Object,java.lang.Obje
ct>)
In other words, it is picking up the wrong generic
types. Apparent the compiler is not infering the types from the method parameters. I'm not sure that this is the correct behavior, but it would seem to me that it would be difficult to implement this kind of type inference correctly.
If it did infer the type from the method declaration, then if you later add a toString(Map<Object, Object>) what should the compiler do? Should it change which method is called? This would be create a binary compatiblity issue which I think was intentionally avoided.

Similar Messages

  • Price was not picking from the Condition type for Item Category 'P'  in PO

    Hi Experts,
    I Created one condition type based on Material and WBS which price was fixed based on this
    I used the Purchase Order having Item <b>Category ‘P’ or ‘Q’</b> Price should pick from the condition type where I mapped the WBS Element and Material.
    The Net price was not picking from the Condition type Record.  Why? What should be the Problem?
    Whether my logic is correct or not?
    <u><b>
    The Scenario:</b></u> I want to fix the Material price base on each WBS Element for a Project. For each WBS Element the Price will be various for same material.
    Please help on this.
    Thanks
    Muthukumar

    Hi,
    In standard configuration you cannot set item delivery date as a pricing data.
    Maybe you shoud look at SAP enchancement - in dedicated structures you can pass additional item data (structure KOKMP).
    IMG link:
    Materials Management -> Purchasing -> Conditions -> Define Price Determination Process -> System Enhancements
    hope it helps.
    regards,
    wojciech

  • Is this the correct type of Ram for a mac mini?

    I have a 2007 Mac mini, and want to go from 1gig to 2 gigs of Ram.
    I currently have 2 512's
    I need to know 2 things. (i'm pretty sure on both but i'm not a huge hardware guy to bare with me)
    1. Will there be any compatibility problems? I.e if i upgrade to 2 gigs will it even help or because the rest of the computer is not being upgraded will it be useless?
    2. If i'm good to go, Is this the correct type of Ram? http://www.crucial.com/store/mpartspecs.aspx?mtbpoid=4E665783A5CA7304
    Not sure if these are needed but will post anyway:
    Model Name: Mac mini
    Model Identifier: Macmini2,1
    Processor Name: Intel Core 2 Duo
    Processor Speed: 2 GHz
    Number Of Processors: 1
    Total Number Of Cores: 2
    L2 Cache: 4 MB
    Memory: 1 GB
    Bus Speed: 667 MHz
    Type: DDR2 SDRAM
    Thank you in advance <3

    NO, it will NOT work.
    You have to find the memory specific for Mac, and rule of thumb, Mac Intel chips usually take "ECC" memory. On occasions, You can get away with Non-ECC (on certain PPC Power Mac G5 towers) -- You can check on-line stores, like Newegg, Tigerdirect, or Goolge search for the Mac Mini memory. I got mine (for my two Mac 2,1) on line, and I put 4G (2x 2G), although only 3G was available.
    It is worth of upgrade it. just need to find the right memory.

  • 'You Are Not Using The Correct Type of Phone Cord' Error

    Having a issue with my fax on my HP Officejet Pro 8500 wireless.  Tried to send a fax, it  received a send error.  I ran fax test and it came back with "You are not using the correct type of phone cord".  Nothing has changed since I last fax'd but I check the lines and connection, everything appears ok.  Phone jack is connected to 1-line and Officejet '2-ext' is connected to the phone.  I use a dedicated phone # and the Officejet is set to auto answer.   I can call out and receive calls on the phone connect to the Officejet.  My assumption is that since I can use the phone without issue there is nothing wrong with the phone line.  Any ideas?
    This question was solved.
    View Solution.

    I was having the same problem.  I'm using a the 2 wire phone cord provided with the printer and still getting this error.  Turns out that it related to have a phone extension plugged into the printer.  If I unplug the telephone form the extension jack on the back of the printer, then the fax test passes.   I was even using a 2 wire cord on the phone extension but it seems that simply having a telephone plugged into the extension jack will cause this error. 
    Run the test without a telephone plugged into the printer's extension jack and you should be fine.
    Worked for me!

  • How the system picking up the Billing type in STO

    Hi All,
    Can anyone tell me how the system picking up the Billing type in intercompany STO
    Regards,
    Muthupandiyan

    Hi...
    With respect to my responce earlier given again as below: Actually DL order type is assigned to all Delivery types as no delivery W/O order ref can take place... so NLCC and also LF has Dl as pseudo order type where in IV is maintained and thats how IV can be done .... and rest is to maintain appropriate copy controls
    My earlier answer:
    Actually in STO .. u create delivery via VL10B and then create billing...
    so del type for intercompany STO is NLCC - in controls of NLCC (Tcode : OVLP), u can see "order reference" tab strip and it is written : (PO reqd and pseudo order - DL)
    Now goto details of DL (TCode: VOV8) and check the billing type for intercompany - IV is given .. this how it can allow us to create an intercompany billing.
    I hope i am clear
    Reward if useful
    Krishna

  • I purchased my MacBook Pro in late 2007, just before Leopard was released.  I want to upgrade my memory and need to know if DDR2-667 SoDimm PC2-5300 is the correct type.

    I purchased my MacBook Pro in late 2007, just before Leopard was released.  I want to upgrade my memory and need to know if DDR2-667 SoDimm PC2-5300 is the correct type.

    If you have to wonder which RAM is the correct type, you probably aren't buying from a store that will give you the right RAM.  Many stores specify model and vintage of Mac on their website to ensure you get the right RAM.  Check my FAQ*:
    http://www.macmaps.com/badram.html

  • Can anyone point me to the correct type of RAM to purchase for a MacBook Pro (15-inch, Mid 2009)?

    I have a MacBook Pro (15-inch, Mid 2009) that recently had some problems and I was forced to reinstall OSX and ended up upgrading to Yosemite (I was previously using Mavericks). Unfortunately I did not realize how much OSX 10.10 would slow down my computer, so I'm looking to upgrade my RAM from 4GB to 8GB to help resolve this. However, I don't really have a good idea what type of RAM I need aside from the fact that it needs to be 1066 MHz. I was hoping someone might be able to point me in the right direction as to what the exact type of RAM I need to purchase or possibly link me to a site where I could buy what I require. I know some people claim third party RAM doesn't work as well as memory that is made and/or sold by apple but I would prefer to go with whatever is cheapest.

    A 15" mid-2009 MBP RAM specifications are: 204-pin PC3-8500 (1066 MHz) DDR3 SO-DIMM.
    As has been pointed out, OWC is an excellent source for Mac compatible RAM.  Crucial is another first rate source for Mac RAM.  RAM from either vendor will work just as well as any purchased from Apple with the bonus of being less expensive and having a lifetime guarantee.
    Ciao.

  • Date picker for af:inputDate   is not picking up the correct input date

    view source:
    <af:inputDate value="#{bindings.DateField.attributeValue}" label="#{bindings.DateField.hints.label}"
    required="#{bindings.DateField.hints.mandatory}"
    valueChangeListener="#{pageFlowScope.CollectApplicantInformation.datesItemChanged}"
    columns="#{bindings.DateField.hints.displayWidth}" shortDesc="#{CustomTooltip[DateField]}"
    autoSubmit="true" helpTopicId="AppDt" id="DateField" simple="true">
    <f:validator binding="#{bindings.DateField.validator}"/>
    *<f:converter converterId="CustomConverter"/>*
    </af:inputDate>
    Here I am not using <af:ConvertDateTime> insted using customConverter, so what code changes do I need to make sure the date picker always picks the already existind date in the inputDate rather picking the current date?
    Here is my CustomConverter.java
    CustomConverter.java
    public class CustomConverter extends DateTimeConverter implements ClientConverter, Converter
    public Object getAsObject(FacesContext context, UIComponent component, String value)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType != null && !dataType.equalsIgnoreCase("oracle.jbo.domain.Date") && !dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    String test = null;
    if (context == null || component == null)
    throw new NullPointerException();
    if (value != null)
    // To solve DB transaction dirty issue, Check isEmpty and return null.
    if (value.isEmpty())
    return null;
    // the "value" is stored on the value property of the component.
    // The Unified EL allows us to check the type
    ValueExpression expression = component.getValueExpression("value");
    if (expression != null)
    Class<?> expectedType = expression.getType(context.getELContext());
    if (expectedType != null)
    System.out.println("expectedType Value:::" + expectedType.getName());
    // try to convert the value (Object) to the TYPE of the "value" property
    // of the underlying JSF component
    try
    return TypeFactory.getInstance(expectedType, value);
    catch (DataCreationException e)
    String errorMessage;
    if (expectedType.equals(CustomNumber.class))
    errorMessage = "You can enter only Numbers in this field";
    else
    errorMessage = e.getMessage();
    if (errorMessage != null)
    FacesContext ctx = FacesContext.getCurrentInstance();
    FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Invalid Format" , errorMessage);
    ctx.addMessage(component.getClientId(), fm);
    catch (CustomDomainException e)
    int errorCode = e.getErrorMessageCode();
    String[] errorMessage = e.getErrorMessageParams();
    if (errorCode == 7 && errorMessage != null)
    String msg = "Invalid " + errorMessage[0];
    FacesContext ctx = FacesContext.getCurrentInstance();
    FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Application Error: ", msg);
    ctx.addMessage(component.getClientId(), fm);
    catch (JboException e)
    Throwable cause = e.getCause();
    if (cause == null)
    cause = e;
    test = "not good format";
    throw e;
    return null;
    else
    return value != null? value: null;
    public String getAsString(FacesContext context, UIComponent component, Object value)
    return value != null? value.toString(): null;
    public String getClientLibrarySource(FacesContext context)
    return null;
    @Override
    public Collection<String> getClientImportNames()
    return Collections.emptySet();
    @Override
    public String getClientScript(FacesContext context, UIComponent component)
    String formatMask = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (formatMask != null)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType.equalsIgnoreCase("oracle.jbo.domain.Date") || dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    if (component == null)
    _LOG.severe("The component is null, but it is needed for the client id, so no script written");
    return null;
    // Add a JavaScript Object to store the datefield formats
    // on the client-side. We currently store the format string
    // for each and every field. It'd be more efficient to have
    // an array of formats, then store for each field the
    // index of the format, especially if we could delay outputting
    // these objects to when the <form> closes.
    String clientId = component.getClientId(context);
    if (clientId != null)
    // =-=AEW Only if Javascript...
    Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
    // this fetch could be at the place where we append, but has been
    // moved ahead to optimize use of StringBuilder
    String jsPattern = getJSPattern(context, component);
    String loc = _getLocaleString(context);
    // FIX - figure out size!!!
    // 127 chars for javascript + length of jspattern + locale + 12 chars for
    // tranforming to name in the worst case.
    StringBuilder buff = new StringBuilder(139 + jsPattern.length() + loc.length());
    if (requestMap.get(_PATTERN_WRITTEN_KEY) == null)
    requestMap.put(_PATTERN_WRITTEN_KEY, Boolean.TRUE);
    // only create the _dfs object if it doesn't exist, so we don't
    // wipe out _dfs[xxx] values if we ppr the first date field on a
    // page with multiple date fields.
    buff.append("if(window['_dfs'] == undefined){var _dfs=new Object();}if(window['_dl'] == undefined){var _dl=new Object();}");
    buff.append("_dfs[\"");
    buff.append(clientId);
    buff.append("\"]=");
    buff.append(jsPattern);
    buff.append(";");
    buff.append("_dl[\"");
    buff.append(clientId);
    buff.append("\"]=");
    buff.append(loc);
    buff.append(";");
    return buff.toString();
    else
    LOG.severe("NULLCLINET_ID_NO_SCRIPT_RENDERED");
    return null;
    else
    return null;
    else
    return null;
    private String _getLocaleString(FacesContext context)
    Locale dateTimeConverterLocale = getLocale();
    if (dateTimeConverterLocale != null)
    Locale defaultLocale = RenderingContext.getCurrentInstance().getLocaleContext().getFormattingLocale();
    if (!(dateTimeConverterLocale.equals(defaultLocale)))
    String loc = dateTimeConverterLocale.toString();
    StringBuffer sb = new StringBuffer(2 + loc.length());
    sb.append("'");
    sb.append(loc);
    sb.append("'");
    return (sb.toString());
    return "null";
    @Override
    @Deprecated
    public String getClientConversion(FacesContext context, UIComponent component)
    String formatMask = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (formatMask != null)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType.equalsIgnoreCase("oracle.jbo.domain.Date") || dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    String jsPattern = getJSPattern(context, component);
    Map<String, String> messages = new HashMap<String, String>();
    if (jsPattern != null)
    Class<?> formatclass = formatMask.getClass();
    System.out.println("FormatClass::" + formatclass);
    System.out.println(" Format Mask : " + formatMask);
    // SimpleDateFormat sdfDestination = new SimpleDateFormat(formatMask);
    String pattern = formatMask; //getPattern();
    if (pattern == null)
    pattern = getSecondaryPattern();
    String key = getViolationMessageKey(pattern);
    Object[] params = new Object[]
    { "{0}", "{1}", "{2}" };
    Object msgPattern = getMessagePattern(context, key, params, component);
    //if hintFormat is null, no custom hint for date, time or both has been specified
    String hintFormat = _getHint();
    FacesMessage msg = null;
    String detailMessage = null;
    if (msgPattern != null)
    msg = MessageFactory.getMessage(context, key, msgPattern, params, component);
    detailMessage = XhtmlLafUtils.escapeJS(msg.getDetail());
    Locale loc = context.getViewRoot().getLocale();
    SimpleDateFormat formatter = new SimpleDateFormat(pattern, loc);
    java.lang.Object obj = resolveExpression("#{bindings." + component.getId() + ".attributeValue}");
    String databaseDate=null;
    if(obj!=null)
    databaseDate = obj.toString();
    DateFormat df = new SimpleDateFormat(pattern,loc);
    System.out.println("DateComponent input value :::::::::::::::::::::::::"+databaseDate);
    Date today;
    try {
    // System.out.println("Before Conversion::::::::::::"+df.parse(databaseDate).toString());
    if(databaseDate!=null)
    today = df.parse(databaseDate);
    else
    today = new Date();
    System.out.println("After Conversion Date :::::::::::::::::::::::::::::"+today.toString());
    //Date today = new Date();
    String dt = formatter.format(today);
    String exampleString = dt;
    String escapedType = XhtmlLafUtils.escapeJS(getType().toUpperCase());
    StringBuilder outBuffer = new StringBuilder();
    outBuffer.append("new TrDateTimeConverter(");
    outBuffer.append(jsPattern);
    // loc = getLocale();
    if (loc != null)
    outBuffer.append(",'");
    outBuffer.append(loc.toString());
    outBuffer.append("','");
    else
    outBuffer.append(",null,'");
    outBuffer.append(exampleString);
    outBuffer.append("','");
    outBuffer.append(escapedType);
    outBuffer.append("'");
    if (msgPattern != null || hintFormat != null)
    messages.put("detail", detailMessage);
    messages.put("hint", hintFormat);
    outBuffer.append(',');
    // try
    // JsonUtils.writeMap(outBuffer, messages, false);
    // catch (IOException e)
    // outBuffer.append("null");
    outBuffer.append(')'); // 2
    return outBuffer.toString();
    catch(ParseException e)
    System.out.println("Parse Exception :::::::::::::::::::::"+e);
    return null;
    else
    // no pattern-matchable date
    return null;
    else
    return null;
    else
    return null;
    protected String getJSPattern(FacesContext context, UIComponent component)
    String jsPattern = null;
    String datePattern = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (datePattern != null)
    String secondaryPattern = getSecondaryPattern();
    if (datePattern != _NO_JS_PATTERN)
    int length = datePattern.length() * 2 + 2;
    if (secondaryPattern != null)
    length = length + 3 + secondaryPattern.length() * 2;
    StringBuilder outBuffer = new StringBuilder(length);
    jsPattern = _getEscapedPattern(outBuffer, datePattern, secondaryPattern);
    else
    jsPattern = datePattern;
    return jsPattern;
    private static void _escapePattern(StringBuilder buffer, String pattern)
    buffer.append('\'');
    XhtmlUtils.escapeJS(buffer, pattern);
    buffer.append('\'');
    private static String _getEscapedPattern(StringBuilder buffer, String pattern, String secondaryPattern)
    if (secondaryPattern != null)
    buffer.append('[');
    _escapePattern(buffer, pattern);
    if (secondaryPattern != null)
    buffer.append(",'");
    XhtmlUtils.escapeJS(buffer, secondaryPattern);
    buffer.append("']");
    return buffer.toString();
    private String _getHint()
    String type = getType();
    if (type.equals("date"))
    return getHintDate();
    else if (type.equals("both"))
    return getHintBoth();
    else
    return getHintTime();
    public static Object resolveExpression(String pExpression)
    FacesContext facesContext = FacesContext.getCurrentInstance();
    Application app = facesContext.getApplication();
    ExpressionFactory elFactory = app.getExpressionFactory();
    ELContext elContext = facesContext.getELContext();
    ValueExpression valueExp = null;
    valueExp = elFactory.createValueExpression(elContext, pExpression, Object.class);
    return valueExp.getValue(elContext);
    private static final String _NO_JS_PATTERN = new String();
    private static final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(DateTimeConverter.class);
    // RenderingContext key indicating the _dateFormat object
    // has been created
    private static final String _PATTERN_WRITTEN_KEY = "org.apache.myfaces.trinidadinternal.convert.DateTimeConverter._PATTERN_WRITTEN";
    *Problem is if any input date componet is displaying other than current date then the date picker is always picking the current date rather existing date*
    Please suggest me where to make changes?
    Edited by: 858782 on Oct 3, 2011 7:43 AM
    Edited by: 858782 on Oct 3, 2011 11:44 PM

    I need custom date foramts to be applied for different inputDates which are not defined in <af:convertDateTime>
    Thanks
    Edited by: 858782 on Oct 13, 2011 4:59 PM

  • I need to transfer photos from iPad 2012 to macbook pro 2012.how can I do it. I do have photosharing , but it isn't picking all the photos

    Hi
    I need to copy all photos from my ipad2 to macpro 2012. We have multiple apple id users in ipad2, so the photo sharing though on, not all photos are picked up in macbook pro.
    Please can you help

    How to Transfer Photos from an iPad to a Computer
    http://www.wikihow.com/Transfer-Photos-from-an-iPad-to-a-Computer
    Importing Personal Photos and videos from your iOS device to your computer.
    http://support.apple.com/kb/HT4083
    iTunes: Frequently asked questions about viewing and syncing videos
    http://support.apple.com/kb/HT2729
    Also check out the Photo Manager Pro app.
    https://itunes.apple.com/us/app/photo-manager-pro/id393858562
    Check out the Feem WiFi File Transfer app
    https://itunes.apple.com/us/app/feem-wifi-file-transfer-free/id596378699?mt=8
     Cheers, Tom 

  • Value Mapping is unble to pick up the correct value.

    Hi,
    I am facing issue with value mapping in inbound scenario,where we check the value of field receiver and compare it with value mapping data,but value mapping does not replicated etc.
    Best Regards,
    Akshay Jamgaonkar.

    Can you please explain it bit more?
    Thanks,
    Hetal

  • Email signature isn't picking up correct iphone name?

    I've just got my iphone and use it to send email via a Yahoo account. Recipients get the usual "sent from my iphone" message, but then they get my name too which is miss-spelt. It isn't picking up the phone name you can edit simply in itunes, instead it has come up with something entirely different which I can't find anywhere in a menu to edit. Can anyone help?

    Thanks, I checked and I don't think it is that. I have a yahoo signature set up when I mail from the laptop and this is fine. I didn't set one up on the iphone, it just appeared automatically. When I go in to signature under settings on the iphone it only shows "sent from my iphone". My name doesn't show at all, however it is still appearing (miss-spelt) when people receive email from me sent via the phone. I am perplexed!

  • How do I ensure a Map key maps to the correct data type?

    Hi,
    I have a simple event processing interface, where an Action class processes an event, and optionally generates a response event. I want to store a map of all registered actions, and then select the one matching an incoming event at run time:
    // the basic types
    public abstract class Event {
      protected String type;
      protected String data;
      public String getType()  { return type; }
      @Override
      public String toString() { return data; }
    // an action processes a request event and optionally returns a response event
    public interface Action<ReqE extends Event, ResE extends Event> {
      public ResE process(ReqE request);
    // two simple events
    public class Event1 extends Event {
      public Event1(String data) { this.type = "ev1"; this.data = data; }
    public class Event2 extends Event {
      public Event2(String data) { this.type = "ev2"; this.data = data; }
    // simple test class
    public class Test {
      Map<String, Action<? extends Event, ? extends Event>> actions
        = new HashMap<String, Action<? extends Event, ? extends Event>>();
      public void run() {
        // source event
        Event1 request = new Event1("hello");
        // register an action - takes an Event1 and returns an Event2
        actions.put(request.getType(), new Action<Event1, Event2>() {
          @Override
          public Event2 process(Event1 req) {
            return new Event2(req.data);
        // run it
        Action<Event, Event> action = getAction(request.getType());
        Event response = action == null ? null : action.process(request);
        System.out.println("Response=" + String.valueOf(response));
      public Action<Event, Event> getAction(String type) {
        return (Action<Event, Event>)actions.get(type);
      public static void main(String[] args) {
        new Test().run();
    }This all works, but the problem is obviously the cast in the getAction() method. I can see what the problem is: there is nothing to stop me registering a handler with the wrong event types:
      // register an action - this will fail at runtime as request is an Event1
      actions.put(request.getType(), new Action<Event3, Event4>() {
        @Override
        public Event4 process(Event3 req) {
          return new Event4(req.data);
      });So that leads to the map declaration. What I think I need to do is change the key of the map from String to... well, I'm not sure what! Some kind of parameterised EventType class that ties in to the event types of the parameterised Action class, so when I call:
      Map<????, Action<? extends Event, ? extends Event>> actions = ...
      actions.put(????, new Action<Event1, Event2>() {...});the key type ties in to Event1/Event2 so that it ensures the eventual call to "process" will receive the correct types. But this is really getting beyond my knowledge of generics!
    So if anybody has any useful pointers on where to go from here I'd be realy grateful.
    Cheers,
    Barney

    The obvious choice for the key would be the type of the request event instead of a plain String.
    Thus, declare the map like this:
    Map<Class<? extends Event>, Action<?,?>>Below, I've modified your code so that it is typesafe, provided you use the public methods "registerAction" and "getAction".
    import java.util.HashMap;
    import java.util.Map;
    abstract class Event {
           protected String type;
           protected String data;
           public String getType()  { return type; }
           @Override
           public String toString() { return data; }
         // an action processes a request event and optionally returns a response event
          interface Action<ReqE extends Event, ResE extends Event> {
           public ResE process(ReqE request);
         // two simple events
          class Event1 extends Event {
           public Event1(String data) { this.type = "ev1"; this.data = data; }
          class Event2 extends Event {
           public Event2(String data) { this.type = "ev2"; this.data = data; }
         // simple test class
         public class EventTest {
           Map<Class<? extends Event>, Action<?,?>> actions
             = new HashMap<Class<? extends Event>, Action<?,?>>();
           public void run() {
             // source event
             Event1 request = new Event1("hello");
             // register an action - takes an Event1 and returns an Event2
             registerAction(Event1.class, new Action<Event1, Event2>() {
               public Event2 process(Event1 req) {
                 return new Event2(req.data);
             // run it
             Action<? super Event1,?> action = getAction(Event1.class);
             Event response = action == null ? null : action.process(request);
             System.out.println("Response=" + String.valueOf(response));
           @SuppressWarnings("unchecked")
         public <E extends Event> Action<? super E,?> getAction(Class<E> type) {
             return (Action<? super E,?>)actions.get(type);
           public <E extends Event> void registerAction(Class<E> type, Action<? super E,?> action) {
                  actions.put(type, action);
           public static void main(String[] args) {
             new EventTest().run();
         }

  • Selecting the correct membership type

    Hello,
    I am wondering if I selected the correct type of Creative Cloud membership a couple of months ago upon signup.
    I am a photographer and use only Lightroom and Photoshop. Upon switching over to Creative Cloud, I selected the "Creative Cloud for Teams" but now I am thinking that this may not have been the best option. I work alone and only need the two apps.
    Can I switch my membership to something that makes more sense for my business?
    Thanks!

    Cancel what you don't want and buy what you do want
    Cancel http://helpx.adobe.com/x-productkb/policy-pricing/return-cancel-or-change-order.html
    -or by telephone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html
    Special Photography Plan (includes Photoshop & Lightroom & Bridge & Mobile Lightroom)
    http://helpx.adobe.com/creative-cloud/faq/mobileapps.html
    http://helpx.adobe.com/photoshop/kb/differences-photoshop-creative-cloud-photography.html
    Contact Adobe to find out how to do this without paying a penalty
    Adobe contact information - http://helpx.adobe.com/contact.html

  • What is the data type for the Data Dashboard XY Graph?

    Hey all,
    I am playing with the new Data Dashboard (!!) on my iPad 2 and am having trouble setting up the shared variables that host data to the XY Graph.
    On my PC, in my Project (inside of a variable library) I have set up shared variables for all of the other controls/indicators available in the app; They all work great. However, I have not been able to identify the data type that is for the XY Graph in Data Dashboard. Of course, inside LabVIEW, I use a cluster of 2 arrays; this is not an available data type that I can select while creating a new variable on the hosting side. I have even gone so far as to create a custom control from my XYGraph in LabVIEW and then creating the data type "From Custom Control..." with no success.
    What gives? Am I missing something obvious? Thanks for the help!!
    Tom
    Solved!
    Go to Solution.

    Great question, Aerogoob.
    The XY graph can be bound to a 1d array of "points", where each point is a cluster of two numerics (X and Y). To create a shared variable of this type, you can set the data type to "From Custom Control..." in the shared variable properties dialog. Of course, first you'll have to build the custom control of the correct type: array of cluster of two numerics.
    If any of that doesn't make sense, please post back and we can walk you through it in more detail.
    Also, just for completeness, the chart indicator can be bound to a scalar numeric or to an array of numerics. The graph indicator can only be bound to an array of numerics.

  • How does SAP pick up an update type

    Hello,
    For a Fixed Deposit, there are several update types used by the system while posting flows through TBB1.
    GL Account determination is done for an Account Symbol with reference to a valuation area, Account Assignment Reference and Currency. An Account Symbol is assigned with Posting Specifications, Posting Specifications assigned to Update Types.
    I need some help in understanding how Updates Types are related to Account Assignment Reference. While creating a Fixed Deposit Transaction through FTR_CREATE, the Account Assignment Reference appears in the Position Indicator. This account assignment reference is mapped in "Assignment of G/L Accounts to Account symbols"
    I am trying to understand how do the Post Flows transaction TBB1 pick up the Update Type for relevant flows. Is there a link between Update Type to Account Assignment Reference.
    Request clarity on the matter.
    Thanks,
    Murtuza.

    Hi,
    There is no link between update type and account assignment reference. I will explain in brief so that you can understand it better.  Let us take the case of fixed deposit.  You are having 2 kinds of fixed deposit - 1 in local currency and another in foreign currency.   Assume both are managed using different product types say 51A and 51B.  Now while making an investment, both are going to post similar entries - Dr investment account (asset) Cr Bank account.  Hence we assign same update types for both.  And thus the posting specification will also be same and the account symbols will also be same.
    But the actual  G/L account for both is going to be different because in general we manage investments in local currencies separately with that of foreign currencies in our ledger.  This is where we have 2 different account assignment references and when we assign the G/L accounts to account symbol, we make it pick different G/L accounts for same account symbol using different account assignment references.
    Hope this clears your doubt.  But please note this is just 1 way of doing it.  We can manage the same scenario using 1 account assignment reference itself and make it to post to different G/L accounts using the different currency option.
    Regards,
    Ravi

Maybe you are looking for