I needed a community based plugin recently and this is how you would add it to your CF CLI interface.
1. Add Community based REPO as shown below
$ cf add-plugin-repo community http://plugins.cfapps.io/
2. Check available plugins from REPO added above
pasapicella@Pas-MacBook-Pro:~/ibm$ cf repo-plugins community
Getting plugins from all repositories ...
Repository: CF-Community
name version description
Download Droplet 1.0.0 Download droplets to your local machine
Firehose Plugin 0.8.0 This plugin allows you to connect to the firehose (CF admins only)
doctor 1.0.1 doctor scans your deployed applications, routes and services for anomalies and reports any issues found. (CLI v6.7.0+)
manifest-generator 1.0.0 Help you to generate a manifest from 0 (CLI v6.7.0+)
Diego-Enabler 1.0.1 Enable/Disable Diego support for an app (CLI v6.13.0+)
3. Install plugin as shown below
pasapicella@Pas-MacBook-Pro:~/ibm/$ cf install-plugin "Live Stats" -r community
**Attention: Plugins are binaries written by potentially untrusted authors. Install and use plugins at your own risk.**
Do you want to install the plugin Live Stats? (y or n)> y
Looking up 'Live Stats' from repository 'community'
7874156 bytes downloaded...
Installing plugin /var/folders/rj/5r89y5nd6pd4c9hwkbvdp_1w0000gn/T/cf-plugin-stats...
OK
Plugin Live Stats v0.0.0 successfully installed.
4. View plugin commands
pasapicella@Pas-MacBook-Pro:~/ibm/$ cf plugins
Listing Installed Plugins...
OK
Plugin Name Version Command Name Command Help
IBM-Containers 0.8.788 ic IBM Containers plug-in
Live Stats N/A live-stats Show browser based stats
active-deploy 0.1.22 active-deploy-service-info Reports version information about the CLI and Active Deploy service. It also reports the cloud back ends enabled by the Active Deploy service instance.
Search This Blog
Wednesday, 27 January 2016
Monday, 25 January 2016
ServletContextAware Controller class with Spring
I rarely need to save state within the Servlet Context via an application scope, but recently I did and here is what your controller class would look like to get access to the ServletConext with Spring. I was using Spring Boot 1.3.2.RELEASE.
In short you implement the "org.springframework.web.context.ServletContextAware" interface as shown below. In this example we retrieve an application scope attribute.
In short you implement the "org.springframework.web.context.ServletContextAware" interface as shown below. In this example we retrieve an application scope attribute.
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.json.JsonParser; import org.springframework.boot.json.JsonParserFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.context.ServletContextAware; import javax.servlet.ServletContext; import java.util.ArrayList; import java.util.List; import java.util.Map; @Controller public class CommentatorController implements ServletContextAware { private static final Logger log = LoggerFactory.getLogger(CommentatorController.class); private static final JsonParser parser = JsonParserFactory.getJsonParser(); private ServletContext context; public void setServletContext(ServletContext servletContext) { this.context = servletContext; } @RequestMapping(value="/", method = RequestMethod.GET) public String listTeams (Model model) { String jsonString = (String) context.getAttribute("riderData"); List<Rider> riders = new ArrayList<>(); if (jsonString != null) { if (jsonString.trim().length() != 0) { Map<String, Object> jsonMap = parser.parseMap(jsonString); List<Object> riderList = (List<Object>) jsonMap.get("Riders"); for (Object rider: riderList) { Map m = (Map) rider; riders.add( new Rider((String)m.get("RiderId"), (String)m.get("Cadence"), (String)m.get("Speed"), (String)m.get("HeartRate"))); } //log.info("Riders = " + riders.size()); model.addAttribute("ridercount", riders.size()); } } else { model.addAttribute("ridercount", 0); } model.addAttribute("riders", riders); return "commentator"; } }
Subscribe to:
Posts (Atom)