From 1f9daef870a8c7a984955166a542628d69012ed5 Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 27 May 2011 23:37:24 -0400 Subject: Codepro analyze dependencies. Documentation. --- src/com/gitblit/models/RefModel.java | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/com/gitblit/models/RefModel.java (limited to 'src/com/gitblit/models/RefModel.java') diff --git a/src/com/gitblit/models/RefModel.java b/src/com/gitblit/models/RefModel.java new file mode 100644 index 00000000..b33c8ba7 --- /dev/null +++ b/src/com/gitblit/models/RefModel.java @@ -0,0 +1,81 @@ +/* + * Copyright 2011 gitblit.com. + * + * Licensed 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. + */ +package com.gitblit.models; + +import java.io.Serializable; +import java.util.Date; + +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.revwalk.RevCommit; + +public class RefModel implements Serializable, Comparable { + + private static final long serialVersionUID = 1L; + public final String displayName; + public final RevCommit commit; + public transient Ref ref; + + public RefModel(String displayName, Ref ref, RevCommit commit) { + this.displayName = displayName; + this.ref = ref; + this.commit = commit; + } + + public Date getDate() { + return new Date(commit.getCommitTime() * 1000L); + } + + public String getName() { + return ref.getName(); + } + + public ObjectId getCommitId() { + return commit.getId(); + } + + public String getShortLog() { + return commit.getShortMessage(); + } + + public ObjectId getObjectId() { + return ref.getObjectId(); + } + + public boolean isAnnotatedTag() { + // ref.isPeeled() ?? + return !getCommitId().equals(getObjectId()); + } + + @Override + public int hashCode() { + return getCommitId().hashCode() + getName().hashCode(); + } + + @Override + public boolean equals(Object o) { + if (o instanceof RefModel) { + RefModel other = (RefModel) o; + return getName().equals(other.getName()); + } + return super.equals(o); + } + + @Override + public int compareTo(RefModel o) { + return getDate().compareTo(o.getDate()); + } +} \ No newline at end of file -- cgit v1.2.3