//# 0 errors, 32 messages
//#
/*
    //#RollerPlanetModule.java:1:1: class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#RollerPlanetModule.java:1:1: method: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * 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.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.planet.business.jpa;

import com.google.inject.Binder;
import com.google.inject.Module;
import org.apache.roller.planet.business.MultiPlanetURLStrategy;
import org.apache.roller.planet.business.Planet;
import org.apache.roller.planet.business.PlanetManager;
import org.apache.roller.planet.business.PropertiesManager;
import org.apache.roller.planet.business.URLStrategy;
import org.apache.roller.planet.business.fetcher.FeedFetcher;
import org.apache.roller.planet.business.jpa.JPAPersistenceStrategy;
import org.apache.roller.planet.business.jpa.JPAPlanetImpl;
import org.apache.roller.planet.business.jpa.JPAPlanetManagerImpl;
import org.apache.roller.planet.business.jpa.JPAPropertiesManagerImpl;
import org.apache.roller.weblogger.planet.business.WebloggerRomeFeedFetcher;


/**
 * Guice module for configuring Roller's built-in Planet, JPA version.
 */
public class RollerPlanetModule implements Module {
    //#RollerPlanetModule.java:39: method: void org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule()
    //#RollerPlanetModule.java:39: end of method: void org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule()

    public void configure(Binder binder) {
        
        binder.bind(Planet.class).to(JPAPlanetImpl.class);
    //#RollerPlanetModule.java:43: method: void org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.configure(Binder)
    //#RollerPlanetModule.java:43: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:43: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#input(void configure(Binder)): binder
    //#pre[1] (void configure(Binder)): binder != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@43 != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@46 != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@48 != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@49 != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@50 != null
    //#presumption(void configure(Binder)): com.google.inject.Binder:bind(...)@51 != null

        // Use special Planet persistence strategy that works against RollerConfig
        binder.bind(JPAPersistenceStrategy.class).to(JPARollerPlanetPersistenceStrategy.class); 
    //#RollerPlanetModule.java:46: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:46: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
        
        binder.bind(PlanetManager.class).to(     JPAPlanetManagerImpl.class);   
    //#RollerPlanetModule.java:48: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:48: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
        binder.bind(PropertiesManager.class).to( JPAPropertiesManagerImpl.class);    
    //#RollerPlanetModule.java:49: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:49: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
        binder.bind(URLStrategy.class).to(       MultiPlanetURLStrategy.class);
    //#RollerPlanetModule.java:50: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:50: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
        binder.bind(FeedFetcher.class).to(       WebloggerRomeFeedFetcher.class);
    //#RollerPlanetModule.java:51: Warning: method not available
    //#    -- call on AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: AnnotatedBindingBuilder com.google.inject.Binder:bind(Class)
    //#RollerPlanetModule.java:51: Warning: method not available
    //#    -- call on ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
    //#    method: void configure(Binder)
    //#    unanalyzed callee: ScopedBindingBuilder com.google.inject.binder.AnnotatedBindingBuilder:to(Class)
    }
    //#RollerPlanetModule.java:52: end of method: void org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.configure(Binder)
    
}
    //#output(org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/business/jpa/RollerPlanetModule]
    //#output(org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init): __Dispatch_Table.configure(Lcom/google/inject/Binder;)V
    //#post(org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/business/jpa/RollerPlanetModule] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init): __Dispatch_Table.configure(Lcom/google/inject/Binder;)V == &configure
    //#RollerPlanetModule.java:: end of method: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule.org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule__static_init
    //#RollerPlanetModule.java:: end of class: org.apache.roller.weblogger.planet.business.jpa.RollerPlanetModule
