static JPAPuId[] getExtendedContextPuIds(Collection<InjectionBinding<?>> injectionBindings,
                                             String ejbName,
                                             Set<String> persistenceRefNames,
                                             List<Object> bindingList)
    {
        final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
        if (isTraceOn && tc.isEntryEnabled())
            Tr.entry(tc, "getExtendedContextPuIds : " +
                         ((injectionBindings != null)
                                         ? ("<" + injectionBindings.size() + "> :" + injectionBindings)
                                         : "No Injection Bindings"));

        JPAPuId[] rtnValue = NoPuIds;
        if (injectionBindings != null && injectionBindings.size() > 0)
        {
            // Build a set of extended persistence contexts for the 'bindings'.
            // A set is used to eliminate duplicate JPAPuIds.
            HashSet<JPAPuId> extendedPuIds = new HashSet<JPAPuId>();
            for (InjectionBinding<?> binding : injectionBindings)
            {
                if (binding instanceof JPAPCtxtInjectionBinding)
                {
                    JPAPCtxtInjectionBinding pcBinding = (JPAPCtxtInjectionBinding) binding;
                    if (pcBinding.containsComponent(ejbName)) // F743-30682
                    {
                        if (isTraceOn && tc.isDebugEnabled())
                            Tr.debug(tc, "extended persistence-context-ref name=" + pcBinding.getJndiName() +
                                         " contains component=" + ejbName);

                        if (pcBinding.isExtendedType())
                        {
                            // The unitName in the user-define PersistenceContext annotation may not be
                            // defined, update the puId with a valid and unique persistence unit name.
                            JPAPuId puId = pcBinding.ivPuId;
                            String puName = puId.getPuName();
                            if (puName == null || puName.length() == 0)
                            {
                                //F743-16027 - using JPAAccessor to get JPAComponent, rather than using cached (possibly stale) static reference
                                JPAPUnitInfo puInfo = ((AbstractJPAComponent) JPAAccessor.getJPAComponent()).findPersistenceUnitInfo(puId); // F743-18776
                                if (puInfo != null)
                                {
                                    puId.setPuName(puInfo.getPersistenceUnitName());
                                }
                            }
                            extendedPuIds.add(puId);

                            if (bindingList != null) {
                                bindingList.add(pcBinding);
                            }
                        }

                        if (persistenceRefNames != null) // F743-30682
                        {
                            persistenceRefNames.add(pcBinding.getJndiName());
                        }
                    }
                }
            }
            if (extendedPuIds.size() > 0)
            {
                rtnValue = extendedPuIds.toArray(new JPAPuId[extendedPuIds.size()]);
            }
        }
        if (isTraceOn && tc.isEntryEnabled())
            Tr.exit(tc, "getExtendedContextPuIds : " + rtnValue.length);
        return rtnValue;
    }
static JPAPuId [ ] getExtendedContextPuIds ( Collection < InjectionBinding < ? > > injectionBindings , String ejbName , Set < String > persistenceRefNames , List < Object > bindingList ) { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "getExtendedContextPuIds : " + ( ( injectionBindings != null ) ? ( "<" + injectionBindings . size ( ) + "> :" + injectionBindings ) : "No Injection Bindings" ) ) ; JPAPuId [ ] rtnValue = NoPuIds ; if ( injectionBindings != null && injectionBindings . size ( ) > 0 ) { HashSet < JPAPuId > extendedPuIds = new HashSet < JPAPuId > ( ) ; for ( InjectionBinding < ? > binding : injectionBindings ) { if ( binding instanceof JPAPCtxtInjectionBinding ) { JPAPCtxtInjectionBinding pcBinding = ( JPAPCtxtInjectionBinding ) binding ; if ( pcBinding . containsComponent ( ejbName ) ) { if ( isTraceOn && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "extended persistence-context-ref name=" + pcBinding . getJndiName ( ) + " contains component=" + ejbName ) ; if ( pcBinding . isExtendedType ( ) ) { JPAPuId puId = pcBinding . ivPuId ; String puName = puId . getPuName ( ) ; if ( puName == null || puName . length ( ) == 0 ) { JPAPUnitInfo puInfo = ( ( AbstractJPAComponent ) JPAAccessor . getJPAComponent ( ) ) . findPersistenceUnitInfo ( puId ) ; if ( puInfo != null ) { puId . setPuName ( puInfo . getPersistenceUnitName ( ) ) ; } } extendedPuIds . add ( puId ) ; if ( bindingList != null ) { bindingList . add ( pcBinding ) ; } } if ( persistenceRefNames != null ) { persistenceRefNames . add ( pcBinding . getJndiName ( ) ) ; } } } } if ( extendedPuIds . size ( ) > 0 ) { rtnValue = extendedPuIds . toArray ( new JPAPuId [ extendedPuIds . size ( ) ] ) ; } } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "getExtendedContextPuIds : " + rtnValue . length ) ; return rtnValue ; }
switch to 'bindings' d511673