| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/sync/test/fake_server/android/fake_server_helper_android.h" | 5 #include "components/sync/test/fake_server/android/fake_server_helper_android.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/android/jni_array.h" | 12 #include "base/android/jni_array.h" |
| 13 #include "base/android/jni_string.h" | 13 #include "base/android/jni_string.h" |
| 14 #include "base/logging.h" | 14 #include "base/logging.h" |
| 15 #include "components/sync/base/model_type.h" | 15 #include "components/sync/base/model_type.h" |
| 16 #include "components/sync/engine/net/network_resources.h" | 16 #include "components/sync/engine/net/network_resources.h" |
| 17 #include "components/sync/protocol/sync.pb.h" | 17 #include "components/sync/protocol/sync.pb.h" |
| 18 #include "components/sync/test/fake_server/bookmark_entity_builder.h" | 18 #include "components/sync/test/fake_server/bookmark_entity_builder.h" |
| 19 #include "components/sync/test/fake_server/fake_server.h" | 19 #include "components/sync/test/fake_server/fake_server.h" |
| 20 #include "components/sync/test/fake_server/fake_server_network_resources.h" | 20 #include "components/sync/test/fake_server/fake_server_network_resources.h" |
| 21 #include "components/sync/test/fake_server/fake_server_verifier.h" | 21 #include "components/sync/test/fake_server/fake_server_verifier.h" |
| 22 #include "components/sync/test/fake_server/tombstone_entity.h" | |
| 23 #include "components/sync/test/fake_server/unique_client_entity.h" | |
| 24 #include "jni/FakeServerHelper_jni.h" | 22 #include "jni/FakeServerHelper_jni.h" |
| 25 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
| 26 #include "url/gurl.h" | 24 #include "url/gurl.h" |
| 27 | 25 |
| 28 using base::android::JavaParamRef; | 26 using base::android::JavaParamRef; |
| 29 | 27 |
| 30 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} | 28 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) {} |
| 31 | 29 |
| 32 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} | 30 FakeServerHelperAndroid::~FakeServerHelperAndroid() {} |
| 33 | 31 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 const JavaParamRef<jstring>& name, | 137 const JavaParamRef<jstring>& name, |
| 140 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 138 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
| 141 fake_server::FakeServer* fake_server_ptr = | 139 fake_server::FakeServer* fake_server_ptr = |
| 142 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 140 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 143 | 141 |
| 144 sync_pb::EntitySpecifics entity_specifics; | 142 sync_pb::EntitySpecifics entity_specifics; |
| 145 DeserializeEntitySpecifics(env, serialized_entity_specifics, | 143 DeserializeEntitySpecifics(env, serialized_entity_specifics, |
| 146 &entity_specifics); | 144 &entity_specifics); |
| 147 | 145 |
| 148 fake_server_ptr->InjectEntity( | 146 fake_server_ptr->InjectEntity( |
| 149 fake_server::UniqueClientEntity::CreateForInjection( | 147 syncer::PersistentUniqueClientEntity::CreateFromEntitySpecifics( |
| 150 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); | 148 base::android::ConvertJavaStringToUTF8(env, name), entity_specifics)); |
| 151 } | 149 } |
| 152 | 150 |
| 153 void FakeServerHelperAndroid::ModifyEntitySpecifics( | 151 void FakeServerHelperAndroid::ModifyEntitySpecifics( |
| 154 JNIEnv* env, | 152 JNIEnv* env, |
| 155 const JavaParamRef<jobject>& obj, | 153 const JavaParamRef<jobject>& obj, |
| 156 jlong fake_server, | 154 jlong fake_server, |
| 157 const JavaParamRef<jstring>& id, | 155 const JavaParamRef<jstring>& id, |
| 158 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { | 156 const JavaParamRef<jbyteArray>& serialized_entity_specifics) { |
| 159 fake_server::FakeServer* fake_server_ptr = | 157 fake_server::FakeServer* fake_server_ptr = |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 void FakeServerHelperAndroid::ModifyBookmarkEntity( | 214 void FakeServerHelperAndroid::ModifyBookmarkEntity( |
| 217 JNIEnv* env, | 215 JNIEnv* env, |
| 218 const JavaParamRef<jobject>& obj, | 216 const JavaParamRef<jobject>& obj, |
| 219 jlong fake_server, | 217 jlong fake_server, |
| 220 const JavaParamRef<jstring>& entity_id, | 218 const JavaParamRef<jstring>& entity_id, |
| 221 const JavaParamRef<jstring>& title, | 219 const JavaParamRef<jstring>& title, |
| 222 const JavaParamRef<jstring>& url, | 220 const JavaParamRef<jstring>& url, |
| 223 const JavaParamRef<jstring>& parent_id) { | 221 const JavaParamRef<jstring>& parent_id) { |
| 224 fake_server::FakeServer* fake_server_ptr = | 222 fake_server::FakeServer* fake_server_ptr = |
| 225 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 223 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 226 std::unique_ptr<fake_server::FakeServerEntity> bookmark = | 224 std::unique_ptr<syncer::LoopbackServerEntity> bookmark = |
| 227 CreateBookmarkEntity(env, title, url, parent_id); | 225 CreateBookmarkEntity(env, title, url, parent_id); |
| 228 sync_pb::SyncEntity proto; | 226 sync_pb::SyncEntity proto; |
| 229 bookmark->SerializeAsProto(&proto); | 227 bookmark->SerializeAsProto(&proto); |
| 230 fake_server_ptr->ModifyBookmarkEntity( | 228 fake_server_ptr->ModifyBookmarkEntity( |
| 231 base::android::ConvertJavaStringToUTF8(env, entity_id), | 229 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 232 base::android::ConvertJavaStringToUTF8(env, parent_id), | 230 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 233 proto.specifics()); | 231 proto.specifics()); |
| 234 } | 232 } |
| 235 | 233 |
| 236 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( | 234 void FakeServerHelperAndroid::ModifyBookmarkFolderEntity( |
| (...skipping 14 matching lines...) Expand all Loading... |
| 251 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 249 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 252 | 250 |
| 253 sync_pb::SyncEntity proto; | 251 sync_pb::SyncEntity proto; |
| 254 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); | 252 bookmark_builder.BuildFolder()->SerializeAsProto(&proto); |
| 255 fake_server_ptr->ModifyBookmarkEntity( | 253 fake_server_ptr->ModifyBookmarkEntity( |
| 256 base::android::ConvertJavaStringToUTF8(env, entity_id), | 254 base::android::ConvertJavaStringToUTF8(env, entity_id), |
| 257 base::android::ConvertJavaStringToUTF8(env, parent_id), | 255 base::android::ConvertJavaStringToUTF8(env, parent_id), |
| 258 proto.specifics()); | 256 proto.specifics()); |
| 259 } | 257 } |
| 260 | 258 |
| 261 std::unique_ptr<fake_server::FakeServerEntity> | 259 std::unique_ptr<syncer::LoopbackServerEntity> |
| 262 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, | 260 FakeServerHelperAndroid::CreateBookmarkEntity(JNIEnv* env, |
| 263 jstring title, | 261 jstring title, |
| 264 jstring url, | 262 jstring url, |
| 265 jstring parent_id) { | 263 jstring parent_id) { |
| 266 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); | 264 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
| 267 GURL gurl = GURL(url_as_string); | 265 GURL gurl = GURL(url_as_string); |
| 268 if (!gurl.is_valid()) { | 266 if (!gurl.is_valid()) { |
| 269 NOTREACHED() << "The given string (" << url_as_string | 267 NOTREACHED() << "The given string (" << url_as_string |
| 270 << ") is not a valid URL."; | 268 << ") is not a valid URL."; |
| 271 } | 269 } |
| 272 | 270 |
| 273 fake_server::EntityBuilderFactory entity_builder_factory; | 271 fake_server::EntityBuilderFactory entity_builder_factory; |
| 274 fake_server::BookmarkEntityBuilder bookmark_builder = | 272 fake_server::BookmarkEntityBuilder bookmark_builder = |
| 275 entity_builder_factory.NewBookmarkEntityBuilder( | 273 entity_builder_factory.NewBookmarkEntityBuilder( |
| 276 base::android::ConvertJavaStringToUTF8(env, title)); | 274 base::android::ConvertJavaStringToUTF8(env, title)); |
| 277 bookmark_builder.SetParentId( | 275 bookmark_builder.SetParentId( |
| 278 base::android::ConvertJavaStringToUTF8(env, parent_id)); | 276 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 279 return bookmark_builder.BuildBookmark(gurl); | 277 return bookmark_builder.BuildBookmark(gurl); |
| 280 } | 278 } |
| 281 | 279 |
| 282 base::android::ScopedJavaLocalRef<jstring> | 280 base::android::ScopedJavaLocalRef<jstring> |
| 283 FakeServerHelperAndroid::GetBookmarkBarFolderId( | 281 FakeServerHelperAndroid::GetBookmarkBarFolderId( |
| 284 JNIEnv* env, | 282 JNIEnv* env, |
| 285 const JavaParamRef<jobject>& obj, | 283 const JavaParamRef<jobject>& obj, |
| 286 jlong fake_server) { | 284 jlong fake_server) { |
| 287 fake_server::FakeServer* fake_server_ptr = | 285 // Rather hard code this here then incur the cost of yet another method. |
| 288 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 286 // It is very unlikely that this will ever change. |
| 289 return base::android::ConvertUTF8ToJavaString( | 287 return base::android::ConvertUTF8ToJavaString(env, "32904_bookmark_bar"); |
| 290 env, fake_server_ptr->GetBookmarkBarFolderId()); | |
| 291 } | 288 } |
| 292 | 289 |
| 293 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, | 290 void FakeServerHelperAndroid::DeleteEntity(JNIEnv* env, |
| 294 const JavaParamRef<jobject>& obj, | 291 const JavaParamRef<jobject>& obj, |
| 295 jlong fake_server, | 292 jlong fake_server, |
| 296 const JavaParamRef<jstring>& id) { | 293 const JavaParamRef<jstring>& id) { |
| 297 fake_server::FakeServer* fake_server_ptr = | 294 fake_server::FakeServer* fake_server_ptr = |
| 298 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 295 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 299 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); | 296 std::string native_id = base::android::ConvertJavaStringToUTF8(env, id); |
| 300 fake_server_ptr->InjectEntity( | 297 fake_server_ptr->InjectEntity( |
| 301 fake_server::TombstoneEntity::Create(native_id, std::string())); | 298 syncer::PersistentTombstoneEntity::CreateNew(native_id, std::string())); |
| 302 } | 299 } |
| 303 | 300 |
| 304 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, | 301 void FakeServerHelperAndroid::ClearServerData(JNIEnv* env, |
| 305 const JavaParamRef<jobject>& obj, | 302 const JavaParamRef<jobject>& obj, |
| 306 jlong fake_server) { | 303 jlong fake_server) { |
| 307 fake_server::FakeServer* fake_server_ptr = | 304 fake_server::FakeServer* fake_server_ptr = |
| 308 reinterpret_cast<fake_server::FakeServer*>(fake_server); | 305 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 309 fake_server_ptr->ClearServerData(); | 306 fake_server_ptr->ClearServerData(); |
| 310 } | 307 } |
| 311 | 308 |
| 312 // static | 309 // static |
| 313 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 310 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
| 314 return RegisterNativesImpl(env); | 311 return RegisterNativesImpl(env); |
| 315 } | 312 } |
| OLD | NEW |