{"action":"created","comment":{"url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/comments/44861136","id":44861136,"diff_hunk":"@@ -0,0 +1,463 @@\n+package gov.usgs.cida.dsas.wps.geom;\n+\n+import com.google.common.collect.Maps;\n+import com.vividsolutions.jts.algorithm.Angle;\n+import com.vividsolutions.jts.geom.Coordinate;\n+import com.vividsolutions.jts.geom.Geometry;\n+import com.vividsolutions.jts.geom.LineSegment;\n+import com.vividsolutions.jts.geom.LineString;\n+import com.vividsolutions.jts.geom.MultiLineString;\n+import com.vividsolutions.jts.geom.Point;\n+import com.vividsolutions.jts.index.strtree.STRtree;\n+import gov.usgs.cida.dsas.exceptions.PoorlyDefinedBaselineException;\n+import gov.usgs.cida.dsas.util.BaselineDistanceAccumulator;\n+import gov.usgs.cida.dsas.util.CRSUtils;\n+import gov.usgs.cida.utilities.features.AttributeGetter;\n+import gov.usgs.cida.utilities.features.Constants.Orientation;\n+import java.util.ArrayList;\n+import java.util.LinkedList;\n+import java.util.List;\n+import java.util.ListIterator;\n+import java.util.Map;\n+import org.geotools.data.DataUtilities;\n+import org.geotools.data.simple.SimpleFeatureCollection;\n+import org.geotools.data.simple.SimpleFeatureIterator;\n+import org.geotools.geometry.jts.ReferencedEnvelope;\n+import org.joda.time.DateTime;\n+import org.opengis.feature.simple.SimpleFeature;\n+import org.opengis.feature.simple.SimpleFeatureType;\n+import org.opengis.referencing.crs.CoordinateReferenceSystem;\n+\n+import static gov.usgs.cida.utilities.features.Constants.AVG_SLOPE_ATTR;\n+import static gov.usgs.cida.utilities.features.Constants.BASELINE_ORIENTATION_ATTR;\n+import static gov.usgs.cida.utilities.features.Constants.BIAS_ATTR;\n+import static gov.usgs.cida.utilities.features.Constants.BIAS_UNCY_ATTR;\n+import static gov.usgs.cida.utilities.features.Constants.DEFAULT_BIAS;\n+import static gov.usgs.cida.utilities.features.Constants.DEFAULT_BIAS_UNCY;\n+\n+/**\n+ *\n+ * @author Jordan Walker <jiwalker@usgs.gov>\n+ */\n+public class IntersectionCalculator {\n+\t\n+\tprivate static final double MIN_TRANSECT_LENGTH = 50.0; // meters\n+\tprivate static final double TRANSECT_PADDING = 5.0d; // meters\n+\t\n+\tprivate SimpleFeatureCollection resultTransectsCollection;\n+\tprivate SimpleFeatureCollection resultIntersectionsCollection;\n+\n+\tprivate SimpleFeatureType intersectionFeatureType;\n+\tprivate SimpleFeatureType biasIncomingFeatureType;\n+\tprivate SimpleFeatureType transectFeatureType;\n+\t\t\t\n+\tprivate STRtree strTree;\n+\tprivate STRtree biasTree;\n+\n+\t\n+\tprivate double maxTransectLength;\n+\tprivate int transectId;\n+\tprivate boolean useFarthest;\n+\n+\tpublic IntersectionCalculator(SimpleFeatureCollection shorelines, SimpleFeatureCollection baseline,\n+\t\t\tSimpleFeatureCollection biasRef, double maxTransectLength, CoordinateReferenceSystem utmCrs, boolean useFarthest) {\n+\n+\t\tthis.intersectionFeatureType = Intersection.buildSimpleFeatureType(shorelines, utmCrs);\n+\t\tthis.transectFeatureType = Transect.buildFeatureType(utmCrs);\n+\t\tif (biasRef != null) {\n+\t\t\tthis.biasIncomingFeatureType = biasRef.getSchema();\n+\t\t}\n+\t\tthis.strTree = new ShorelineSTRTreeBuilder(shorelines).build();\n+\t\tif (biasRef != null) {\n+\t\t\tthis.biasTree = new ShorelineSTRTreeBuilder(biasRef).build();\n+\t\t} else {\n+\t\t\tthis.biasTree = null;\n+\t\t}\n+\t\t\n+\t\tthis.maxTransectLength = maxTransectLength;\n+\t\tthis.transectId = 0;\n+\t\tthis.useFarthest = useFarthest;\n+\t}\n+\n+\tpublic Transect[] getEvenlySpacedOrthoVectorsAlongBaseline(SimpleFeatureCollection baseline, MultiLineString shorelines, double spacing, double smoothing) {\n+\t\tList<Transect> vectList = new LinkedList<>();\n+\n+\t\tBaselineDistanceAccumulator accumulator = new BaselineDistanceAccumulator();\n+\t\tAttributeGetter attGet = new AttributeGetter(baseline.getSchema());\n+\n+\t\tSimpleFeatureIterator features = null;\n+\t\ttry {\n+\t\t\tfeatures = baseline.features();\n+\t\t\twhile (features.hasNext()) {\n+\t\t\t\tSimpleFeature feature = features.next();\n+\t\t\t\tString orientVal = (String) attGet.getValue(BASELINE_ORIENTATION_ATTR, feature);\n+\t\t\t\tOrientation orientation = Orientation.fromAttr(orientVal);\n+\t\t\t\tif (orientation == Orientation.UNKNOWN) {\n+\t\t\t\t\t// default to seaward\n+\t\t\t\t\torientation = Orientation.SEAWARD;\n+\t\t\t\t}\n+\t\t\t\tString baselineId = feature.getID();\n+\n+\t\t\t\tMultiLineString lines = CRSUtils.getMultilineFromFeature(feature);\n+\t\t\t\tfor (int i = 0; i < lines.getNumGeometries(); i++) { // probably only one Linestring\n+\t\t\t\t\tLineString line = (LineString) lines.getGeometryN(i);\n+\t\t\t\t\tint direction = shorelineDirection(line, shorelines);\n+\n+\t\t\t\t\tdouble baseDist = accumulator.accumulate(line);\n+\n+\t\t\t\t\tvectList.addAll(handleLineString(line, spacing, orientation, direction, baselineId, baseDist, smoothing)); // rather than SEAWARD, get from baseline feature\n+\t\t\t\t}\n+\t\t\t}\n+\t\t} finally {\n+\t\t\tif (null != features) {\n+\t\t\t\tfeatures.close();\n+\t\t\t}\n+\t\t}\n+\t\tTransect[] vectArr = new Transect[vectList.size()];\n+\t\treturn vectList.toArray(vectArr);\n+\t}\n+\n+\t/**\n+\t *\n+\t * @param vectsOnBaseline\n+\t * @param shorelines\n+\t * @param useFarthest\n+\t */\n+\tpublic void calculateIntersections(Transect[] vectsOnBaseline, SimpleFeatureCollection shorelines) {\n+\t\tif (vectsOnBaseline.length == 0) {\n+\t\t\treturn;\n+\t\t}\n+\t\tList<SimpleFeature> transectFeatures = new LinkedList<>();\n+\t\tList<SimpleFeature> intersectionFeatures = new LinkedList<>();\n+\t\tAttributeGetter attGet = new AttributeGetter(intersectionFeatureType);\n+\t\tAttributeGetter biasGetter = new AttributeGetter(biasIncomingFeatureType);\n+\t\t// grow by about 200?\n+\t\tdouble guessTransectLength = MIN_TRANSECT_LENGTH * 4;\n+\n+\t\tfor (Transect transect : vectsOnBaseline) {\n+\t\t\tMap<DateTime, Intersection> allIntersections = Maps.newHashMap();\n+\t\t\tdouble startDistance = 0;\n+\t\t\tProxyDatumBias biasCorrection = null;\n+\t\t\tboolean changeTransectLength = true;\n+\t\t\tif (transect.getLength() > 0.0) {\n+\t\t\t\tchangeTransectLength = false;\n+\t\t\t}\n+\t\t\t\n+\t\t\tdo {\n+\t\t\t\tTransect subTransect = null;\n+\t\t\t\tif (changeTransectLength) {\n+\t\t\t\t\tsubTransect = transect.subTransect(startDistance, guessTransectLength);\n+\t\t\t\t\tstartDistance += guessTransectLength;\n+\t\t\t\t} else {\n+\t\t\t\t\tsubTransect = transect;\n+\t\t\t\t\tstartDistance = maxTransectLength; // end the loop\n+\t\t\t\t}\n+\t\t\t\tIntersection.updateIntersectionsWithSubTransect(allIntersections, transect.getOriginPoint(), subTransect, strTree, useFarthest, attGet);\n+\t\t\t\tif (biasCorrection == null && biasTree != null) {\n+\t\t\t\t\tbiasCorrection = getBiasValue(subTransect, biasTree, biasGetter);\n+\t\t\t\t}\n+\t\t\t} while (startDistance < maxTransectLength);\n+\n+\t\t\tif (!allIntersections.isEmpty()) {  // ignore non-crossing lines\n+\t\t\t\tif (changeTransectLength) {\n+\t\t\t\t\tdouble transectLength = Intersection.absoluteFarthest(MIN_TRANSECT_LENGTH, allIntersections.values());\n+\t\t\t\t\ttransect.setLength(transectLength + TRANSECT_PADDING);\n+\t\t\t\t}\n+\t\t\t\ttransect.setBias(biasCorrection);\n+\t\t\t\tSimpleFeature feature = transect.createFeature(transectFeatureType);\n+\t\t\t\ttransectFeatures.add(feature);\n+\n+\t\t\t\tfor (Intersection intersection : allIntersections.values()) {\n+\t\t\t\t\t// do I need to worry about order?\n+\t\t\t\t\tintersection.setBias(biasCorrection);\n+\t\t\t\t\tintersectionFeatures.add(intersection.createFeature(intersectionFeatureType));\n+\t\t\t\t}\n+\t\t\t}\n+\t\t}\n+\t\tresultTransectsCollection = DataUtilities.collection(transectFeatures);\n+\t\tresultIntersectionsCollection = DataUtilities.collection(intersectionFeatures);\n+\t}\n+\n+\t/**\n+\t * Vectors point 90&deg; counterclockwise currently\n+\t * @param lineString line along which to get vectors\n+\t * @param spacing how often to create vectors along line\n+\t * @param orientation\n+\t * @param orthoDirection\n+\t * @param baselineId\n+\t * @param accumulatedBaselineLength\n+\t * @param smoothing\n+\t * @return List of fancy vectors I concocted\n+\t */\n+\tprotected List<Transect> handleLineString(LineString lineString, double spacing, Orientation orientation, int orthoDirection, String baselineId, double accumulatedBaselineLength, double smoothing) {\n+\t\tList<LineSegment> intervals = findIntervals(lineString, true, spacing, smoothing);\n+\t\tList<Transect> transects = new ArrayList<>(intervals.size());\n+\t\tfor (LineSegment interval : intervals) {\n+\t\t\ttransects.add(Transect.generatePerpendicularVector(interval.p0, interval, orientation, transectId++, baselineId, accumulatedBaselineLength, orthoDirection));\n+\t\t\taccumulatedBaselineLength += spacing;","path":"dsas-wps/src/main/java/gov/usgs/cida/dsas/wps/geom/IntersectionCalculator.java","position":197,"original_position":197,"commit_id":"3ec0b6d042f3ae283566bccd4d9c6ab2000cb804","original_commit_id":"3ec0b6d042f3ae283566bccd4d9c6ab2000cb804","user":{"login":"isuftin","id":928288,"avatar_url":"https://avatars.githubusercontent.com/u/928288?v=3","gravatar_id":"","url":"https://api.github.com/users/isuftin","html_url":"https://github.com/isuftin","followers_url":"https://api.github.com/users/isuftin/followers","following_url":"https://api.github.com/users/isuftin/following{/other_user}","gists_url":"https://api.github.com/users/isuftin/gists{/gist_id}","starred_url":"https://api.github.com/users/isuftin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isuftin/subscriptions","organizations_url":"https://api.github.com/users/isuftin/orgs","repos_url":"https://api.github.com/users/isuftin/repos","events_url":"https://api.github.com/users/isuftin/events{/privacy}","received_events_url":"https://api.github.com/users/isuftin/received_events","type":"User","site_admin":false},"body":"Assignment to a method parameter. Careful. ","created_at":"2015-11-14T17:19:16Z","updated_at":"2015-11-14T17:19:16Z","html_url":"https://github.com/USGS-CIDA/DSASweb/pull/69#discussion_r44861136","pull_request_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69","_links":{"self":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/comments/44861136"},"html":{"href":"https://github.com/USGS-CIDA/DSASweb/pull/69#discussion_r44861136"},"pull_request":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69"}}},"pull_request":{"url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69","id":50709237,"html_url":"https://github.com/USGS-CIDA/DSASweb/pull/69","diff_url":"https://github.com/USGS-CIDA/DSASweb/pull/69.diff","patch_url":"https://github.com/USGS-CIDA/DSASweb/pull/69.patch","issue_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/69","number":69,"state":"open","locked":false,"title":"Improved Update Transects process","user":{"login":"jiwalker-usgs","id":1173041,"avatar_url":"https://avatars.githubusercontent.com/u/1173041?v=3","gravatar_id":"","url":"https://api.github.com/users/jiwalker-usgs","html_url":"https://github.com/jiwalker-usgs","followers_url":"https://api.github.com/users/jiwalker-usgs/followers","following_url":"https://api.github.com/users/jiwalker-usgs/following{/other_user}","gists_url":"https://api.github.com/users/jiwalker-usgs/gists{/gist_id}","starred_url":"https://api.github.com/users/jiwalker-usgs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jiwalker-usgs/subscriptions","organizations_url":"https://api.github.com/users/jiwalker-usgs/orgs","repos_url":"https://api.github.com/users/jiwalker-usgs/repos","events_url":"https://api.github.com/users/jiwalker-usgs/events{/privacy}","received_events_url":"https://api.github.com/users/jiwalker-usgs/received_events","type":"User","site_admin":false},"body":"There might still be an issue on the UI side of the house (multiple updates is finicky).  Some formatting fixes are in here as well, so the diff is a little tricky.  Note that the bias line should be passed into this process when available in order to correctly position the intersections.  @isuftin take a look and let me know if you see anything off here.","created_at":"2015-11-14T00:28:43Z","updated_at":"2015-11-14T17:19:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3ed8a850355d863d5510d3276e54f36d2dd7ba82","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69/commits","review_comments_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69/comments","review_comment_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/69/comments","statuses_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/statuses/3ec0b6d042f3ae283566bccd4d9c6ab2000cb804","head":{"label":"jiwalker-usgs:master","ref":"master","sha":"3ec0b6d042f3ae283566bccd4d9c6ab2000cb804","user":{"login":"jiwalker-usgs","id":1173041,"avatar_url":"https://avatars.githubusercontent.com/u/1173041?v=3","gravatar_id":"","url":"https://api.github.com/users/jiwalker-usgs","html_url":"https://github.com/jiwalker-usgs","followers_url":"https://api.github.com/users/jiwalker-usgs/followers","following_url":"https://api.github.com/users/jiwalker-usgs/following{/other_user}","gists_url":"https://api.github.com/users/jiwalker-usgs/gists{/gist_id}","starred_url":"https://api.github.com/users/jiwalker-usgs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jiwalker-usgs/subscriptions","organizations_url":"https://api.github.com/users/jiwalker-usgs/orgs","repos_url":"https://api.github.com/users/jiwalker-usgs/repos","events_url":"https://api.github.com/users/jiwalker-usgs/events{/privacy}","received_events_url":"https://api.github.com/users/jiwalker-usgs/received_events","type":"User","site_admin":false},"repo":{"id":44195801,"name":"DSASweb","full_name":"jiwalker-usgs/DSASweb","owner":{"login":"jiwalker-usgs","id":1173041,"avatar_url":"https://avatars.githubusercontent.com/u/1173041?v=3","gravatar_id":"","url":"https://api.github.com/users/jiwalker-usgs","html_url":"https://github.com/jiwalker-usgs","followers_url":"https://api.github.com/users/jiwalker-usgs/followers","following_url":"https://api.github.com/users/jiwalker-usgs/following{/other_user}","gists_url":"https://api.github.com/users/jiwalker-usgs/gists{/gist_id}","starred_url":"https://api.github.com/users/jiwalker-usgs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jiwalker-usgs/subscriptions","organizations_url":"https://api.github.com/users/jiwalker-usgs/orgs","repos_url":"https://api.github.com/users/jiwalker-usgs/repos","events_url":"https://api.github.com/users/jiwalker-usgs/events{/privacy}","received_events_url":"https://api.github.com/users/jiwalker-usgs/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jiwalker-usgs/DSASweb","description":"","fork":true,"url":"https://api.github.com/repos/jiwalker-usgs/DSASweb","forks_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/forks","keys_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/teams","hooks_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/hooks","issue_events_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/issues/events{/number}","events_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/events","assignees_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/assignees{/user}","branches_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/branches{/branch}","tags_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/tags","blobs_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/git/refs{/sha}","trees_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/statuses/{sha}","languages_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/languages","stargazers_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/stargazers","contributors_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/contributors","subscribers_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/subscribers","subscription_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/subscription","commits_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/commits{/sha}","git_commits_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/git/commits{/sha}","comments_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/comments{/number}","issue_comment_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/issues/comments{/number}","contents_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/contents/{+path}","compare_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/merges","archive_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/downloads","issues_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/issues{/number}","pulls_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/pulls{/number}","milestones_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/milestones{/number}","notifications_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/labels{/name}","releases_url":"https://api.github.com/repos/jiwalker-usgs/DSASweb/releases{/id}","created_at":"2015-10-13T18:17:34Z","updated_at":"2015-10-13T18:17:37Z","pushed_at":"2015-11-14T00:25:23Z","git_url":"git://github.com/jiwalker-usgs/DSASweb.git","ssh_url":"git@github.com:jiwalker-usgs/DSASweb.git","clone_url":"https://github.com/jiwalker-usgs/DSASweb.git","svn_url":"https://github.com/jiwalker-usgs/DSASweb","homepage":null,"size":10583,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"USGS-CIDA:master","ref":"master","sha":"f014a0409da730075305fe90338853f6c110c47a","user":{"login":"USGS-CIDA","id":918179,"avatar_url":"https://avatars.githubusercontent.com/u/918179?v=3","gravatar_id":"","url":"https://api.github.com/users/USGS-CIDA","html_url":"https://github.com/USGS-CIDA","followers_url":"https://api.github.com/users/USGS-CIDA/followers","following_url":"https://api.github.com/users/USGS-CIDA/following{/other_user}","gists_url":"https://api.github.com/users/USGS-CIDA/gists{/gist_id}","starred_url":"https://api.github.com/users/USGS-CIDA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/USGS-CIDA/subscriptions","organizations_url":"https://api.github.com/users/USGS-CIDA/orgs","repos_url":"https://api.github.com/users/USGS-CIDA/repos","events_url":"https://api.github.com/users/USGS-CIDA/events{/privacy}","received_events_url":"https://api.github.com/users/USGS-CIDA/received_events","type":"Organization","site_admin":false},"repo":{"id":43599749,"name":"DSASweb","full_name":"USGS-CIDA/DSASweb","owner":{"login":"USGS-CIDA","id":918179,"avatar_url":"https://avatars.githubusercontent.com/u/918179?v=3","gravatar_id":"","url":"https://api.github.com/users/USGS-CIDA","html_url":"https://github.com/USGS-CIDA","followers_url":"https://api.github.com/users/USGS-CIDA/followers","following_url":"https://api.github.com/users/USGS-CIDA/following{/other_user}","gists_url":"https://api.github.com/users/USGS-CIDA/gists{/gist_id}","starred_url":"https://api.github.com/users/USGS-CIDA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/USGS-CIDA/subscriptions","organizations_url":"https://api.github.com/users/USGS-CIDA/orgs","repos_url":"https://api.github.com/users/USGS-CIDA/repos","events_url":"https://api.github.com/users/USGS-CIDA/events{/privacy}","received_events_url":"https://api.github.com/users/USGS-CIDA/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/USGS-CIDA/DSASweb","description":"","fork":false,"url":"https://api.github.com/repos/USGS-CIDA/DSASweb","forks_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/forks","keys_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/teams","hooks_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/hooks","issue_events_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/events{/number}","events_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/events","assignees_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/assignees{/user}","branches_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/branches{/branch}","tags_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/tags","blobs_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/git/refs{/sha}","trees_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/statuses/{sha}","languages_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/languages","stargazers_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/stargazers","contributors_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/contributors","subscribers_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/subscribers","subscription_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/subscription","commits_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/commits{/sha}","git_commits_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/git/commits{/sha}","comments_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/comments{/number}","issue_comment_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/comments{/number}","contents_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/contents/{+path}","compare_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/merges","archive_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/downloads","issues_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues{/number}","pulls_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls{/number}","milestones_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/milestones{/number}","notifications_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/labels{/name}","releases_url":"https://api.github.com/repos/USGS-CIDA/DSASweb/releases{/id}","created_at":"2015-10-03T13:22:46Z","updated_at":"2015-10-13T15:52:55Z","pushed_at":"2015-11-14T16:26:04Z","git_url":"git://github.com/USGS-CIDA/DSASweb.git","ssh_url":"git@github.com:USGS-CIDA/DSASweb.git","clone_url":"https://github.com/USGS-CIDA/DSASweb.git","svn_url":"https://github.com/USGS-CIDA/DSASweb","homepage":null,"size":11126,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":1,"forks":6,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69"},"html":{"href":"https://github.com/USGS-CIDA/DSASweb/pull/69"},"issue":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/69"},"comments":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/issues/69/comments"},"review_comments":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69/comments"},"review_comment":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/pulls/69/commits"},"statuses":{"href":"https://api.github.com/repos/USGS-CIDA/DSASweb/statuses/3ec0b6d042f3ae283566bccd4d9c6ab2000cb804"}}}}